Writing Manuals with Texinfo in Emacs - System Crafters Live!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Music] [Music] [Music] what's everybody Welcome to system crafter live I'm David Wilson and we're back again with another another live stream Friday stream we get together as a community and talk about uh what whatever topic I've come up with uh at the last minute which is always the case but you know we always have a good time regardless of the fact that things can be a little bit uh shooting from the hip um I don't know what happened to my orc present fig but all of a sudden hold on require DW present maybe that's what it is okay there we go cool cool cool we got it working blink off cool great I fixed it now the stream can be uh presented so let me say hello to the folks who are here so far I see over on the YouTube side uh uh Mark rorer rorer I'm sorry uh DJ culu Pablo uh Valentino uh on the IRC side I see glenneth uh redacted Cal py the Sailor Alejandro summer uh Talos Crypt K nice to see you thanks so much for being here today appreciate it hello to Willam boss over on the uh YouTube side and lenoa so uh for those of you who don't know and who might be interested we do have um live chat in the IRC channel uh system Crafters D live on Libra chat uh this is a new thing I started doing a few weeks ago uh mainly cuz I wanted the way to sort of like have our own more self-contained place and the uh chat that you see on the screen right now is coming from IRC I've the twitch integration is not working at the moment I still haven't gotten back to look at that but uh if you want to see your name on the screen definitely Jo join up to the IRC chat uh if you want to do that in an easy way go to system crafters. netlive and there is an embed of the stream and the chat chat preparing your stream oh okay is that like an ad it's an ad it's an ad for twitch on Twitch that seems really uh uh relevant anyway you can put your name in here and it will just send you straight to the IRC through the web page so you don't actually have to um use an IRC client but anyway point being there's a different way to interact with the stream if you want to you don't have to it's just thing you could do ah uh Jacob or yakob I don't know I'm sorry I didn't reply to your comments I saw your many comments about this uh I used Sway and uh wayar and if you go to my configuration repo um on GitHub github.com David will. files there a branch called Geeks home I need to merge that back to master haven't done it yet you go there then you can find those configuration files so sorry for the lack of response summer says hi Davey yeah don't call me that I'm not a Davey uh summer summer says guys I found something out that is David's desktop it's not just a thing he puts on for show he has no icons yeah I don't have any icons like what you're seeing right now aside from like the big text for the slides this is what I look at every day slightly different background but it's the same I didn't realize that was going to be like a huge surprise to people but apparently it is this is not this not a game here I'm not just like pretending to use uh minimal window managers and crap biome configuration this is this is the lifestyle this is the life I live somebody please help me just kidding okay uh Jeff says Tech info for the win uh Al Hunter says still no chat bot yeah I need to go back and look into that I think something's wrong with twitch on the IRC side I just need to try to connect to it and see what's going on hello to Dean and to uh Peter over in the IRC and to fade uh let's see summer says I'm sober I promise totally now I don't believe you I saw the conversation from before all right checking out let's see uh hello to Eric nice to see you and mner icons we don't need no stinking icons that's right that's right we don't need no icons Pablo says you're cheerful today man yeah that's uh the effect of sugar I'm drinking the Sprite it kind of has sugar in it so I think it uh it's give me a little boost okay DJ cthulu says icons how Windows XP yeah I I agree with that uh Peter say says still on un ASP liis Window Manager I don't know I don't know what that translates to hello to Pekka sugar or corn syrup yeah that's true it's it is probably corn syrup in Greece I don't think they use corn syrup quite as much but it could be the case they're using corn syrup if I could read the ingredients I it would probably help hello to bionic Babble fish and and ashras and Bill lots of folks rolling in now sugar and spice and everything nice use the ingredients to create the Power Puff Girls that's not what we're doing here okay we're not crafting uh cartoon superheroes uh in this channel as far as I know all right so um the news for the day not really much news for the day uh I did want to mention that the Hands-On gu scheme for beginners course is a little over a week away for the people who' have signed up for it uh I've received a bunch of um emails with people's sort of availability times and you know it's sort of sort of swaying towards Sunday I think or every Sunday for the four weeks so I'm going to send out an email probably on Monday to uh finalize the weekly meeting time for that I'm really excited I've been writing the material at least for the first week of the course and um I'm I kind of like the way that it's going I'm hoping that it will work because I think it's a good good way to sort of unfold the information so uh we should have a good time I'm looking forward to it it's going to be a lot of fun uh if you this this the first time you've heard about it you can check out this link on assist.net courses handson scheme beginners is basically a four-week course that I'm doing to teach the um basically teach how to write practical programs in guile scheme but with a slant towards people who haven't written scheme before or even programming beginners um so that class is already full it's already booked so the next iteration will happen in March or April if you're interested in uh checking out the next iteration sign up for the newsletter or you can just email me directly and let me know uh some people have been emailing me and let me know that um uh that they want to join the next time so I'll definitely be in contact with the folks who um uh who have contacted me um DJ cthulu brings up something uh useful useful something notable that's right that's the right word for today notable in the chat is which Sasha Chua has started streaming again um she streamed last weekend I joined for a minute there it was fun and she has another one scheduled for Sunday um YouTube Sasha Chua I believe it's on her YouTube channel let's see yep there's one coming up this weekend so uh check out all right so that's the link to that in case you want to subscribe to her Channel and check it out she's talking you know uh exclusively about emac obviously so definitely worth checking out her streams see and uh everybody's giving uh uh High Praise for Sacha in the chat obviously uh recommended um Yer says that Gavin freeor has a video on emac today I didn't know about that oh uh YouTube Gavin freeorn ah cool I'll drop a link to Gavin's video here uh Gavin Freeborn has a new video out about emx thank you to the people who are suggesting things cuz I've been kind of tuned out this week I've been busy on a number of fronts and uh haven't been really following the news all right mner says yeah Gavin do be hot okay okay cuz summer is saying things look people let's not be uh thirsting over people here we're trying to talk about you know really attractive technology like uh Tech info and things of that nature so you know let's let's keep the uh salivation prepared for the actual topic of conversation here it's not going to happen like that I promise uh let's see Dean says whatever happened to uh Nick's browser uh it's still ongoing they you know they're working on their stuff n n n browser browser there it is yeah I keep seeing uh releases being published I haven't tried it again in a while but uh definitely if you want to kind of a modern hackers browser written in common lisp configurable in common lisp definitely check it out I haven't gotten back to it yet obviously I'm still using Firefox okie dokie let's get into it so uh today what I want to do is take a look at the tech info now I'm sure that you're reading the letters on this screen and you're saying why is it not Tech info well um because uh this was I think drives from Tech which is a type setting system Tech type setting system there we go uh created by Donald K and um it actually is supposed to be pronounced like uh Greek letters I think and the X is actually a he which is like a sound like tech tech but you could just call it Tech so anyway point being Tech is a type setting system which was created for I guess type set type setting academic papers and mathematical papers and things of that nature and the tech info system I think uses some of the tech stuff in it right I don't know let's see what the manual says point being uh this is the official documentation format of the ganu project uh used by other projects as well but um what you'll see is that many gu projects use this format uh the nice thing about the format is that you can create info files which get loaded as manuals in emac so I thought it would be kind of interesting to talk about this format and the tools that you can use to generate uh documentation files manuals books Etc in various different formats because it might be something that you could use for your projects um there's also an org mode export back in publish backend for Tech info um which means you can write an org mode file and then have that generate a tech info file and then from that generate the other formats like HTML um PDF ePub info and others so I think um it's worthwhile to check it out I'm actually planning to use it uh for producing some of the uh files for the course that I'm working on and maybe even for books later we'll see that there's a few nice things about it that I think are useful that uh I want to kind of get into the details on but if you go look at any manual like let's say the g Geeks manual um and look at the website for that or even the PDF file or info file any of that stuff uh you'll see effectively what a a manual written with a tech info looks like they're very well organized they have chapters and sections uh they often have um an index for the various topics that are discussed which is useful like a concept index or a programming index which could be super useful if you're talking about um like uh development libr programming libraries Etc because you can have all of your uh symbols uh here and what sections they're referenced in so it can be really useful for creating manuals for uh programming languages programming libraries uh and tools that sort of thing so definitely worthwhile to check this out if you are trying to write some manuals or books Etc and uh the whole system the tech info system is very configurable so if you don't like the way that it looks whenever you export like an HTML page you can customize all that stuff you can make it look however you want so um it does give you the ability to craft the output of your uh book or manual Etc uh Peter says Tech is an underrated green Evergreen Tech yes it is it's it it never disappears I feel like it's like the main format the people who are writing academic papers are using uh all right Pablo says latch was built by Leslie Lamport on top of tech and is extensively used for writing scientific documents yes I mean if if you look at uh many uh papers that have been published or even resumés of people who uh you know went to uh postgraduate programs Etc you'll often see that very familiar Tech font hey Dave uh fade says Tech is pretty much the only way way to types set math well definitely in definitely the only way to types set it and have it look good all right uh Glenn says I write a lot of my documentation in latch yeah I saw you talking about that and uh Jeff says I write most of my docs for clients in lch that sounds cool uh as says if I had to use word for my thesis I would have just dropped out instead yeah because if you try to move like one character or one image just a little bit it just destroys the entire formatting of the document because msword and Google Docs are just plain dumb yeah I mean I really don't understand how people uh can can use tools like that on a daily basis and not pull their hair out having a tool that isn't a you write the content in a text format and then you can generate other formats from it is is the way to go like if you're having to go into a graphical program and fight with the formatting because you have no control over the underlying representation of the document you're writing then you're just pulling your hair out for nothing in my opinion that's always me you know I'm always going on about uh text based formats because that's the only way you can be free I think in the end is to have a format that you can actually fully see and control and not like some binary blob that uh you have to pray that the uh the vendor has provided you with the uh format for that or that someone has cracked it and knows how to handle it bosio says what about exporting or files to Tech info we're going to talk about that at least we're going to try to we'll see all right so we're all on the same page now we know what we're doing cool let's go um first of all let's take a look at the manual and you know let's not do it this way can I get it here here info there we go let's look at it here cuz I don't want to be blinded the whole time so the first thing you want to read in any manual any time is what your rights are for copying the manual just kidding I mean it's obviously good to have uh the free software documentation what is it I don't remember the the the acronym for it but anyway they they have a a GPL like license for documentation which is good to have Tech info in brief documentation system that uses a single source file to produce both online information and printed output now uh some of this terminology I think it's kind of old online information I do not think means on the internet I think it means uh information on the computer that's sort of interactive some of the stuff is you know been around for a while uh Dave says gfdl thank you uh let's see using Tech info you can create a printed document and PDF or postcript format including C chapter sections cross references and indices um you know it's you can't do a lot of the stuff very easily with org mode alone or with markdown alone you can sort of there's tools you can use for processing all this stuff but uh the syntax the things that Tech info provides I think makes it a lot easier to cross reference things in your documents like like I was saying before create indices for the information um I think that's one of the places where it really sh designs uh to create a full book where you don't have to go manually update your index or or chapter listing or whatever it can just do all that for you Dave says Geeks goblins hoot Etc all postprocess the HTML export to make it less horrible yeah okay so uh uh he says I I like writing Tech info well enough but D doesn't need modernizing the HTML export in particular yeah definitely post-processing that would probably be useful or like yeah yeah you probably just need to postprocess it okay so a tech info source file is a plain text file containing text interspersed with AT commands words preceded by an at that tell the tech info processors what to do you'll see a lot of that at something in these document formats almost entirely semantic that is they specify the intended meaning of text in the document rather than physical formatting instructions uh which is nice because you don't want to have a bunch of formatting Gunk uh inside the document uh you can kind of liken that to HTML but HTML you can put a lot of formatting gunk in there but um if you're doing it the right way uh you just give elements like a class or something so that uh Styles can be applied to those but maybe it's not exactly the same I'm no expert in Tech info in fact I haven't looked at it too much the only time I've really like manually added Tech info is when I had to make changes to the Geeks manual for something I was working on um so I'm kind of coming at this from fresh eyes as well uh Dave says says guile has a tech info parser it doesn't support everything but it's a path to using Tech info and having complete control over the export that's cool um I know that uh Andy Wingo uh gu present we we ran across this last week but um basically there's the GU present library that actually can uh take Tech info files and create Nic looking slides I mean they're they're nice enough looking I was looking at the docs for this uh maybe last weekend pretty easy to use so it's uh you know since it's a text format you can do a lot of stuff with it talo says how does is Tech compared to something like markdown it it doesn't look as clean from like an organization perspective in my opinion but I think it's because you need the additional syntax of tech to do some of the things that it's capable of doing but I could be wrong about that all right so emac has a tech info mode that provides various Tech Tech info related features we'll have to check that out too um uh device specifically for the purpose of writing software documentation and manuals if you want to write a good manual for your program Tech info has many features we hope will do make your job easier but it's not intended to be a general purpose formatting program if you're writing you know manuals and books related to technical stuff I think it's going to be useful spell tech info with a capital t uh this first syllable is pronounced like spec not hex the odd pronunciation is derived from the pronunciation of tech pronun pronounce tech tech is if the X were the last sound of the name Bach okay so there you go there's your explanation cool overview of the supported output formats we're going to look at some code in a second uh you can make info files which obviously can be read in emac plain text files that's cool HTML which makes sense DVI device independent binary format uh does anything use that postcript which is also kind of old maybe maybe printer still use that PDF doc book which is relatively common doc book I think uh don't the O'Reilly books use this yeah I think oaly books are written with docbook format so uh you can export a doc book from a tech info um manual which makes sense because there's a lot of gnu manuals that are published by O'Reilly or least things that are G adjacent maybe um and I think that they needed to have docbook output for that and XML if you want to read an XML manual there you go I'm guessing that's for you know processing it somehow Jacob says DVI was required for thesis papers circuit 2002 at my University that's uh horrifying all right let's go back now I have to remember the uh the keys for this mode control info back okay control o cool what is an info file as mentioned above the info format is mostly a plain text transliteration of the tech info Source okay so that's not helping us because we want to look at what tech info looks like okay generally you enter an info file through a node that by convention is named top contains a brief summary of the files purpose blah blah blah blah blah okay we don't really need that just yet uh characteristics of a printed book or manual can be formatted type set as a printed book or manual you need tech to do this it's not a part of the tech info distribution okay so probably I need to install that and I think that the package for that on Geeks can can be quite large I don't know what the minimal version of that is I think I may have seen Cal talking about that in IRC last week all right uh Tech info based book is similar to any other typ set can have a title page copyright page table of contents preface uh could I upscale the font size default font scale scale Tex scale text scale increase boom that better very powerful has many features because a tech info file must be able to present information both in a character only terminal formatting commands are limited okay all right let's go um adding output formats okay we don't really need to go through that writing a tech info file cool let's get into it general rules for writing a tech info file all right so you can escape the at character I don't know what the the right name for that is uh you can do two of them to escape the character if it shows them the document yeah we get all that Whit space following an at command name is optional and usually ignored uh three hyphens in a row is used for punctuation in sentences two hyphens to produce a medium Dash oh it's a long Dash okay so you can do these dash dash dashes if you want to don't use tab characters what kind of savage uses tab characters just kidding uh Tech info mode and you can do emac inserts multiple spaces when you press the Tab Key okay ah cool thanks Cal you need the packages Tech live scheme small and Tech Live tech info Tech info excellent thank you tech tech live is enormous it takes forever to install I was trying to avoid that okay um writing comments I want to see a file um short sample Tech info file okay let's just uh grab all this and put it into a file so if I go to uh projects uh my manual do is IT Tech what is the file format for this or the uh my manual. te let's just call it that I don't really know oh this is L tech tech info mode um find library let's just do a little bit of okay thanks Jeff thanks Jeff all right let's let's fix that I was going to go just look in here Tech info probably could have found it if I wanted to let's get all this uh initial spacing out I don't know why I had to copy it like that here we go okay okay I'll uh go here for name to my manual. info there we go okay so uh we can see that we do have some highlighting for the stuff that is in here uh this manual is for G sample version value version value updated so it looks like we already have some U concept of like a variable or some piece of information that could be changed um I don't see that mentioned anywhere in the document so far so I'm guessing that means that that U variable can be set on the command line somehow which would be nice uh we have a copyright signifier here a copying I guess that means it's like a copying section we'll have to take take a look at what all that uh is for make info programs transforms a tech info source file such as this into an info file or HTML and Tech types sets it into a printed manual cool so you don't need to use Tech until you um want to turn it to a printed manual cool so yeah you you could put an info file or HTML just uh by itself which is great so what I'll try to do is run compile um geek shell Tech info make info is that what it was okay let me drop that in the show notes um Geeks shell Tech info and the manual told me said M oh make info okay let's just go into V term for a second play around with this so um Geeks shell Tech info all right make info help lot of command line arguments translate Tex Tech info docu Source documentation to various other formats by default info files suitable for a reading online with emac or Standalone G info okay program is commonly installed as both make info and tech tech ey to any the behavior is identical it does not depend on the installed name uh just to cruise through these so output format selection you can even put UB 3 here which is cool latch Tech info XML excuse me I should have put that in another folder I think just so we have some um let's go to my manual yes all right so I'm just going to grab all this and move it in here okay so this is where I'm at great so if I go into that CD my manual whoa okay all right so make info my manual what does it do if I don't give it any parameters undefined flag version undefined undefined flag updated all right what what do we have now okay there so there's a my manual. info I believe there's a way to open an info file in emac info what was it I think I have it in my config somewhere info on current buffer okay so check this out I'll go to the my manual.in info file oh okay so I think I that is not normal behavior I think my config actually does that so I added this in my config I'll put that in the show notes i' done this some some time ago so if you just add a hook uh to the autom mode a list for the info format and run info and current buffer then it will just automatically pull up your uh manual like this I don't know if I can use gr is that reload info reload probably not but um just from that sample file alone uh we already have a menu with the first chapter and the index the index does have a couple of entries so this is a starting point we can actually use this to try to experiment and see what we can put into a book uh aleandra says you Arrow your not sure all right so sample manual 1.0 um info okay uh Jeff has a nice thing in the chat uh control U control h will ask you for a file to load as an info file oh is it right thank you you your thank you Alejandra and ashas um yeah it's not working for me probably because I have weird key bindings let me actually control u contr h still not working for me oh yes thank you control U control h i great control U control h i boom info file name excellent thank you Jeff whoa there we go now alternatively these fonts are so jacked up uh key binding and what is that contr h k control u contr h i ay contrl u contrl h no contrl h contrl k contr u contr h i dude what is happening control h k u h where are you going contrl h k control U control okay that's not working yes yes thank you chat I see I'm trying to figure out what the command that this is bound to uh never mind to be prompted for an info file to load summer says is I'm glad to see he gets lost too sometimes I don't feel so inferior when I see DAV David will is lost yeah um well you know sometimes the keys that you expect to do something don't uh don't work uh control you met X info ah that works too control U meta X info cool nice okay back to the file so let's take a look at the what we have in the file oh whoa wrong info uh yes so we're at the top no we're not at the top we're in the index go to top there we go g sample this manual is for G sample I want to see where all this text is coming from in the original document so Tech info I see set title sample manual that's not what the title actually is the top is what that new sample is coming from so uh system Crafters uh IRC manual who knows I'm just making something up right now there's a title page I don't think title page is being used here though unless it's not in directory because directory is all the list of uh of files so I would go back and open the info file again um we need to rerun that obviously for it to show up but if I were to do that um now that I have the command line I need so I'll run it into uh compile Geeks shell Tech info make info my man come on now I don't want the Geeks repple I hate how it does that with the uh tab completion I know why it does that I just don't like it geek shell Tech info makeinfo my manual. techinfo all all right so we we updated it I can go reopen this file and now system cpor IRC manual shows up cool good to go system crafter Secret Diary says Asos I don't know I don't know inin says emac is trying to tell you to give up the VIN bindings yeah I know I'm what can I say I I would love to get done using Vim key bindings but I'm so like acclimated to it that uh I just can't stop myself anymore chis says a Geeks one of my favorite communities of developers really Pleasant to work with you know it's funny cuz I can't tell if that's sarcasm or not I'm guessing it's not summer says even I don't use evil keys well we're not saying that you should use evil keys I'm just saying that you know sometimes we have a little bit of trouble I just don't like control n control p in that whole thing it just feels like uh I'm stretching my fingers out too much just to go up and down all day maybe that's not the right thing okay yeah chy seal says it's not uh ludic U I think that's tobas and generally others are really nice people yeah they are indeed Asha says you have arrow keys uh look what happens whenever I press my arrow keys in the Echo area it says arrow keys are bad you know I don't like using arrow keys I want to use the home row I don't want to move my hand from the home row I just want to sit my hands on the keyboard and just move around like a ninja like a slippery ninja no no inuendos please all right so redacta says are Vim key binding so bad they're may be worth it for RSI reasons well um no they're not bad I prefer the the sort of the basics of the Vim model zie says ever tried god mode yeah I tried it for a while it's it's all right but uh I think that evil mode just does some things for me that uh make it a bit easier all right let me continue moving here so the copyright text did we see that anywhere no so I think that the the copyright text some of this stuff is probably coming out whenever you try to uh export it as a book uh let's export as HTML also just for the sake of comparison um um so make info I'm guessing it's just D dhtml okay some examples here which is very nice and useful texi apparently is another um file extension you can use for Tex info Tech info so make info HTML uh PML okay uh my manual. techinfo all right so now it must have produced an HTML file actually a folder I wonder if I could do the single file um yeah no split no split suppress any splitting of the output generate only one output file I wonder if that's how you make one of those uh combined HTML files I prefer that a little bit because it's better it's easier to search no split there it is all right so um httpd serve directory let's serve the current directory Local Host 8080 my manual. HTML boom wow that's so bright so we get all the same kind of output we have the same kind of section headings Etc chapters still don't see any of that metadata for the document uh let's also check out this one I want to see what this one looks like not found is that right oh underscore HTML there it is okay so this does have separate pages for things it's expecting a uh everything to be in a root path though which is fun uh ASA says uh. Tei is not within the autom mode aist though so you would have to add this okay good point very good point all right so um cool we've seen info thanks ashras for uh for repeating that so anyway the info file no no we don't want the info file why is his prompt a Lambda is there some reason for that just to make you ask questions that's why no because a Lambda is like it's cool looking right you're not a real hacker unless you have a Lambda for your prompt I'm just kidding so all this title page stuff must be coming in um the actual type setting for a book output copyright as well um I'm not seeing some of that unless some of these things are coming from a parameter Jeff says uhoh not a real hacker yes well dollar sign obviously is is what real hackers use because real hackers don't change the defaults they just use whatever the default settings are in any program no matter how much it uh it blinds everyone Ben says such elitism yes that's me I'm I'm such an elitist okay this manual is for good new sample all right let's just go back I want to just take a look okay good new sample version blah blah blah uh let's take a look at the uh command line parameters as well I think we should be able to feed those values in to find the variable VAR as with at set so if I use- D VAR Val um version okay so make info um let's not do HTML again I don't want to be blinded my manual. techinfo I need to do das d-d version 6.6.6 there we go okay so I think that that one got updated correctly let's go back into our info file there's probably not a way to well let's see revert Buton buffer does that work hey it works cool all right so the version does show up so that's how you can set values um and what did it say updated right d updated uh Jan uh 26 2024 I guess that works go back revert buffer yes okay cool that works Auto revert mode so I have Auto revert mode on it just doesn't work for this Trev says David should create a desktop icon for emac like Sumer emx has no thanks fade says what are icons precious smeagle uh doesn't know what an icon is so let's add some stuff to this file okay we've we've got it sort of dialed in a little bit here in fact let's copy this line I'll go drop it into the show notes as an example um generating uh Tech info output files let's take my uh elitist Lambda out of there okay I'm so dismissive you know I'm I'm trying to run a stream here so I have to at least be somewhat entertaining so I have to be a little bit uh you know Snappy okay manuals for G new sample um for people no it's for system Crafters IRC version some okay so this is like the version of the program so the IRC version is 666 summer says sorry sorry no don't be sorry I'm just joking around we're just joking around here it's Friday we're having fun you know this is fun for me I got you know 60 people yelling at me in the chat it's all good um so first chapter so we do have a syntax here and I think the syntax is Meaningful so we see that there is a star and then first chapter capitalized uh colon Colin and then we have some information here I'm pressing tab it doesn't tab it the way that I would expect it to which is a little bit funny whoa um but it seems that this this syntax is Meaningful let's check the info manual for Tech info and see if we can determine what that's all about so contents how to create a table of contents let's just take a look at that real quick um I don't see context I see C and oh contents right here it's a single line and I'm guessing it means just to insert the contents here generates a table of contents in a printed manual including all chapter sections subsections blah blah blah as well as pendes unnumbered chapters okay short or summary table contents that list only the okay all Hunter says I am not yelling at you I know you would never yell at me Alejandro you're nothing but helpful um both content commands should be written on a line by themselves and uh place near the beginning of the file okay cool so that I mean just put at contents and wherever you put it is where the content shows up makes sense uh minimum what a tech info file must have you need to have SL input Tech info I'm guessing that's a latch thing you have SL input sort of like as a command to uh latch so that must be why that's the case uh the context of this file follow is beginning you must end the tech info source with a line like this at bu the buy line at the end the file tells the formatters that the file is ended and to stop formatting okay you'll be dumped at text prompt at the end of the run if you don't put that there so it's it's necessary syntax uh furthermore you will usually provide a tech info file with a title page indices and the like all of which are explained in this manual but the minimum just for short documents are just the two lines at the beginning and one line at the end okay so if you just want to have a little bit of text you can do that but that's kind of uh beside the point okay the header so tells Tech to use the tech info. tech file which tells Tech how to translate the tech info at commands into Tech type setting commands how many times can we say Tech in one sentence all right set title specifies a title for p page headers or Footers okay so that's actually like if you ever seen like a maybe we can do a PDF file um it may not work though without all that extra stuff in there I need to go find that line that cow had pasted I may need to add those in where was that man there's a lot of chat that's good stuff a crap um Tech info where is it scrolling is not working there it is okay so let me um change my shell I'm going to add what is it a tech live scheme small and Tech Live tech info let's see how long this takes I don't exactly know how long that's going to take I think these will help for generating a PDF I want to see what the PDF looks like because it may have this header in the actual output go to the bottom of the buffer here we go um it I wonder I I didn't catch it while it was happening but I wonder if my uh chat display is having issues with arrows or um angle brackets is that what they're called Pablo says I want to see the PDF to and wonder what info goes uh to its metadata yeah uh Peter says is that you can add raw Tech instructions with Slash similar to how you can add raw HDML to markdown probably so yes I believe so how did I know this and David will not know this I don't know what we're talking about are you talking about the actual encoding characters for angle brackets and HTML yes this is exactly the kind of thing that I was hoping to avoid look at all these packages being installed I think this is a lot of like uh plugins for Tech live and maybe fonts Etc so it's a lot of stuff that Geeks is trying to install right now but hopefully it will uh be finished soon yeah Tech live is enormous it is very enormous and apparently this is the minimal version the real full version is much bigger do I have enough hard drive space left for this 17 gigabytes let's see uh yeah okay it's only it's not so big but you know it's it feels kind of big ashra says there no sanitation for the chat you just found that uh it's injectable don't break it please oh no yes this is what happens whenever you write your own bespoke tools are you going to make me turn the chat off I could just hide it Peter says 17 GB should be fine it's not Cod or CS2 or something if it was Cod it would be 500 gigb probably liell says I love emac yes emac is great all right this is taken too long let's let's continue checking some things out while we're waiting Mak sense to include any command that affects document formatting as a whole in the header drop table users there's no database hooked up here it's just some plain old stuff it's isolated it's inside of yeah like the HRS are [Laughter] working this is terrible I'm being hacked in the middle of the stream uh first line of a tech info file start of header formatting a region requires this oh okay yeah we saw this like five times already we don't need to see that anymore this may be useful when emac doesn't detect the file okay we're talking about this little thing here whatever uh start of header doesn't look relevant set file name info file name doesn't really look too relevant set title should precede everything that generates actual output well at least nobody can click that link because it's it's inside it's inside oh God you're going to make me turn this off aren't you this is just going to hell you know what we'll do is that you know for for all you people who want to uh you know become a $5 a month sponsor you can use HTML tags in your stream chat but the rest of you can't Bandit healer says if I need to get David's attention I I don't really see it it's not on my screen it's only on the output of the uh the live the live uh whatever Ryan says worth it um ashra says where's the repo we'll fix it go to uh Cod bg. orgs crafter slve crafter that's the one nobody's watching what I'm talking about we're just watching the chat now all right so in the HTML file produced by make info title serves as the document title okay that makes sense also becomes the default document description in the head part I do want to do that though I want to have there be some benefits to the chat you know some cool things that people can do maybe some people can make bigger text or more flashy text or things of that nature if people have thoughts on that please let me know because I'm planning to do something pretty soon about all that I think it can make the streams a little bit more fun if there's like kind of some some stuff happening ashras don't be giving people ideas dude yes do not give people ideas oh God Jeff don't do that who's going to throw the Marquee out does that work anymore damn this is just a uh an atrocity my whole stream is ruined all right you you are GNA make me turn this off now because uh it could go further and we're not we're not going to we're not going to want to see where things could go when I see things settle down I'll turn it back on all right let's uh let's focus here let's focus up end of header okay this is all well and good but I think it's kind of boring the giant toilet yes isn't that uh emblematic of the situation right now ah I turned it off before summer could put her face in it Charlie says all this hoot n has been filtered from the YouTube comments yeah because it's all happening on IRC my disappoint I'm not disappointed I'm actually I'm I'm I'm thrilled that the chat is having fun uh breaking the stream but you know it has to come to a stop at some point document permissions ensuring your manual is free that's not really a concern at the moment uh first lines title page copyright page creating the title and copyright page pages okay do we have that in our document uh nope not that let's pull this up by the side um title page sample title okay printed it on the back of the title page B says this is a learning opportunity for everyone yes come learn HTML by hacking the system crappers live chat great uh is the okay that's finished now can we run make info Jeff says we need to write a pipeline on cobber that takes a tech info file and turns it into the system C's website no way no way it it's it's crazy enough that I'm using emac to publish the entire website from org files it's I'm I'm kind of like stretching the limits of everything uh by doing that but honestly it's working pretty well and I don't really want to change it so I'm not going to rewrite it to be Tech info now sections of the site could certainly be Tech info if it's like a guide that I want it to be in more of a structured format certainly it would be crazy if I hosted the page on emac yeah it would be crazy I mean if I had if I have an engine X front end that could take all of the traffic from the internet and it could restart the emac instance when it inevitably crashes whenever is trying to you know pretend to be a web server maybe it could work but I don't think it's a good idea make info uh what is this-- PDF yep make info D- PDF uh my manual ow uh I can't actually tab complete my manual don't make me type manual manual. techinfo thank you oh no wonder it didn't work because I'm not in the right folder uh my manual is it is it good or bad what happened is there a file there's a file hey it looks very classic sample title okay so sample title did show up there can I no no no do I have zura we need a a real program for this there we go that's better sample title can I zoom out too all right cool this is a short example of a complete Tech info file cool that looks kind of nice right needs a little bit of tweaking um and the table contents which looks pretty nice first chapter SE section section index is it clickable no that's okay probably not meant to be probably just be printed fate says I mean people run very large we websites on Python and Ruby well yeah that's that is more conceivable than running it on emac emac list is at least as fast as python I don't know is it that would be um pitiful if that was the case uh Cal says the successful PDF compilation looks like an error message yeah I was very confused by that what is the deal let's go back and take a look at that output this is what happens whenever you have programmers writing uh program output it just looks like something that a computer would read which may actually be the case but still like no person can look at this output and be like okay this was successful yeah I'm really I'm really sure that this went well okay output written on my manual.pdf that one's fine but when I see the last line is a log file it makes me think H something didn't go so well here that's a great log what's that about is that what the actual uh Tech content is for the PDF or something anyway uh Echo uh question or dollar question mark yeah it's probably zero yeah for sure summer says what he did in one hour of tech info I can do in 20 seconds in org mode well you can also export org mode to Tech info whoa what happened to the stream okay we're still live that's good result is result today in the wild remove after debugging yes I have so many of these kinds of comments okay so uh let's get back into the manual and see what else is going on all right so we saw the the title page stuff right um that did show up so we know where that goes now copyright notice uh copying permissions heading generation turn on page headings after the title and copyright pages okay that might be useful for some things ouch in title page command must be written at the beginning of a line by itself one for documents printed on each side of the she paper and the other for documents printed on both sides of each sheet double-sided printing like for a book I'm guessing all right there's a lot of like fiddly things in here that we don't really need to know right now so we're just going to jump back up a little bit um we saw that already let's get into the real stuff top node and the body of the document okay here's the thing we were looking for before uh top node is the node in which a reader enters an info manual as such it should contain a very brief description of the manual including the version number uh contents so the top node do not appear in printed output let's take a look at another well let's go to the top of this this document how about that this is what they expect a tech info or an info manual uh top page to look like this manual is for G new tech info uh given the version and the date documentation system that can produce blah blah blah the first part of this master menu lists the major modes in this info document okay so that's short and sweet it's fine yeah we'll see we'll see beninois I saw something fly by okay there's a lot of stuff in here now oh this is because it's the top all right right into Tech info file nodes writing nodes top node so get out of here didn't show [Music] up okay um top section command line containing the title of the document immed immediately after the node top let's put this side by side again all right so top we see top all right here it is top system craft versus IRC manual top section con command line I guess they consider this a a line that is a command so it sounds a little bit wrong helps make info determine the relationships between nodes I don't really hate it it's just that you know it it takes up too much screen space I'm referring to summers's comment that I really hate images icons Emoji the thing is I'm deathly afraid of what the next image is going to be uh on the screen so this is why I am uh being very cautious uh let's see repeat the short description oh really no anyway whatever the menu section menu first chapter so you basically have the node headings Pablo says Tech info will ever forever be related to IRC banter forever in my mind now yes am V says David say is pretty disappointed in the chat today I'm not disappointed I'm just afraid I'm very afraid I I am reasonably afraid redact says we could patch the stream live somebody write code in JS to sanitize a chat message if you could sanitize the messages I would be very happy but I don't think we can reload it during the stream summer says a room full of hackers is not something to tempt yeah no a room full of of anyone who can connect to IRC and not be stopped easily that's the problem so we have the menu section um I wonder if that actually gets set up as let's see my manual info menu yeah so we have both of those menu items showing up in the info menu command in emac which is cool fate says I think it's very funny that David will include an HTML parser I didn't it's a browser like I'm literally this is a an HTML page that's being rendered with a transparent background over the Stream So if you put HTML in there it's going to display HTML so this is my mistake I thought that you know people wouldn't realize that they could use HTML tags so any stream overlay you see on the internet on any other person's stream like all the nice little animated crap that shows up on the screen uh while they're you know doing stuff is usually a browser control that has a transparent background that is rendering things in a web page um you you would be surprised Jeff says just ask chat GPT to create a filter in JS that we can directly import yeah that is possible I'm sure it could do that pretty easily this is the kind of thing is that chat GPT is good for things I don't want to have to write myself and I would otherwise have to just search uh stack Overflow input filtering is key yeah I I'm going to be much more careful now that's for sure unless you pay $5 a month then you can write whatever you want just kidding okay so we see that the menu is here we see now what the menu is for is for displaying a a menu of nodes that uh you can look at what is this master menu Parts oh okay this is their manual not mine yes summer exactly I'm I'm very very worried of anybody posting any kind of weird stuff TR says chill out Satan crafter I got to pay homage to the Dark Lord I'm just kidding I'm not a Satanist I'm just uh having fun so um Master menu is the main menu custom area to include a detailed listing of all the nodes in the document okay that's what we were looking at already sorry folks this stream is going off the rails so let's see what can we do now oh it indented this for me which is nice I don't know if that's a tech info thing or if it's um uh just a normal indentation brosio says chat GPT is a devil shout of the man in the cave well some people are a little afraid of chat gbt which I understand yes HR System crafter HR is definitely going to crack down TCH up is fun it's also scary okay so um how to join all right let's just do that see you summer thanks for breaking the stream you're bad influence I will scold you later okay so first chapter so we're going to have to change these node names now um I'm guessing there's a difference between node and chapter and they can't they're the same thing the text could probably be different my guess is that it's an organizational aspect and then chapters the actual chapter heading so node how to join bigi you're probably right how to join uh let's say chapter first so c Index um we need to figure out what that's about because that's definitely how we're generating uh uh index entries uh benoa it's in uh system crafter SL live- crafter and it's in the well let me just show you code.org system Crafters live crafter it's in the chat. JS file not much there it just needs the um the text that comes through the message text needs to be sanitized and and it could probably it could be sanitized in scheme but it probably is going to be easier to just put a redx right here and sanitize it at the level of the JavaScript um so long as there isn't some other way to cause trouble yeah that's the right that's the right path uh brosio says doesn't node split the output in a granulated way um yes I think that's probably the way that it's deciding how to split the pages up all right so c Index does it say anything about that here that yet uh top node cool uh detail menu detailed node listing so there can be a menu and a detail menu I'm already losing my voice Peter says with red jaxes you're trying to avoid trouble with red jaxes I don't know I guess it makes it worse huh don't need red ja just replace uh the Arrows with less than greater than if it's only that maybe it is only that uh yeah encoding the input for sure all right so um we saw that that's the top node uh let's go up again the body of the document cool c Index cool contains all the text of the document manual is divided into one or more nodes example illustrates a chapter made of three nodes a chapter made of three nodes one for introductory material and two sections oh okay so that those are nodes okay I see so we have a chapter and then there's nodes within the chapter cool concept index for general concepts um so basically these are the concepts that it links to and I wonder if what where the text goes this where I'm oh the text is not the c Index has nothing to do with the text the text is just part of the document but that's like saying that there's a at this location this concept is being referenced I think right ah asra's got a good point best variant would be to only set the text content attribute not the inner HTML attribute okay that's better we we ended up doing a different kind of stream now we're trying to uh diagnose my poorly written JavaScript code okay now that uh the Hacker's gone we can turn the chat back on that we saw it for a second okay so that explains um the c Index we see here all right this is index entry another let's take a look at the info file again I want to take a look at the index index entry another pops right to the first chapter right and basically right around here to the numbered list uh enumerations so you can do a uh numbered list and they have items all right so that makes sense the thing that is not necessarily so great about this format is you have to do these like starting and ending uh commands so enumerate and then we end the enumeration at the end um but that's okay I mean it's it's at least understandable I think but I wonder if it if the emac package can tell you when you don't have the section closed correctly so you don't get confused about what's going on there's first section and second section those are the sub nodes that we saw inside the chapter so that's useful so you know I can already see how this would um translate over from org if you try to export an org file into Tech info uh the you have a chapter which is like the top level heading in the file and then the subheadings become their own nodes that their their own sections is the chat still working on the screen I can't see okay there it is cool cool cool so um now we understand how nodes and sections fit into the picture DJ Kulu says I reckon the author of text was Tech was into graph theory yes hello to MOS masar uh Sly question is there a reason why ganu does not switch to the well-known org format for documentation instead of relying on this old format uh probably because they would have to remake all the uh documentation files that are written with tech info over the years so they're probably just not even thinking about that but it's easy enough for a person to write in work file and then export Tech info from it I don't really know what the quality of it is uh you know one little detour could be useful um get. srht let's check out the denote repo by Pro so there's a manual okay so he actually wrote a texi file or techie file oh is this just the license ah okay so I think that that's probably being pulled in is there an or file yes look at this file so in prots denot read me uh you can see that there's a lot of tech info metadata stuck to the top here there's headers there's descriptions etc etc so it looks like prod is is generating a a techie file from this read me so if you want to see an example of what one could look like and then get turned into an actual manual because if you go look at you know info uh table of contents no info what is it how do you get to the very very top up dear info dear info dear directory okay um denote is not here apparently it's not showing up anyway point being there is an info file that's being generated for denote which is nice okay chapter structuring and we can take a look at some of these other sections too uh aland says it proves that org mode is better than a better Meta Meta format yeah well it's definitely a lot more writable however there is a lot of um kind of junk in here what is this is that an ID for the heading let's where is that in this file okay that's another Link Link Link all right so you have a uh heading with a custom ID I wonder if he's got some code that generates those I don't know where that comes from and uh any links to the front matter have to have this ID so that they can do the proper cross references in the output file I'm guessing it's not so great I don't know if there's a better way to handle that there's also some more metadata that have to be added to certain headings I think copy T Custom ID uh yeah like the index information I don't know what this F index means I'm guessing it's because um all of these symbols are being mentioned here so we have to add all the index entries so uh denote signature let's see how many times that shows up as an F index F index only twice what about uh F index denote date okay maybe it only shows up once like that's that's the canonical place where they're mentioned I don't know fade says if you were doing this a lot you'd have Yas Snippets and maybe some other templates for it yeah definitely you would need stuff like that uh Big Ed says do you know if there's a good way to make to take a web page and turn it into an info page that can be turned into an info page to eventually use as part of the emac manual for example the or syntax website would be nice to have emac itself I don't think there's a way to automatically do it I think you would have to go rewrite it ah yes Cal 2001 says F index for function function index c Index for concept index that sounds right that must be the right thing Okay so we've seen what a a legitimate um or file that gets that exports to info to Tech info and then then to an info file looks like uh also to a web page I think that the uh denote uh emac denote package I think this page is actually generated from the the manual because you can see that has the same table of contents all the structure yada yada there's probably an index at the end uh let's see got to get past all the free documentation license stuff okay there does not seem to be an index but I'm well okay this could be generated from org and not necessarily uh info or Tech info that's possible release date interesting okay so that's considered a macro it's like an orc thing I guess okay all right so um yeah we've got pretty much nothing written so far but we do understand now how to add concept index entries uh enumerated lists nodes subsections uh Jeff says he might have turned off generating the index that's that's possible that's definitely possible and also we say uh print index CP let's do this too uh print index FP maybe and we also want to have a f index uh hello world I don't know let's see what what this does if I go back to term and run this again I'll run it for the normal info output okay so unknown in index FP in print index menu reference to non-existent uh node client use that's good at least they tell us that we missed something so we have node how to join chapter how to join eventually do we end the node uh node node okay so we don't even have to like mention that doesn't seem right does it or is there way to end a chapter I mean the index is here right client oh client to use okay okay unknown index I don't think it blocked on that so let me actually man V term is not playing nice today let's uh revert buffer on that it reverted it let's go up to top what's your problem top top top there it is I'm not seeing the output though maybe it didn't actually output anything yeah there isn't a closed node just the next node or the next chapter or whatever okay cool thank you uh no Wayman says uh you can use meta X compile yes I was using meta X compile before but I had stopped doing it because I was changing the um the shell but I'll switch back to that now so I will use uh compile there we go you see ah exited abnormally so it told us that we actually have a problem here so good good to go check on the uh index situation um info cross references hey I did not want you to do that indices um predefined indices F index okay FN cool that must be what it is so fpn so we have the concept index the function index the keystroke index which is kind of cool if you want to talk about uh key bindings uh program index for the names of programs data type index or type names could be useful variable index for variable names such as Library GL Global variables so there's a few things here that do make sense that you might want to include in your own uh book manual whatever you would like let me check on something real quick here okay nothing critical okay so uh now if I were to go back to the compile menu should be able to rerun that and then go back into our info file uh revert buffer yes cool so now we see that there is uh clients use is showing up that's cool so we got that if we go back to top it's not happy we'll go to the index and then there's another menu here for hello world cool so it does actually uh pull that up I wonder if we need to um make separate sections for the different types of uh indices so there's index let's call it this a concept index I don't know what un oh okay unnumbered that's interesting uh programming index to make it sort of like the uh Geeks manual ah aland says there are macros to add those in org mode when exporting to Tech info that would be good all right let's go back to compile uh non-existing node index okay yeah we've got to go put that back in the node list so um concept index programming index okay it's not let me there we go and back into our info file my manual. info here we go concept index programming index boom okay so it works I don't know why it says line six though that doesn't seem right maybe it's just the way that I placed it in the uh document but uh you know we're making some progress I don't know yeah it keeps saying line six what's that all about let's go back to the main file um c Index c Index F index maybe that's why what if I put put it right there H if it's just above a line maybe it uh is it references the line correctly and if I go back to the info file I can revert to buffer again and then look at the concept index oh okay that's weird don't know why I didn't uh pick the right uh section title node title this time or the previous time that's pretty useful actually um I can already imagine how I would use the concept index for making like a cross reference document so if I want to like teach someone scheme let's say I would want to write a document that had an index because I want people to be able to go look up a certain concept and find like the original place where it gets explained in the document um also programming index for certain functions that uh are referenced um the first time could be useful so I I would certainly use that aspect of this what else can we take a look at in the manual um info so that's the different indices and I'm guessing they all have their own c Index F index V index T index Etc so that's how you would do that uh indexing commands Advanced indexing index entries choose different words for index entries excuse me let's see insertions breaks don't really care too much about that describing functions uniformly okay these are kind of cool actually so the idea is that you want to have a way to have API documentation inside of your uh manual I think that this is getting used in the Geeks manual sum in fact we can go take a look at that uh if I were to go to projects code Geeks where is the is it in Doc yeah geek. techie so if you look in this thing which is uh quite huge it's 47,000 lines which makes sense because it's pretty big um we're looking for def FN def FN okay so procedure inferior for channels channels this is like the parameter list basically so the whole line is the type of thing it is the name of the function and the arguments and then the description um all of these things are maybe references to the parameters that are listed here TTL C directory channels I'm curious to see what the actual manual looks like for this so what was this called uh inferior for channels here it is right here so this is what the output looks like oh boy now uh Glenn is trying to break the stream oh Glen just posted a uh a link okay so it's not like embedding the image so um scheme procedure okay so just italicizes these things it doesn't really do anything extra which I think is kind of weird why would you go to the trouble of uh wrapping these names in VAR ah fine oh and also I want to see what the code snippet looks like I go up a little bit right here there's end lisp okay so at Lis is that like a known thing or is that let's let's paste that into our own manual and see if it comes out so I'm going to go to the uh clients to use section I'm just going to drop that in right there and we'll go compile it okay well it seems to have worked and if I go back to the info file which is ises not open anymore and I go to clients to use okay so it does actually turn it into a code block which is cool um I wonder what the output looks like on the HTML side so if I were to go run compile again and instead use HTML oops HTML no split then um look at the manual HTML all right so it's it's not fancy the Geeks manual does some extra stuff probably in Java script to uh give you the nice highlighting plus the um par and matching so that's not bad I mean it's it's good that you have some uh ways to tweak this stuff if I inspect this let's see lisp pre-formatted example lisp cool all right so you can easily set up CSS to um highlight example class divs a certain way and also you have the language um put here so you can uh key your highlighting Logic on the language that's being put um pre-class lisp pre-formatted yeah cool Trev says you'd have to be a full-time docs writer to learn this stuff or you'd have to just be a writer that wants to uh save yourself some time longer term by using an Arcane format to uh organize your books or documentation TR says I'd rather pump gas well you know there's probably no jobs for that right now so you're better off being a doc riter or a programmer probably not a programmer though too many uh weird layoffs Trevis just joking folks okay cool that was another example to check out definitely if you want to see like a full techie file for a non-trivial program take a look at geek. Tei in the Geeks repo under the doc folder and uh you'll see some stuff oh this is not it though this is it let's just take a look real quick okay start of header set file name okay that makes sense encoding title you can include a version oh I bet money that's being generated by the uh automake stuff and then uh open pgp key use assign tarballs interesting we're setting some variables that get used in the document in various places uh copyrights Okay cool so that that copying section you're just throwing a bunch of copyright names in there that's all the people who have uh updated this file am I in here I don't think I'm in here yet probably not I don't think I don't think I merged the thing that I was editing the manual for oh God I just Tred to search the file and it wants to go over the entire thing are you finished are you finished thank you thank you yeah okay it's not me I'm not in there uh okay so let's take a look I'm I'm just curious like how they've structured things here now that we kind of understand what we're looking at so deer category system administration deer entry so there's uh different sections I want to see how that looks in the um the actual manual itself cuz I don't know what that results in table of contents where's that text system administration nowhere huh uh is that for geeks sorry for info mode uh is this Geeks okay so if I were to go to info top node no that's Tech info who's embedded gly output that's that's uh big Edy in here not not uh uh too bad but yeah it is a little curvy thank you benino for sending a pull request I'll try to merge that for sure I I can't actually show you me putting it in on the stream because I it's on a different computer right at the moment and if I touch that computer the stream will die because of the uh worn out USBC Jacks that whole story I need to test it first no clearly I don't test any of this code that I'm running in production in in the literal stream production because uh we found this issue so why should I test anything that's part of the fun running nodes uh creating chapters we saw that right oh tree structuring whoa back up a manual is like an upside down tree how poetic a manual is a tree that's been cut into tiny little slivers and then uh ink has been put on each of the slivers to provide information okay okay uh top chapter 1 chapter 2 chapter 3 sections cool I mean that's kind of useful I guess uh purposes of example here's how it would be written with explicit node pointers Ben says what do I do in my lunch break I coulde yeah I can I can sympathize with that uh chapter 2 chapter 3 chapter 1 top do you have to do that ah hold up it doesn't seem like that's necessary though right cuz the oh we were talking about sections before weren't we no it's just a node first section second section I mean somehow it knows that hierarch okay actually maybe that's what this I'm very confused ah section it's a node but it's also a section so maybe the section is what makes the system know that it's not actually a real full top node my brain is starting to lose its uh Clarity at this point looking at this documentation all right so apparently you can structure things like this so you basically have to set the the sort of the hierarchy of the nodes chapter 2 chapter one chapter I don't get it okay I I need to look at this node command because I'm not I'm not getting something a node is a region of text that begins at a node command continues until the next node command each node contains the discussion of one topic info readers display one node at a time and provide commands for the user to move to related nodes uh no are used as the targets of cross references with xref uh cmax says it looks like explicit breadcrumbs to me you you might be right about that uh normally you put a no command immediately before each chapter structuring command uh for like for example section subsection you must do this even if you do not intend to format the file for info okay writing a node node node name ah okay so that's what this is for next previous up so this little bar you see up here it says next up Etc uh you explicitly have to put the stuff in to provide the navigation for a node to say what the next node is what the previous node is ETC that way everything gets wired up correctly because it's optional they say however if your Tech info document is hierarchically organized as virtually all are we recommend leaving off all the pointers and letting make info determine them so not necessary especially if you have a hierarchical document format they configure it out themselves asra says next might skip something which is why you usually use space to uh read a manual from start to end yeah there's definitely some tricks to uh using info manuals Pablo says time for some more Sprite yeah to wake up maybe a little bit who knows time to eat some dinner okay uh alternatively you can use the next previous up poters yourself if you do this you may find it useful to use the tech info mode keyboard command control C control C n this command inserts node and a comment line listing oh okay let's check that out so if I'm in the second section contrl c contrl c n that didn't work uh okay this is uh Tech info insert node insert a string node in Tech info buffer insert a comment on the following line indicating the order of arguments to know oh it doesn't do that though I say time to drink uzo mix with espresso I don't know if that's going to taste good it's a little bit uh do people do that oo is a little bit too uh licorice flavored to go with espresso I think that's going to be super bitter okay okay cool we figured that out node names try to pick node names that are informative but but short they're capitalized the same way as section and chapter Titles since they're using cross references it is not desirable to casually change them what's published yes don't be doing casual things when you're editing a reference manual because this is serious business ashr you never know you might have created a new drink it's going to be all the rage somewhere other than grease uh there there are about 60 on YouTube and there's there's some occasional chat messages but uh I need that twitch integration wired back up for that to work and that is not working at the moment okay node line requirements I don't really care too much um first node top command we got through some of that node menu illustration uh subordinate nodes what is a menu menu larger units of text oh did we see that in the Geeks thing no that's category can you have more than one menu I wonder okay let's just get back cross references that's probably useful to look at uh references what cross cross references are for I mean that's pretty obvious you need to link between things in a file uh page [Music] reference was it anchor it said anchors see anchor to Define cross reference locations oh okay xref ah interesting so you can anchor somewhere in a document and then create a cross reference to uh this this specific lo location asra says all those info things I've sent in older streams they are Eternal they will work in 10 years they will keep working after we both logged out for the last time info pages are indestructible they are a force of nature they are inter Eternal well it is nice that you can use the info function to just jump straight to a particular part of a uh an info file I've definitely used that a couple times to send people to somewhere and I learned that from ASAS because ashras uh sent me info links in an early stream and uh it was super helpful and also uh long ago on the Discord ashr was you know pulling out all the info links I see well I mean there's a lot left we could look at there's not a lot of time left to look at it let's just scan through and see if there's anything useful here there's citations in case you want to site uh books or papers Etc URLs parenthetical cross references referring to a manual as a whole Okay cool so that XR is pretty versatile it seems has multiple parameters you can set uh markup I'm curious about the uh key specifying Keys return cool asra says now I can just type autom mode A-list and all fellow ERC users I think uh users also can do that because it just worked for me now that I'm looking at the uh the live stream chat in IRC brosio says Tech info is very very big but latch is huge yeah latch is huge all right so that there's how you set key bindings or you um refer to key bindings variables uh verbatim sequence of characters indicating file names there's a lot of like I said it's semantic so basically you're saying you're you're marking things up in the document not by this is this should be you know uh monospace text what you're saying is this is a file this is an environment variable this is a variable um a a key sequence a keyboard input code Etc so if you're writing um info files you should definitely look into using as many of these as you can because probably the output will be uh better I don't know why it keeps clicking on things oo even one for email addresses I guess it makes it clicky okay marking text we I think we got through that conditionals could be useful if you're trying to show some information only in a god a specific uh output type the problem here is I'm using the mouse which I shouldn't be doing ah tips right in the present tense okay now you're my English Professor write actively we recommend that rather than it is recommended that okay I I kind of agree with that but I tend to sometimes write it in the second form for Better or For Worse write many index entries entries in different ways readers like indices they're helpful and convenient yeah that would be one of the the main points of using Tech info for this because uh getting the indices you know written out is super useful for readers uh write index entries only where a topic is discussed significantly for example it's not useful to index debugging information in a chapter on reporting bugs tell me all those weasel words yes I'm surprised they're not mentioning that already uh let's see insert a blink line before table uh complete phrases are easier to read than uh what write entries in an itemized list as complete sentences or at least as complete phrases incomplete Expressions awkward like this okay WR the prefatory I've not heard that word before sentence or phrase for a multi-item list or table as a complete expression do not write you can set instead write you can set these variables okay case is not here case has given up on us I think that uh he's found uh better places to uh spend his time he's probably just really busy uh let's see Tech info is a name don't not write the ex okay yeah cuz so this is like a style guide basically this is not tips this is a style guide this is like the uh ganu hacker Shunk and white elements of Style Elements of Gano Style uh dju says I could chat on IRC but I'm watching on my tablet and it's a pain yeah I I can see how that' be an issue um but you know having the the live page should make it easier I want to simplify that live page so that things are a bit closer together so if people are on mobile it's uh it's easier to use the IRC chat cuz you know it's nice to use YouTube or twitch as a streaming platform because you know people can easily congregate there but I would prefer for our chat to be in IRC cuz it's uh more flexible but there's problems with doing that Trev says he's a busy dad has a new job or something if he's watching we miss you acdw yes we miss Case Case always likes to give me a hard time which is good cuz I like joking Cal says prefatory adjective serving as an introduction or preface okay cool and IRC is more Libre it it definitely allows you to join however you like plus if you want to use MPV or something else to watch the stream it makes me wonder actually the view count is not considering people who are using MPV to watch the stream so probably there's more people watching than I think it's just that I'm only seeing the viewer count based on the people who are using the app or on the website for YouTube uh I need a better way to deal with that Asha says for the live page Flex Flex box might help there yeah definitely might help uh I think it just needs to be a different layout to make this be a bit easier to to manage fade says what about twitch um uh from what perspective yeah I mean there's something to be said for for picking one platform but if I were to do that it would be YouTube because most of the people who watch are on YouTube and I have videos being posted on YouTube twitch is kind of dying I feel like twitch is not going to be around for much longer uh oo says how is Libra chat's web chat on iPad tablets might be good oh do I see stats from twitch no I there's not really a way for me to do that now the thing I will say about twitch is that um oh not from MPV because if you're getting the stream directly I don't know if they are able to count that I don't know how it actually it it may like extract the actual stream information from the page and then access it directly so they probably don't do viewer counting based on that they're probably only doing it um from the website itself so viewing it on the website or in the app that's my assumption anyway Trev says if you want to be on Twitch you better buy a blowup hot tub I think they've moved on from the hot tub meta it's other stuff now and I don't even want to go into detail on that Ryan says I'm not sure if it was me but twitch quality was worse than YouTube yeah no no no I'm not doing any hot tub emex stream that's not for me you don't want to see that so okay as far as like Tech info is concerned um the format is a little bit funny looking whenever you're writing it but it does make sense and if you've gotten used to it I think it wouldn't be too bad especially if your document isn't quite as large and complex as the Geeks manual so I'm probably going to spend some time writing things in this format just to get used to it and see if it would be useful I mean it's there's still a lot of value to writing orc files and having them uh export to this format we didn't really get to that and I don't want to try to do it now but Dave says okay I guess I'll have to not sure which one that was referring to um but uh it's it's it's a good it's a good program it's a good format it's just you know a little bit alien little bit uh foreign if you're used to things like markdown or oh no uh T says I guess I'll have to stream emac from a hot tub that would be interesting probably your laptop would die before you got too far into it um yeah so org and markdown are probably easier formats to write and read but this is not too bad bad I mean once you kind of understand a little bit of the shape of it it's not too bad cool well um let's see what else do I want to say before we get out of here um I did do a little test stream earlier today uh speaking of twitch a little bit of video gaming I was playing uh Call of Duty because I've been talking about Call of Duty a little bit in the IRC recently if you want to see me uh you know just shoot a bunch of people in a video game you can go look at the recording for that but um I might do a little bit more game streaming on that uh Channel flux harmonic live whoa what did I just do that was the wrong screen come on where are you where is my mouse there it is anyway got to close that um I'll be doing a little bit more of that probably I don't know just for fun who knows uh but if you're interested in seeing that uh subscribe to flux flux harmonic live channel on Twitch I don't think I'll stream that to YouTube also because there's there's really no point it's kind of ephemeral you know hot tub list machine that could work TR says a c stream was good but I was working so I couldn't tell I couldn't full immerse in the explosions and screens yeah there was a lot of explosions because the map is very small and uh uh you just keep getting shot and shooting over and over again which is great bro says use the keyboard yeah I need to be using the keyboard but some things aren't really optimized for that at the moment Dave says we need more flux harmonic yeah um I got some plans to get back into actual flux harmonic uh programming stuff soon I don't know how soon but I'm I would like to start streaming let's say five days a week split between system crafters and flux harmonic and uh just do a variety of things a lot of programming on system crafters for you know projects that are related to this channel you know like the streaming stuff that we were you know talking about joking about I would probably hack on that on stream uh also any Geeks configuration stuff personal configuration um other tools that we might uh be interested in or maybe go further in depth trying to learn something like uh Tech info other things of that nature uh and then for the flux harmonic side I want to get back to a few of the projects that I had been working on which are like um scheme code for generating video thumbnails scheme code for editing videos uh for uh creating uh animations that could be put into a stream um game development lots of stuff so there's a lot of things for Flex harmonic that I want to do uh Al Hunter says don't get burned out no it I don't think I can get burned out necessarily because there's all they're all things I I want to be doing and I don't have time to do them but I might have time soon to do them so we'll see what happens with that but the the goal would be to stream more often I don't know maybe I won't be able to do it five days a week but uh it's a it's a an idea I have to do a little bit of both so we'll see if you if you have any thoughts on that definitely let me know cool well that was it for the day I hope that was useful it was definitely useful for me because I um haven't really looked into the format of tech info very closely but it's nice to see that it's pretty easy to um generate outputs of different kinds we haven't really gotten into how to customize those outputs but um I think that the the manual goes through enough the command line arguments go through enough that you can kind of see where you would go about customizing things I will put the sample document that we worked on in the show notes along with the other things we wrote down in there so far and uh you can take a look at those if you want to and let me know in the comments if you have any other thoughts of things you want to see coming up soon uh I know I have some suggestions I haven't gotten through yet but uh I will get to those eventually but uh anyway thanks a lot folks for being here really appreciate your time and attention and hope you all have a great weekend until next time happy hacking we'll see you on
Info
Channel: System Crafters
Views: 2,089
Rating: undefined out of 5
Keywords:
Id: hQXmLbNIbWA
Channel Id: undefined
Length: 119min 35sec (7175 seconds)
Published: Sat Jan 27 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.