Introduction


  • This will be a hands on workshop

Jargon Busting


  • It helps to share what you know and don’t know about open research and open software jargon.

Hello Open Source


  • When editing fils in GitHub.com, we have to commit to save changes
  • A commit is a snapshot that we can go back to
  • Markup languages use special formatting to label the content and indicate styling in addition to the content in the file, examples include Markdown, ReStructured Text (out of scope), XML, and HTML
  • Markdown is a a style of markup that is human and machine readable, it is rendered as HTML
  • HTML is the formt of markup that web browsers use
  • Source content is what we edit and may content developer information, rendered content (or built) is what is for the reader, output by a build process
  • GitHub Pages offer a free host for a website that is rendered from simple text
  • Collaboration and version control rules and workflows can be used with GitHub Pages as we shall see in future episodes

Getting Ready for the Next step


  • git is an open source version control system
  • bash is an open source shell program (interpreter to chat with)
  • myst is a program the builds markdown to html and javascript

What is the shell?


  • The shell is powerful
  • The shell can be used to copy, move, and combine multiple files

Navigating the filesystem


  • Knowing where you are in your directory structure is key to working with the shell

Working with files and directories


  • The shell can be used to copy, move, and combine multiple files

Automating the tedious with loops


  • Looping is the foundation for working smarter with the command line
  • Loops help us to do the same (or similar) things to a bunch of items

Counting and mining with the shell


  • The shell can be used to count elements of documents
  • The shell can be used to search for patterns within files
  • Commands can be used to count and mine any number of files
  • Commands and flags can be combined to build complex queries specific to your work

Working with free text


  • Shell tools can be combined to powerful effect

What is Git/GitHub?


  • Version control helps track changes to files and projects
  • Git and GitHub are not the same

Getting started with Git


  • When you initialize a Git repository in a directory, Git starts tracking the changes you make inside that directory.
  • This tracking creates a history of the way the files have changed over time.
  • Git uses a two-step process to record changes to your files. Changes to files must first be added to the staging area, then committed to the Git repository.

Sharing your work


  • remote repositories on GitHub help you collaborate and share your work
  • push is a Git verb for sending changes from the local repository to a remote repository
  • pull is a Git verb for bringing changes from a remote repository to the local repository
  • diff is a Git verb for viewing the difference between an edited file and the file’s most recent commit

Review


  • the language of Git can be confusing and intimidating
  • rephrasing commands and drawing concepts can clarify Git’s workflow

GitHub Pages


What-is-myst


  • Myst is a tool that builds interactive webpages from markdown files
  • To built a webpage using myst we simply start myst on the terminal
  • Myst requires the file myst.md to run and build a webpage

formatting-with-frontmatter


dynamic-content


publishing-myst


  • Branches are used to keep the main branch safe and for collaboration
  • GitHub Pages can publish myst-built webpages if directed to the HTML file
  • Myst provides us with an easy way to use GH Pages

closing-next-steps


  • Open research is possible and beneficial to all disciplines
  • Computational literacy helps you automate tasks
  • git keeps track of different versions of your work; any sort of text, not only code
  • myst builds websites (HTML and js) from markdown