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