If you're a programmer, you're accustomed
-to putting a README file at the root of -
-your project. +00:00:10.800 --> 00:00:13.759 +to putting a README file at the root of your project.
It's usually a Markdown file @@ -25,14 +22,13 @@ It's usually a Markdown file But if you use an Org Mode file instead,
-you can take advantage of the -great features +you can take advantage of the great features
-that Org Mode provides, including +00:00:22.560 --> 00:00:24.898 +that Org Mode provides,
-literate programming, +00:00:24.898 --> 00:00:25.920 +including literate programming,
which lets you generate your source code @@ -46,20 +42,21 @@ I want to walk you through a little bit
of what this looks like.
-When you start a project, especially if +00:00:37.120 --> 00:00:39.607 +When you start a project,
-if you use something like Github you +00:00:39.607 --> 00:00:41.179 +especially if you use something like Github
-begin with an automatically generated +00:00:41.179 --> 00:00:45.913 +you begin with an automatically generated +README.md file.
-README.md file. So just delete that +00:00:45.913 --> 00:00:47.039 +So just delete that
-and instead create a README.org file. +and instead, create a README.org file.
Starting with an empty Org file, @@ -67,23 +64,21 @@ Starting with an empty Org file,
like you see here, you can begin
-by recording important information about -
-your project goals. You can add diagrams, +00:00:54.800 --> 00:00:56.295 +by recording important information
-code snippets, to-do lists, time tracking +00:00:56.295 --> 00:00:59.440 +about your project goals. You can add diagrams,
-and much more. +00:00:59.440 --> 00:01:03.520 +code snippets, to-do lists, time +tracking, and much more.
I'm going to drop in some documentation
-that that I've written about +that I've written about
about my project here, so you can see @@ -91,20 +86,20 @@ about my project here, so you can see
what this would look like.
-As you can see, I have a title, and a +00:01:15.280 --> 00:01:17.870 +As you can see, I have a title,
-description, and then a subsection +00:01:17.870 --> 00:01:20.320 +and a description, and then a subsection
as well as some code snippets.
-You can see that Org Mode does a great +00:01:23.840 --> 00:01:25.210 +You can see that Org Mode does
-job of formatting lists, +00:01:25.210 --> 00:01:28.240 +a great job of formatting lists,
code sections, diagrams, and so forth. @@ -113,34 +108,32 @@ code sections, diagrams, and so forth. It's as good or better than Markdown,
-but when you use it in Emacs +but when you use it in Emacs,
you can do a lot more.
+00:01:38.880 --> 00:01:43.360 For example, you can dynamically create -
diagrams using Graphviz
-from a text description. If you go to -
-this source block here +00:01:43.360 --> 00:01:45.553 +from a text description.
-and hit C-c C-c, you'll see +00:01:45.553 --> 00:01:48.266 +If you go to this source block here +and hit C-c C-c,
-that we generate a diagram dynamically +00:01:48.266 --> 00:01:52.979 +you'll see that we generate a diagram +dynamically.
+00:01:55.439 --> 00:02:00.519 You can run these code snippets in +place
-place and get the results +00:02:00.519 --> 00:02:00.799 +and get the results
to show up inside of your file, @@ -148,17 +141,11 @@ to show up inside of your file,
which is a really powerful paradigm.
-But most importantly, for +00:02:08.000 --> 00:02:14.800 +But most importantly, for my purposes here,
-my purposes here, -
-Org Mode provides you the ability to do -
-literate programming. +00:02:14.800 --> 00:02:19.520 +Org Mode provides you the ability to do literate programming.
So take a quick look at this diagram @@ -166,53 +153,46 @@ So take a quick look at this diagram
that I generated here.
-It gives you a quick overview of what -
-I mean by literate programming -
-and how I'm using it. You can see +00:02:23.200 --> 00:02:25.912 +It gives you a quick overview
-that we start with a README.org file -on top. +00:02:25.912 --> 00:02:27.520 +of what I mean by literate programming
-At this point, we can do one of two -things: +00:02:27.520 --> 00:02:30.973 +and how I'm using it.
-tangle or weave. Tangle is used to +00:02:30.973 --> 00:02:34.720 +You can see that we start with a README.org file on top.
-describe the process of +00:02:34.720 --> 00:02:40.501 +At this point, we can do one of two things: +tangle or weave.
-generating source code, while weave +00:02:40.501 --> 00:02:43.611 +Tangle is used to describe the process
-is the process of generating +00:02:43.611 --> 00:02:45.463 +of generating source code,
-documentation. These are terms that +00:02:45.463 --> 00:02:48.495 +while weave is the process of generating +documentation.
-Donald Knuth used. +00:02:48.495 --> 00:02:51.920 +These are terms that Donald Knuth used.
-He's the one that came up with the +00:02:51.920 --> 00:02:53.388 +He's the one that came up
-idea of literate programming +00:02:53.388 --> 00:02:55.519 +with the idea of literate programming
in the early 1980s.
-But this is really all that there is to -it. +But this is really all that there is to it.
You just... You are simply @@ -220,32 +200,26 @@ You just... You are simply
using a literate source file,
-in this case the README.org, to generate +00:03:07.840 --> 00:03:10.575 +in this case the README.org,
-the rest of the project files, basically. +00:03:10.575 --> 00:03:17.120 +to generate the rest of the project files, basically.
-So let's dig in to the details of how -this works. +So let's dig in to the details of how this works.
-I hope you... Hopefully you'll see how -
-cool this is. +00:03:22.640 --> 00:03:26.159 +I hope you... Hopefully you'll see how cool this is.
So returning to the file here.
-Let's assume we have enough -documentation now, +Let's assume we have enough documentation now,
-that we want to get started -coding. +that we want to get started coding.
So maybe we'll just start with @@ -265,46 +239,38 @@ Let's get started with a code block.
So I created a little snippet to help me
-add a source block for +00:03:49.519 --> 00:03:51.326 +add a source block
-literate programming quickly. +00:03:51.326 --> 00:03:53.599 +for literate programming quickly.
There's not much to it,
-but there are some important annotations -here. -
-Excuse me. There's a property +but there are some important annotations here.
-called :tangle +00:04:01.599 --> 00:04:05.200 +Excuse me. There's a property called :tangle
and that takes a value of a file name.
-Then there's also a :noweb property -
-called no-export. +00:04:09.360 --> 00:04:18.880 +Then there's also a :noweb property called no-export.
Basically, the noexport--we'll explain
-that a little bit more later +that a little bit more later...
It has to do with how
-the tangling is done in the tangle -step +the tangling is done in the tangle step
versus the weave step. @@ -312,29 +278,27 @@ versus the weave step.
I'll explain that a little bit more.
+00:04:40.212 --> 00:04:46.719 But the tangle field just simply tells +Emacs
-Emacs where it needs to generate the -
-main.go file and where it needs to put +00:04:46.719 --> 00:04:48.320 +where it needs to generate the
-it on the file system. +00:04:48.320 --> 00:04:49.951 +main.go file
-You'll notice that we we're +00:04:49.951 --> 00:04:55.360 +and where it needs to put it on the file system.
-going to use Go. +00:04:55.360 --> 00:04:59.040 +You'll notice that we're going to use Go.
-That's just the language that I've been +00:04:59.040 --> 00:05:01.578 +That's just the language
-using the most lately, +00:05:01.578 --> 00:05:03.379 +that I've been using the most lately,
but this programming strategy @@ -348,11 +312,12 @@ You could use any language
or any mix of languages.
+00:05:13.145 --> 00:05:15.377 You could create some files +in Python,
-in Python, some files in Go, +00:05:15.377 --> 00:05:16.560 +some files in Go,
some files in Lisp, @@ -361,8 +326,7 @@ some files in Lisp, or whatever you want.
-Let's create just a little -Hello World. +Let's create just a little Hello World.
Let's use another snippet here @@ -370,33 +334,22 @@ Let's use another snippet here
to generate the basics of a Go program.
-I'm just going to print +00:05:36.560 --> 00:05:44.960 +I'm just going to print Hello World.
-Hello World. +00:05:44.960 --> 00:05:52.779 +So that's... And then let's make it a section in our file.
-So that's... And then +00:05:52.779 --> 00:05:56.400 +So now you can see, we've got this snippet.
-let's make it a section in our file. -
-So now you can see, we've got -
-this snippet. -
+00:05:56.400 --> 00:06:01.600 When you have a source block in -
-inside of Org Mode, you can easily pop +inside of Org Mode,
-into a language-specific buffer -by typing +you can easily pop into a +language-specific buffer by typing
C-c ' (single quote). -- cgit v1.2.3