diff --git a/src/App.js b/src/App.js index 52a5b10..26a70c6 100644 --- a/src/App.js +++ b/src/App.js @@ -44,7 +44,7 @@ import JapanesePage from './Pages/Japan/JapanesePage'; import EquipmentPage from './Pages/Radio/equipmentPage'; import { languages, getLanguage } from './Language/Language'; -import { elmRoutes, japaneseRoutes } from './Routers'; +import { japaneseRoutes, programmingLanguageRoutes } from './Routers'; function App() { const language = getLanguage(); @@ -57,6 +57,8 @@ function App() { 'software': , }; + + const fieldDaysRoutes = languages.map(lang => { const dates = ['20231111', '20231230', '20240121']; return dates.map(date => { @@ -66,6 +68,14 @@ function App() { }); }).flat(); + const componentRoutes = languages.map(lang => { + const components = ['diode']; + return components.map(component => { + const path = `/${lang}/radio/component/${component}`; + return } />; + }); + }).flat(); + const equipmentRoutes = languages.map(lang => { const equipments = [ { @@ -116,7 +126,8 @@ function App() { {generatedRoutes} {/* Software */} - {elmRoutes} + {programmingLanguageRoutes} + }> }> }> diff --git a/src/Pages/Software/SoftwareMain.js b/src/Pages/Software/SoftwareMain.js index 3d3753e..55b7337 100644 --- a/src/Pages/Software/SoftwareMain.js +++ b/src/Pages/Software/SoftwareMain.js @@ -15,7 +15,10 @@ const SoftwareMain = () => {

{getString('code_pages')}

{getString('code_pages_intro')}

- Elm +

{getString('education')}

diff --git a/src/Pages/Software/csharp/CSharpPage.js b/src/Pages/Software/csharp/CSharpPage.js new file mode 100644 index 0000000..b9335e7 --- /dev/null +++ b/src/Pages/Software/csharp/CSharpPage.js @@ -0,0 +1,16 @@ +import React from 'react'; +import Breadcrumbs from '../../../UI/Breadcrumbs' +import MarkdownPage from '../../markdownPage' + +const CSharpPage = ({ mdPath }) => { + return ( +
+ + {['software', 'c#']} + + +
+ ) +} + +export default CSharpPage; \ No newline at end of file diff --git a/src/Pages/Software/csharp/en/main.md b/src/Pages/Software/csharp/en/main.md new file mode 100644 index 0000000..1431470 --- /dev/null +++ b/src/Pages/Software/csharp/en/main.md @@ -0,0 +1,6 @@ +## C# + +#### Basics + +* [types](./types) +* [strings](./strings) \ No newline at end of file diff --git a/src/Pages/Software/csharp/en/strings.md b/src/Pages/Software/csharp/en/strings.md new file mode 100644 index 0000000..3828dd1 --- /dev/null +++ b/src/Pages/Software/csharp/en/strings.md @@ -0,0 +1,49 @@ +## Strings + +#### Verbatim string with @: + +Preserves whitespace and characters like '\' do not need to be escaped. + +```c# +Console.WriteLine(@" c:\source\repos + (this is where your code goes)"); +``` + +Output: +``` +> c:\source\repos +> (this is where your code goes) +``` + +#### Escaped Unicode + +Use the **\u** plus a four-character code to represent Unicode characters (UTF-16) in a string. + +[Japanese UTF-16 table](http://www.rikai.com/library/kanjitables/kanji_codes.unicode.shtml) + +```c# +Console.WriteLine("\u3053\u3093\u306B\u3061\u306F World!"); +``` + +Output (UTF-16): +``` +> こんにちは World! +``` + +```c# +// To generate Japanese invoices: +Console.Write("\n\n\u65e5\u672c\u8a9e\u306e\u8acb\u6c42\u66f8\u3092\u751f\u6210\u3059\u308b\u306b\u306f\uff1a"); +``` + +Output (UTF-16): +``` +> 日本語の請求書を生成するには: +``` + +#### String interpolation + +Can be combined with verbatim strings. + +```c# +Console.WriteLine($@"C:\Output\{projectName}\Data"); +``` \ No newline at end of file diff --git a/src/Pages/Software/csharp/en/types.md b/src/Pages/Software/csharp/en/types.md new file mode 100644 index 0000000..dbba32e --- /dev/null +++ b/src/Pages/Software/csharp/en/types.md @@ -0,0 +1,10 @@ +## Types + +Float Type Precision + +float ~6-9 digits 0.25F +double ~15-17 digits 0.25 +decimal 28-29 digits 0.25M + +Both lowercase 'f' or 'F' can be used, same for 'm' and 'M'. + diff --git a/src/Pages/Software/elm/en/main.md b/src/Pages/Software/elm/en/main.md index 9559435..23cf170 100644 --- a/src/Pages/Software/elm/en/main.md +++ b/src/Pages/Software/elm/en/main.md @@ -1,4 +1,4 @@ -### Elm +## Elm * [Formatting](./formatting) * [Maybe.andThen](./maybeandthen) diff --git a/src/Routers.js b/src/Routers.js index adc58c9..ce667e1 100644 --- a/src/Routers.js +++ b/src/Routers.js @@ -2,6 +2,7 @@ import React from 'react'; import { Route } from 'react-router-dom'; import { languages } from './Language/Language'; import JapanesePage from './Pages/Japan/JapanesePage'; +import CSharpPage from './Pages/Software/csharp/CSharpPage'; import ElmPage from './Pages/Software/elm/ElmPage'; @@ -16,17 +17,26 @@ export const japaneseRoutes = languages.map(lang => { }).flat(); // Software -export const elmRoutes = languages.map(lang => { +export const programmingLanguageRoutes = languages.map(lang => { // Main page. - const main = } /> + const mainCSharp = } /> + const mainElm = } /> // Pages within Elm. - const md = ['dry', 'formatting', 'maybeandthen', 'maybemap']; - const entries = md.map(entry => { + let md = ['strings', 'types']; + const entriesCSharp = md.map(entry => { + const path = `/${lang}/software/csharp/${entry}`; + const mdPath = `Software/csharp/${lang}/${entry}.md`; + return } />; + }); + + // Pages within Elm. + md = ['dry', 'formatting', 'maybeandthen', 'maybemap']; + const entriesElm = md.map(entry => { const path = `/${lang}/software/elm/${entry}`; const mdPath = `Software/elm/${lang}/${entry}.md`; return } />; }); - return [main, ...entries]; + return [mainCSharp, mainElm, ...entriesCSharp, ...entriesElm]; }).flat();