Compare commits
	
		
			No commits in common. "98125772f3f8227ee12402d762a5ace4a14757ed" and "b9bd04bb1e38d726f8358c79899c93306e757743" have entirely different histories.
		
	
	
		
			98125772f3
			...
			b9bd04bb1e
		
	
		| 
						 | 
					@ -1,33 +0,0 @@
 | 
				
			||||||
#!/usr/bin/python3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import re
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
INPUT = "readme.md"
 | 
					 | 
				
			||||||
OUTPUT = "todo_over_the_break.md"
 | 
					 | 
				
			||||||
URL = "https://gitea.86thumbs.net/waldek/linux_introduction/src/branch/master/"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if __name__ == "__main__":
 | 
					 | 
				
			||||||
    with open(INPUT, "r") as fp:
 | 
					 | 
				
			||||||
        data = []
 | 
					 | 
				
			||||||
        for line in fp.readlines():
 | 
					 | 
				
			||||||
            stripped = line.strip()
 | 
					 | 
				
			||||||
            stripped = stripped.replace("*", "")
 | 
					 | 
				
			||||||
            stripped = stripped.strip()
 | 
					 | 
				
			||||||
            if "(./" in stripped:
 | 
					 | 
				
			||||||
                topic = stripped[stripped.find("[")+1:stripped.find("]")]
 | 
					 | 
				
			||||||
                url = stripped.replace("(./", "({}".format(URL))
 | 
					 | 
				
			||||||
                url = re.sub("\[.*\]", "[Link]", url)
 | 
					 | 
				
			||||||
                url = " * {} to course documentation".format(url)
 | 
					 | 
				
			||||||
                header = "# {}".format(topic)
 | 
					 | 
				
			||||||
                notes = "## Student notes:"
 | 
					 | 
				
			||||||
                
 | 
					 | 
				
			||||||
                data.append(header)
 | 
					 | 
				
			||||||
                data.append(url)
 | 
					 | 
				
			||||||
                data.append(notes)
 | 
					 | 
				
			||||||
                data.append("TODO")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    with open(OUTPUT, "w") as fp:
 | 
					 | 
				
			||||||
        for line in data:
 | 
					 | 
				
			||||||
            fp.write("{}\n\n".format(line))
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,3 @@
 | 
				
			||||||
