GitHub lets you create digital content easily as it is using Markdown. That really fits for digital content writers, even for non-code.
When I'm doing tutorial or lesson content, I have my personal workflow, so that I am always efficient. Take note, what I am referring to is not a software development workflow, that's a very different one.
The very first rule is that everything should be online, even the drafts of my content, so that I can access it everywhere. The only downside is that, if there is no Internet connection, I really don't have access to my online content unless I have an offline backup.
GitHub really is there as my active site development more than Google Docs or Microsoft Word. I have covered this in one of my posts:
https://github.com/xdvrx1/github-pages-tutorial
The most important catch is that you want your content as a plaintext format and let it be rendered for different formats for distribution. Plus, when you put your content in GitHub, it is really efficient tracking the version of your file particularly when others are collaborating with your work. But even if I'm just alone, it's really the best for me. Other writers believe that too.
I tested several workflows of my own and I want it to be simple as possible. I tried using GitHub Desktop and VS Code or GitHub Gist as additional tools, but it's not that simple. Don't get me wrong, they are great technologies but the way I want it is as simple as possible. So, this workflow that I am adhering too, I am using this whenever I am creating digital content for students.
Firstly, I will start creating
a repo here in GitHub and set it
to private
first. For me, for every
content is a separate repo, no
matter how short the content is.
I will be putting all my
initial thoughts.
This is still a draft even though
I am using the main
branch because
this is still private. The
default README.md
is the actual page
and it should be the only
one for my content. If the
tutorial or lesson is very long,
it can simple have a TOC with
hyperlinks.
Then, say, I feel that I'm done with the content, this time, of course, I need to proofread, for spelling and grammar and the structure of the content itself. I found it out that the simplest way of doing this is to use Google Docs. I will copy and paste the rendered content in Google Docs. Don't get me wrong, I am not using Google Docs for content creation, it is just to check particularly for spelling. Also, you will see the structure of your content easily there. The only downside is that embedded pictures will not be allowed in Google Docs but this does no matter, because your focus is content structure, spelling and grammar.
After this, it is now ready. I'll be making my content public. I achieved several things here, my content can be rendered in different formats like HTML just like the page generated by GitHub Pages or use GitHub Gist for embedding on another site or PDF for printing or downloading while the repo in GitHub will still remain the development site for updates.
Now, when there is an update, this
is the time I use branches
because the main
branch is
always deployable. Even if I'm
developing alone, this is very
important. Then, I'll push the changes
in the main
function when it's
ready.
So, there you have it. To summarize:
-
Create a private repo. Consider it as a draft. And then, the final step is to proofread using Google Docs for spelling and grammar.
-
Once all checks are done, make it public. This is already the final version. This can be rendered in several formats for distribution.
-
When there is an update, use branches because the
main
branch is always the deployable branch. Then just merge the branch into main by pull request when it's ready.