diff --git a/src/App.js b/src/App.js
index d2209d6..5adfd34 100644
--- a/src/App.js
+++ b/src/App.js
@@ -41,6 +41,7 @@ import JapaneseMain from './Pages/Japan/JapaneseMain';
import EquipmentPage from './Pages/Radio/equipmentPage';
import { languages, getLanguage } from './Language/Language';
+import { elmRoutes } from './Routers';
function App() {
const language = getLanguage();
@@ -101,6 +102,7 @@ function App() {
}>
}>
+ {elmRoutes}
{fieldDaysRoutes}
{equipmentRoutes}
{generatedRoutes}
diff --git a/src/Language/LanguageStrings.js b/src/Language/LanguageStrings.js
index 420a8e8..937ccd0 100644
--- a/src/Language/LanguageStrings.js
+++ b/src/Language/LanguageStrings.js
@@ -24,8 +24,12 @@ const languageStrings = {
language: 'Language',
// Radio
equipment: 'Equipment',
+ components: 'components',
fielddays: 'Field days',
nvisAntenna: 'NVIS Antenna',
+ // Software
+ code_pages: 'Code sections',
+ code_pages_intro: 'Some notes and examples of code.',
// Footer
footer_contentparsed: 'Content is parsed by',
footer_madewith: 'This site was made with',
@@ -53,8 +57,12 @@ const languageStrings = {
language: 'Taal',
// Radio
equipment: 'Apparatuur',
+ components: 'componenten',
fielddays: 'Velddagen',
nvisAntenna: 'NVIS Antenne',
+ // Software
+ code_pages: 'Code secties',
+ code_pages_intro: 'Notities en voorbeelden van code.',
// Footer
footer_contentparsed: 'Inhoud is verwerkt door',
footer_madewith: 'Deze website is gemaakt met',
diff --git a/src/Pages/Software/SoftwareMain.js b/src/Pages/Software/SoftwareMain.js
index 9fd2d21..3d3753e 100644
--- a/src/Pages/Software/SoftwareMain.js
+++ b/src/Pages/Software/SoftwareMain.js
@@ -13,6 +13,10 @@ const SoftwareMain = () => {
{getString('software')}
+ {getString('code_pages')}
+ {getString('code_pages_intro')}
+ Elm
+
{getString('education')}
{educationData.education.map((edu, index) => (
diff --git a/src/Pages/Software/elm/ElmPage.js b/src/Pages/Software/elm/ElmPage.js
new file mode 100644
index 0000000..82fd2e2
--- /dev/null
+++ b/src/Pages/Software/elm/ElmPage.js
@@ -0,0 +1,16 @@
+import React from 'react';
+import Breadcrumbs from '../../../UI/Breadcrumbs'
+import MarkdownPage from '../../markdownPage'
+
+const ElmPage = ({ mdPath }) => {
+ return (
+
+
+ {['software', 'elm']}
+
+
+
+ )
+}
+
+export default ElmPage;
\ No newline at end of file
diff --git a/src/Pages/Software/elm/en/formatting.md b/src/Pages/Software/elm/en/formatting.md
new file mode 100644
index 0000000..8ad8245
--- /dev/null
+++ b/src/Pages/Software/elm/en/formatting.md
@@ -0,0 +1,28 @@
+## Formatting
+
+You can add a docstring to an elm function like this:
+
+```elm
+
+
+{- Render the Elm icon. -}
+
+
+elmIcon : E.Element msg
+elmIcon =
+
+```
+
+But upon formatting, 2 new lines are automatically added.
+
+By adding a "|" pipe character, the docstring will get appended to the top op the function header.
+
+```elm
+
+
+{-| Render the Elm icon.
+-}
+elmIcon : E.Element msg
+elmIcon =
+
+```
diff --git a/src/Pages/Software/elm/en/main.md b/src/Pages/Software/elm/en/main.md
new file mode 100644
index 0000000..474c9fb
--- /dev/null
+++ b/src/Pages/Software/elm/en/main.md
@@ -0,0 +1,3 @@
+### Elm
+
+* [Formatting](./formatting)
\ No newline at end of file
diff --git a/src/Pages/Software/elm/nl/formatting.md b/src/Pages/Software/elm/nl/formatting.md
new file mode 100644
index 0000000..3849b79
--- /dev/null
+++ b/src/Pages/Software/elm/nl/formatting.md
@@ -0,0 +1,29 @@
+## Formatting
+
+Je kunt op deze manier een docstring toevoegen aan een elm functie:
+
+```elm
+
+
+{- Render the Elm icon. -}
+
+
+elmIcon : E.Element msg
+elmIcon =
+
+```
+
+Maar bij het herstructureren van code, worden automatisch 2 lijnen toegevoegd.
+
+Door een pipe character "|" toe te voegen, wordt de docstring wel vastgemaakt aan de functie-header.
+
+
+```elm
+
+
+{-| Render the Elm icon.
+-}
+elmIcon : E.Element msg
+elmIcon =
+
+```
diff --git a/src/Pages/Software/elm/nl/main.md b/src/Pages/Software/elm/nl/main.md
new file mode 100644
index 0000000..474c9fb
--- /dev/null
+++ b/src/Pages/Software/elm/nl/main.md
@@ -0,0 +1,3 @@
+### Elm
+
+* [Formatting](./formatting)
\ No newline at end of file
diff --git a/src/Routers.js b/src/Routers.js
new file mode 100644
index 0000000..e3d51db
--- /dev/null
+++ b/src/Routers.js
@@ -0,0 +1,20 @@
+import React from 'react';
+import { Route } from 'react-router-dom';
+import { languages } from './Language/Language';
+import ElmPage from './Pages/Software/elm/ElmPage';
+
+export const elmRoutes = languages.map(lang => {
+ // Main page.
+ const main = } />
+
+ // Pages within Elm.
+ const md = ['formatting'];
+ const entries = md.map(entry => {
+ const path = `/${lang}/software/elm/${entry}`;
+ const mdPath = `Software/elm/${lang}/${entry}.md`;
+ return } />;
+ });
+
+ return [main, ...entries];
+}).flat();
+
diff --git a/src/UI/Breadcrumbs.js b/src/UI/Breadcrumbs.js
index 2a7c829..29c011b 100644
--- a/src/UI/Breadcrumbs.js
+++ b/src/UI/Breadcrumbs.js
@@ -8,7 +8,7 @@ const Breadcrumbs = ({ separator, path, children }) => {
const items = React.Children.toArray(children);
const generatePath = (index) => {
- return '/' + language + '/' + path.split('/').slice(0, index + 1).join('/');
+ return '/' + language + '/' + path.split('/').slice(0, index + 1).join('/') + '/';
};
if (items.length !== path.split('/').length) {
diff --git a/src/michelaben/src/Main.elm b/src/michelaben/src/Main.elm
index dee044d..8729211 100644
--- a/src/michelaben/src/Main.elm
+++ b/src/michelaben/src/Main.elm
@@ -130,6 +130,8 @@ update _ model =
model
+{-| Render the Elm icon.
+-}
elmIcon : E.Element msg
elmIcon =
let