🇨🇴 Una base de datos de cursos en diferentes lenguajes. 🇫🇷 Une base de données de cours dans différents langages. 🇳🇴 En database med kurs på forskjellige språk. 🇺🇸 A flat-file database of courses in multiple languages.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

213 lines
4.4 KiB

7 years ago
7 years ago
7 years ago
7 years ago
  1. ---
  2. title: Contributing
  3. slug: contributing
  4. ---
  5. ## Philosophy
  6. Each course is subject to the licence its original authors chose.
  7. Translations should probably follow the same licence as the original works.
  8. ! @cmeny Drop a line here about the structure with 4 levels.
  9. ## How it works
  10. - 📖 *Flat files*
  11. - [enhanced markdown](#enhanced-markdown) for content
  12. - [YAML frontmatter](https://learn.getgrav.org/15/content/headers) for metadata
  13. - 🦊 *Continuous integration* using [GitLab (Ruby)](https://m3p2.ljbac.com)
  14. - edit courses from your browser, using GitLab's WebIDE
  15. - 🌎 *Decentralized versioning* using [Git](https://en.wikipedia.org/wiki/Git)
  16. - asynchronous and offline collaboration
  17. - scales to thousands of contributors
  18. - 🚀 *HTML generation* using [Grav (PHP)](https://m3p2.ljbac.com/m3p2/grav-website)
  19. - basically the new WordPress, _but much better_
  20. - vibrant and growing community in 2019
  21. ## Data Flow
  22. ```mermaid
  23. graph RL
  24. User(Teacher)
  25. Website[M3P2 Website]
  26. Local[Local Website]
  27. Git[Git]
  28. GitLab[GitLab]
  29. User --> |contributes via| Git
  30. User --> |contributes via| GitLab
  31. User --> |contributes via| Local
  32. Local --> |triggers| Git
  33. Git --> |triggers| GitLab
  34. GitLab --> |updates| Website
  35. ```
  36. <marquee>🐠</marquee>
  37. ## Enhanced Markdown
  38. The point of Markdown (compared to raw HTML) is the _readability of the source_.
  39. ### Markdown Cheatsheet
  40. # Header like h1
  41. ## Header like h2
  42. ###### Header like h6
  43. _italic_
  44. __underlined__
  45. *bold*
  46. **strong**
  47. ~~strike-through~~
  48. `inline->code()`
  49. ```python
  50. import antigravity
  51. antigravity.apply()
  52. ```
  53. Go [there](https://…)
  54. [Current chapter](.)
  55. [Parent chapter](..)
  56. [Sibling chapter](../another-chapter)
  57. [Child chapter](chapter)
  58. [Anchor in the page](#slug-of-header)
  59. ![Description of the image](local-image.png)
  60. ! blue notice
  61. !! green notice
  62. !!! orange notice
  63. !!!! red notice
  64. !!!!
  65. !!!! another line on the red notice
  66. > More at Gitlab's [Markdown documentation](https://docs.gitlab.com/ee/user/markdown.html).
  67. ### Emoticons ✨
  68. Just type or paste the unicode character, modern browsers will do the rest.
  69. Here's a handy list: https://unicode.org/emoji/charts/full-emoji-list.html
  70. ### LateX
  71. You can use LateX in the courses.
  72. For example, the following
  73. $E = m \cdot c^2$
  74. yields $E = m \cdot c^2$
  75. !!!! Make sure to *add trailing spaces* to expressions like `\cdot`,
  76. !!!! or you'll end up with broken formulas.
  77. #### Multiline
  78. The preferred way is to use a `math` code block, like so:
  79. ```math
  80. \overrightarrow{F}_{L} = q \cdot (
  81. \overrightarrow{E}
  82. +
  83. \overrightarrow{v}
  84. \wedge
  85. \overrightarrow{B}
  86. )
  87. ```
  88. The `math` code block also works in GitLab's preview.
  89. _You can also use the `$$` syntax, but GitLab won't understand it._
  90. !! Generous spacing greatly improves the readability of the source.
  91. ### Flowcharts
  92. > _Any resemblance to real persons, living or dead, is purely coincidental._
  93. ```mermaid
  94. graph TB
  95. subgraph M3P2
  96. Draft[Draft]
  97. File[File]
  98. Website[Website]
  99. Pipeline[Pipeline]
  100. end
  101. Sponsor((Sponsor))
  102. Teacher((Teacher))
  103. Student((Student))
  104. Engineer((Engineer))
  105. Student --> |studies| Website
  106. Student --> |loves| Sponsor
  107. Student --> |respects| Teacher
  108. Student --> |complements| Draft
  109. Teacher -.- Engineer
  110. Sponsor --> |feeds| Teacher
  111. Sponsor --> |feeds| Engineer
  112. Teacher --> |reviews| Draft
  113. File --> |triggers| Pipeline
  114. Draft -.- File
  115. Pipeline --> |updates| Website
  116. Teacher --> |authors| File
  117. Engineer --> |specifies| File
  118. Engineer --> |maintains| Pipeline
  119. Engineer --> |hosts| Website
  120. ```
  121. ```mermaid
  122. graph TB
  123. subgraph M3P2
  124. Draft[Draft]
  125. File[File]
  126. Website[Website]
  127. Pipeline[Pipeline]
  128. end
  129. Sponsor((Sponsor))
  130. Teacher((Teacher))
  131. Student((Student))
  132. Engineer((Engineer))
  133. Student --> |studies| Website
  134. Student --> |loves| Sponsor
  135. Student --> |respects| Teacher
  136. Student --> |complements| Draft
  137. Teacher -.- Engineer
  138. Sponsor --> |feeds| Teacher
  139. Sponsor --> |feeds| Engineer
  140. Teacher --> |reviews| Draft
  141. File --> |triggers| Pipeline
  142. Draft -.- File
  143. Pipeline --> |updates| Website
  144. Teacher --> |authors| File
  145. Engineer --> |specifies| File
  146. Engineer --> |maintains| Pipeline
  147. Engineer --> |hosts| Website
  148. ```