#!/usr/bin/python3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import subprocess
 | 
					import subprocess
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,8 +8,7 @@ INPUT = [
 | 
				
			||||||
        "essential/introduction_to_linux.md",
 | 
					        "essential/introduction_to_linux.md",
 | 
				
			||||||
        "essential/introduction_to_the_commandline.md",
 | 
					        "essential/introduction_to_the_commandline.md",
 | 
				
			||||||
        "essential/introduction_to_administration.md",
 | 
					        "essential/introduction_to_administration.md",
 | 
				
			||||||
        "advanced/learning_bash_scripting.md",
 | 
					        "advanced/learning_bash_scripting.md"
 | 
				
			||||||
        "advanced/learning_shells.md",
 | 
					 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
CMD = "gh-md-toc"
 | 
					CMD = "gh-md-toc"
 | 
				
			||||||
FILTER = "(#"
 | 
					FILTER = "(#"
 | 
				
			||||||
| 
						 | 
					@ -20,16 +17,14 @@ TITLE = "Table of Contents"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == "__main__":
 | 
					if __name__ == "__main__":
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        p = subprocess.Popen(CMD.split(), stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 | 
					        p = subprocess.Popen([CMD], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 | 
				
			||||||
        output, err = p.communicate()
 | 
					        output, err = p.communicate()
 | 
				
			||||||
    except Exception as e:
 | 
					    except Exception as e:
 | 
				
			||||||
        print("please install {}".format(LINK))
 | 
					        print("please install {}".format(LINK))
 | 
				
			||||||
        exit()
 | 
					        exit()
 | 
				
			||||||
    CONTENT = []
 | 
					    CONTENT = []
 | 
				
			||||||
    for f in INPUT:
 | 
					    for f in INPUT:
 | 
				
			||||||
        cmd = CMD.split()
 | 
					        p = subprocess.Popen([CMD, f], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 | 
				
			||||||
        cmd.append(f)
 | 
					 | 
				
			||||||
        p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 | 
					 | 
				
			||||||
        output, err = p.communicate()
 | 
					        output, err = p.communicate()
 | 
				
			||||||
        output = output.decode().split("\n")
 | 
					        output = output.decode().split("\n")
 | 
				
			||||||
        for line in output:
 | 
					        for line in output:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										74
									
								
								readme.md
								
								
								
								
							
							
						
						
									
										74
									
								
								readme.md
								
								
								
								
							| 
						 | 
					@ -2,7 +2,6 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Welcome!
 | 
					Welcome!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
Essential: introduction to linux
 | 
					Essential: introduction to linux
 | 
				
			||||||
=================
 | 
					=================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,7 +23,7 @@ Essential: introduction to linux
 | 
				
			||||||
* [Exercise](./essential/introduction_to_linux.md#exercise-1)
 | 
					* [Exercise](./essential/introduction_to_linux.md#exercise-1)
 | 
				
			||||||
* [Guest additions](./essential/introduction_to_linux.md#guest-additions)
 | 
					* [Guest additions](./essential/introduction_to_linux.md#guest-additions)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
 | 
					<!-- Created by https://github.com/ekalinin/github-markdown-toc -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Essential: introduction to the commandline
 | 
					Essential: introduction to the commandline
 | 
				
			||||||
| 
						 | 
					@ -60,27 +59,18 @@ Essential: introduction to the commandline
 | 
				
			||||||
      * [The hard way](./essential/introduction_to_the_commandline.md#the-hard-way)
 | 
					      * [The hard way](./essential/introduction_to_the_commandline.md#the-hard-way)
 | 
				
			||||||
* [Exercise](./essential/introduction_to_the_commandline.md#exercise-5)
 | 
					* [Exercise](./essential/introduction_to_the_commandline.md#exercise-5)
 | 
				
			||||||
* [Searching inside files](./essential/introduction_to_the_commandline.md#searching-inside-files)
 | 
					* [Searching inside files](./essential/introduction_to_the_commandline.md#searching-inside-files)
 | 
				
			||||||
   * [Wild cards and regular expressions](./essential/introduction_to_the_commandline.md#wild-cards-and-regular-expressions)
 | 
					   * [Wildcards and regular expressions](./essential/introduction_to_the_commandline.md#wildcards-and-regular-expressions)
 | 
				
			||||||
      * [Wild cards](./essential/introduction_to_the_commandline.md#wild-cards)
 | 
					      * [Wildcards](./essential/introduction_to_the_commandline.md#wildcards)
 | 
				
			||||||
* [Exercise](./essential/introduction_to_the_commandline.md#exercise-6)
 | 
					* [Exercise](./essential/introduction_to_the_commandline.md#exercise-6)
 | 
				
			||||||
* [Exercise](./essential/introduction_to_the_commandline.md#exercise-7)
 | 
					* [Exercise](./essential/introduction_to_the_commandline.md#exercise-7)
 | 
				
			||||||
      * [Regular expressions](./essential/introduction_to_the_commandline.md#regular-expressions)
 | 
					      * [Regular expressions](./essential/introduction_to_the_commandline.md#regular-expressions)
 | 
				
			||||||
* [Pipes and redirects](./essential/introduction_to_the_commandline.md#pipes-and-redirects)
 | 
					* [Pipes and redirects](./essential/introduction_to_the_commandline.md#pipes-and-redirects)
 | 
				
			||||||
   * [Redirecting](./essential/introduction_to_the_commandline.md#redirecting)
 | 
					   * [Redirecting](./essential/introduction_to_the_commandline.md#redirecting)
 | 
				
			||||||
      * [Input redirection](./essential/introduction_to_the_commandline.md#input-redirection)
 | 
					 | 
				
			||||||
   * [Piping](./essential/introduction_to_the_commandline.md#piping)
 | 
					   * [Piping](./essential/introduction_to_the_commandline.md#piping)
 | 
				
			||||||
* [Text manipulation](./essential/introduction_to_the_commandline.md#text-manipulation)
 | 
					* [Text manipulation](./essential/introduction_to_the_commandline.md#text-manipulation)
 | 
				
			||||||
* [Ideas](./essential/introduction_to_the_commandline.md#ideas)
 | 
					* [Ideas](./essential/introduction_to_the_commandline.md#ideas)
 | 
				
			||||||
* [Exercises](./essential/introduction_to_the_commandline.md#exercises)
 | 
					 | 
				
			||||||
   * [Mini exercise 1](./essential/introduction_to_the_commandline.md#mini-exercise-1)
 | 
					 | 
				
			||||||
   * [Mini exercise 2](./essential/introduction_to_the_commandline.md#mini-exercise-2)
 | 
					 | 
				
			||||||
   * [Mini exercise 3](./essential/introduction_to_the_commandline.md#mini-exercise-3)
 | 
					 | 
				
			||||||
   * [Mini exercise 4](./essential/introduction_to_the_commandline.md#mini-exercise-4)
 | 
					 | 
				
			||||||
   * [Mini exercise 5](./essential/introduction_to_the_commandline.md#mini-exercise-5)
 | 
					 | 
				
			||||||
   * [Mini exercise 6](./essential/introduction_to_the_commandline.md#mini-exercise-6)
 | 
					 | 
				
			||||||
* [Ideas](./essential/introduction_to_the_commandline.md#ideas-1)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
 | 
					<!-- Created by https://github.com/ekalinin/github-markdown-toc -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Essential: introduction to administration
 | 
					Essential: introduction to administration
 | 
				
			||||||
| 
						 | 
					@ -102,7 +92,7 @@ Essential: introduction to administration
 | 
				
			||||||
   * [SSH and SFTP](./essential/introduction_to_administration.md#ssh-and-sftp)
 | 
					   * [SSH and SFTP](./essential/introduction_to_administration.md#ssh-and-sftp)
 | 
				
			||||||
* [Bandit](./essential/introduction_to_administration.md#bandit)
 | 
					* [Bandit](./essential/introduction_to_administration.md#bandit)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
 | 
					<!-- Created by https://github.com/ekalinin/github-markdown-toc -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Advanced: learning bash scripting
 | 
					Advanced: learning bash scripting
 | 
				
			||||||
| 
						 | 
					@ -115,8 +105,9 @@ Advanced: learning bash scripting
 | 
				
			||||||
   * [With read](./advanced/learning_bash_scripting.md#with-read)
 | 
					   * [With read](./advanced/learning_bash_scripting.md#with-read)
 | 
				
			||||||
* [Coding challenge - Secret input](./advanced/learning_bash_scripting.md#coding-challenge---secret-input)
 | 
					* [Coding challenge - Secret input](./advanced/learning_bash_scripting.md#coding-challenge---secret-input)
 | 
				
			||||||
      * [read multiple variables](./advanced/learning_bash_scripting.md#read-multiple-variables)
 | 
					      * [read multiple variables](./advanced/learning_bash_scripting.md#read-multiple-variables)
 | 
				
			||||||
         * [Exercise - unpack values](./advanced/learning_bash_scripting.md#exercise---unpack-values)
 | 
					 | 
				
			||||||
   * [With command line arguments](./advanced/learning_bash_scripting.md#with-command-line-arguments)
 | 
					   * [With command line arguments](./advanced/learning_bash_scripting.md#with-command-line-arguments)
 | 
				
			||||||
 | 
					   * [From a file](./advanced/learning_bash_scripting.md#from-a-file)
 | 
				
			||||||
 | 
					   * [From a pipe](./advanced/learning_bash_scripting.md#from-a-pipe)
 | 
				
			||||||
* [Coding Challenge - output the exact output below](./advanced/learning_bash_scripting.md#coding-challenge---output-the-exact-output-below)
 | 
					* [Coding Challenge - output the exact output below](./advanced/learning_bash_scripting.md#coding-challenge---output-the-exact-output-below)
 | 
				
			||||||
* [More math!](./advanced/learning_bash_scripting.md#more-math)
 | 
					* [More math!](./advanced/learning_bash_scripting.md#more-math)
 | 
				
			||||||
   * [The let keyword](./advanced/learning_bash_scripting.md#the-let-keyword)
 | 
					   * [The let keyword](./advanced/learning_bash_scripting.md#the-let-keyword)
 | 
				
			||||||
| 
						 | 
					@ -125,64 +116,17 @@ Advanced: learning bash scripting
 | 
				
			||||||
   * [Variable length](./advanced/learning_bash_scripting.md#variable-length)
 | 
					   * [Variable length](./advanced/learning_bash_scripting.md#variable-length)
 | 
				
			||||||
* [If Statements - How to make decisions within your Bash script.](./advanced/learning_bash_scripting.md#if-statements---how-to-make-decisions-within-your-bash-script)
 | 
					* [If Statements - How to make decisions within your Bash script.](./advanced/learning_bash_scripting.md#if-statements---how-to-make-decisions-within-your-bash-script)
 | 
				
			||||||
   * [How does it work behind the scenes?](./advanced/learning_bash_scripting.md#how-does-it-work-behind-the-scenes)
 | 
					   * [How does it work behind the scenes?](./advanced/learning_bash_scripting.md#how-does-it-work-behind-the-scenes)
 | 
				
			||||||
   * [exit status](./advanced/learning_bash_scripting.md#exit-status)
 | 
					 | 
				
			||||||
   * [test](./advanced/learning_bash_scripting.md#test)
 | 
					 | 
				
			||||||
   * [Nested if statements](./advanced/learning_bash_scripting.md#nested-if-statements)
 | 
					   * [Nested if statements](./advanced/learning_bash_scripting.md#nested-if-statements)
 | 
				
			||||||
 | 
					* [Coding challenge - File information](./advanced/learning_bash_scripting.md#coding-challenge---file-information)
 | 
				
			||||||
   * [A <em>modern</em> version of test](./advanced/learning_bash_scripting.md#a-modern-version-of-test)
 | 
					   * [A <em>modern</em> version of test](./advanced/learning_bash_scripting.md#a-modern-version-of-test)
 | 
				
			||||||
      * [[[  ]]](./advanced/learning_bash_scripting.md#--)
 | 
					      * [[[  ]]](./advanced/learning_bash_scripting.md#--)
 | 
				
			||||||
      * [((  ))](./advanced/learning_bash_scripting.md#---1)
 | 
					      * [((  ))](./advanced/learning_bash_scripting.md#---1)
 | 
				
			||||||
      * [&& and  ||](./advanced/learning_bash_scripting.md#-and--)
 | 
					      * [&& and  ||](./advanced/learning_bash_scripting.md#-and--)
 | 
				
			||||||
* [Coding challenge - File information](./advanced/learning_bash_scripting.md#coding-challenge---file-information)
 | 
					 | 
				
			||||||
* [Coding challenge - pipe or argument?](./advanced/learning_bash_scripting.md#coding-challenge---pipe-or-argument)
 | 
					 | 
				
			||||||
* [Loops - A variety of ways to perform repetitive tasks.](./advanced/learning_bash_scripting.md#loops---a-variety-of-ways-to-perform-repetitive-tasks)
 | 
					* [Loops - A variety of ways to perform repetitive tasks.](./advanced/learning_bash_scripting.md#loops---a-variety-of-ways-to-perform-repetitive-tasks)
 | 
				
			||||||
   * [while loop](./advanced/learning_bash_scripting.md#while-loop)
 | 
					 | 
				
			||||||
      * [Read from a file with a while loop](./advanced/learning_bash_scripting.md#read-from-a-file-with-a-while-loop)
 | 
					 | 
				
			||||||
      * [Read from a pipe with a while loop](./advanced/learning_bash_scripting.md#read-from-a-pipe-with-a-while-loop)
 | 
					 | 
				
			||||||
   * [for loop](./advanced/learning_bash_scripting.md#for-loop)
 | 
					 | 
				
			||||||
      * [Counter loops with for](./advanced/learning_bash_scripting.md#counter-loops-with-for)
 | 
					 | 
				
			||||||
      * [Finicky behaviour](./advanced/learning_bash_scripting.md#finicky-behaviour)
 | 
					 | 
				
			||||||
   * [break and continue](./advanced/learning_bash_scripting.md#break-and-continue)
 | 
					 | 
				
			||||||
* [Coding challenge - pipe or argument plus action!](./advanced/learning_bash_scripting.md#coding-challenge---pipe-or-argument-plus-action)
 | 
					 | 
				
			||||||
* [Coding challenge - Rename files](./advanced/learning_bash_scripting.md#coding-challenge---rename-files)
 | 
					 | 
				
			||||||
* [Coding challenge - Rename jpeg files](./advanced/learning_bash_scripting.md#coding-challenge---rename-jpeg-files)
 | 
					 | 
				
			||||||
* [Coding challenge - Remove duplicate files](./advanced/learning_bash_scripting.md#coding-challenge---remove-duplicate-files)
 | 
					 | 
				
			||||||
* [Coding challenge - File tree](./advanced/learning_bash_scripting.md#coding-challenge---file-tree)
 | 
					 | 
				
			||||||
* [Coding challenge - Compare and move](./advanced/learning_bash_scripting.md#coding-challenge---compare-and-move)
 | 
					 | 
				
			||||||
* [Coding challenge - Guess the number](./advanced/learning_bash_scripting.md#coding-challenge---guess-the-number)
 | 
					 | 
				
			||||||
* [Functions - Reuse code to make life easier.](./advanced/learning_bash_scripting.md#functions---reuse-code-to-make-life-easier)
 | 
					* [Functions - Reuse code to make life easier.](./advanced/learning_bash_scripting.md#functions---reuse-code-to-make-life-easier)
 | 
				
			||||||
   * [defining a function](./advanced/learning_bash_scripting.md#defining-a-function)
 | 
					 | 
				
			||||||
   * [function arguments](./advanced/learning_bash_scripting.md#function-arguments)
 | 
					 | 
				
			||||||
   * [global vs local variable](./advanced/learning_bash_scripting.md#global-vs-local-variable)
 | 
					 | 
				
			||||||
   * [return values](./advanced/learning_bash_scripting.md#return-values)
 | 
					 | 
				
			||||||
   * [the command builtin](./advanced/learning_bash_scripting.md#the-command-builtin)
 | 
					 | 
				
			||||||
* [Coding challenge - Student reports](./advanced/learning_bash_scripting.md#coding-challenge---student-reports)
 | 
					 | 
				
			||||||
* [User Interface - Make your scripts user friendly.](./advanced/learning_bash_scripting.md#user-interface---make-your-scripts-user-friendly)
 | 
					* [User Interface - Make your scripts user friendly.](./advanced/learning_bash_scripting.md#user-interface---make-your-scripts-user-friendly)
 | 
				
			||||||
* [Coding challenge - Address book](./advanced/learning_bash_scripting.md#coding-challenge---address-book)
 | 
					 | 
				
			||||||
* [Arrays in bash](./advanced/learning_bash_scripting.md#arrays-in-bash)
 | 
					 | 
				
			||||||
   * [Python](./advanced/learning_bash_scripting.md#python)
 | 
					   * [Python](./advanced/learning_bash_scripting.md#python)
 | 
				
			||||||
   * [Vim as an IDE](./advanced/learning_bash_scripting.md#vim-as-an-ide)
 | 
					   * [Vim as an IDE](./advanced/learning_bash_scripting.md#vim-as-an-ide)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
 | 
					<!-- Created by https://github.com/ekalinin/github-markdown-toc -->
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Advanced: learning shells
 | 
					 | 
				
			||||||
=================
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* [bash login](./advanced/learning_shells.md#bash-login)
 | 
					 | 
				
			||||||
   * [which files are sources when](./advanced/learning_shells.md#which-files-are-sources-when)
 | 
					 | 
				
			||||||
* [A clean slate](./advanced/learning_shells.md#a-clean-slate)
 | 
					 | 
				
			||||||
* [Prompt customization](./advanced/learning_shells.md#prompt-customization)
 | 
					 | 
				
			||||||
   * [Saving our changes](./advanced/learning_shells.md#saving-our-changes)
 | 
					 | 
				
			||||||
   * [Decoding the <em>base</em> prompt](./advanced/learning_shells.md#decoding-the-base-prompt)
 | 
					 | 
				
			||||||
* [Alternative shells](./advanced/learning_shells.md#alternative-shells)
 | 
					 | 
				
			||||||
   * [zsh](./advanced/learning_shells.md#zsh)
 | 
					 | 
				
			||||||
   * [fish](./advanced/learning_shells.md#fish)
 | 
					 | 
				
			||||||
   * [xonsh](./advanced/learning_shells.md#xonsh)
 | 
					 | 
				
			||||||
* [Shell completion](./advanced/learning_shells.md#shell-completion)
 | 
					 | 
				
			||||||
* [Frameworks](./advanced/learning_shells.md#frameworks)
 | 
					 | 
				
			||||||
   * [oh my zsh](./advanced/learning_shells.md#oh-my-zsh)
 | 
					 | 
				
			||||||
   * [oh my bash](./advanced/learning_shells.md#oh-my-bash)
 | 
					 | 
				
			||||||
* [xxh](./advanced/learning_shells.md#xxh)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue