Introduction


  • This will be a hands on workshop

Jargon Busting


  • It helps to share what you know and don’t know about software development and data science 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 informtion, rendered content (or built) is what is for the reader, output by a build process

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


  • GitHub Pages offer an automated way to create a website that is version controlled and accessible for collaboration
  • Collaborating on a GitHub Pages website uses the same Git/GitHub workflow you learned for collaborating via a GitHub repository