/WORKFLOW.md (4bc53f72a0bf4d859a0bc8cf7a7cb65c5fe751f0) (2675 bytes) (mode 100644) (type blob)

---
title: Workflow cheatsheet
---

<!-- I'm a comment -->

# Step by step

#. Open a command-line interface (or "Terminal") and make the folder containing the notes the current working directory:
    #. Open a command-line interface, cf. <https://www.wikihow.com/Open-a-Terminal-Window-in-Ubuntu>.
    #. Change the directory to the right folder, using something like
    
    ```
    cd CSCI_3410/
    ```
    
    Or, alternatively,
    
    #. Open the file explorer,
    #. Navigate to the notes folder, 
    #. Make a right-click, "Open in terminal" (or something similar).

#. Get the latest version of the notes:  

    ```
    git pull
    ```

#. Compile the figures into `pdf` and convert them to `svg`, using

    ```
    make fig
    make fig_svg
    ```

    If you get errors messages on that step, please report them.

#. Edit the document using whichever software you like.

#. Test your edit, using
    
    ```
    make html
    make pdf
    make odt
    ```
    
    depending on the version you want to see, or
    
    ```
    make all
    ```
    
    if you want to compile them all.
    If you are happy with them, go to the next step, otherwise go to the previous step.

#. Tell git to save your modifications:

    ```
    git commit -a -m "My meaningful explanation of what I just did"
    ```
    
#. Have rocketgit "accepts" your IP, by using
    
    ```
    ssh rocketgit@ssh.rocketgit.com totp val XXXXXX
    ```
    
    where XXXXXX is the code given by the duo application for your rocketgit account.
    
#. Push your modification to the server
    
    ```
    git push origin master
    ```



To add a file, open a terminal where the file is, and type

    git add <name of the file>
    
Then, commit and push.

Use 
    
    git rm <name of the file>
    
to remove it.
    
# References

- [Markdown Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
- [Git tutorial](http://metatheorem.org/CSCI3300/lectures/git.html)

# Markdown Syntax

For the Solution, Problem and Exercises, we use a particular syntax, that is rendered using the `<dd>` and `<dt>` tags in `html`, and that furthermore use pandoc-numbering.

We can either have in-line, or block, environment, using

Solution +.#

: Solution on one line.
We are still on the same line.

Not in the solution anymore

Solution +.#
~ 
    Solution on a block.
    Still in the block.
    
    Still in the block, on a different paragraph.

Not in the solution anymore

The indentation makes all the difference in the block environment.


Mode Type Size Ref File
100644 blob 66 dfe0770424b2a19faf507a501ebfc23be8f54e7b .gitattributes
100644 blob 24533 e0254f6b47042e5870aff0f206c55f907bff3ef5 1.png
100644 blob 2004 bc812ab8cb5f7c667981a30e936d7cf44fd20cae CONTRIB.md
100644 blob 17391 ee4f999692dd06cb3fb247c76961eb937a4b61f8 KNOWN_BUGS.md
100644 blob 17370 88336d7c15e68de644f6ece046e4ed3a2fa6d563 LICENSE.md
100644 blob 4530 32ecf4d5237bd100274820644cf714c65d1e9001 Naming Convention.md
100644 blob 4342 27500c73cdde3d30d803760f78a1e2b5d2b0b096 README.md
100644 blob 977 588857854369059aedc86cfc40b7dfce0d9b9b07 TO_DO.md
100644 blob 2675 4bc53f72a0bf4d859a0bc8cf7a7cb65c5fe751f0 WORKFLOW.md
040000 tree - 7c8169dc2a61ede5ae3bd4b3171514b4ded52c81 install
040000 tree - 749b891ee80356665eaac0de74691f9e8473d529 notes
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/caubert/CSCI_3410

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/caubert/CSCI_3410

Clone this repository using git:
git clone git://git.rocketgit.com/user/caubert/CSCI_3410

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main