From 4d954bf6483b17a9afb8fddc8f1fbcb02b31eab9 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 27 Apr 2022 05:36:54 -0400 Subject: [PATCH] Content update and minor UI changes --- public/recommended.yaml | 168 ++++++++++++++++++++++------------------ public/resources.yaml | 56 +++++++------- styles/lists.module.css | 14 +++- util/resrec.tsx | 19 ++++- 4 files changed, 147 insertions(+), 110 deletions(-) diff --git a/public/recommended.yaml b/public/recommended.yaml index 4d137e0..3efa6e6 100644 --- a/public/recommended.yaml +++ b/public/recommended.yaml @@ -1,88 +1,102 @@ - title: Books children: - - title: Technology - children: - - title: C programming + - title: Technology children: - - title: The C Programming Language [K&R] - url: https://en.wikipedia.org/wiki/The_C_Programming_Language - - title: Expert C Programming by Peter van der Linden - - title: Practical C Programming by Steve Oualline (outdated like all the books - in this section but still good) - - title: Mastering Algorithms with C by Kyle Loudon - - title: Other Programming + - title: C programming + children: + - title: The C Programming Language [K&R] + url: https://en.wikipedia.org/wiki/The_C_Programming_Language + - title: Expert C Programming by Peter van der Linden + - title: Practical C Programming by Steve Oualline + description: + Outdated like many the books in this section but it is very helpful + to learn some of the things discussed, especially if you have no exposure + to the language outside of school. + - title: Mastering Algorithms with C by Kyle Loudon + - title: Other Programming + children: + - title: Programming Perl by Larry Wall [Camel Book] + description: One of the first programming + books I have ever used. It probably is outdated but it is written well. + - "Programming Rust: Fast, Safe Systems Development" + - The Rust Programming Language + - Programming in Lua, Fourth Edition by Roberto Ierusalimschy + - title: Operating Systems + children: + - Advanced Programming in the Unix Environment by W. Richard Stevens + - title: "Operating Systems: Design and Implementation by Andrew S. Tanenbaum" + description: + I have not had a chance to read his other books on OS. I am + not a fan of his networking book though. + - title: Computer Engineering + children: + - "Making Embedded Systems: Design Patterns for Great Software by Elecia White" + - "Computer Organization and Design: the Hardware/Software Interface [Patterson + Hennessy]" + - "Computer Architecture: A Quantitative Approach [Hennessy Patterson]" + - title: Compilers + children: + - title: "Compilers: Principles, Techniques, and Tools [Dragon Book]" + description: Discusses theory in detail so it is kind of hard to read. + - title: Other + children: + - title: "Definitive Guide to sed: Tutorial and Reference" + - title: Classics + description: I am not sure I should make a sublist for the ones that were not originally in English. children: - - Programming Perl by Larry Wall [Camel Book] (one of the first programming - books I used. It probably is outdated but it is written well) - - 'Programming Rust: Fast, Safe Systems Development' - - The Rust Programming Language - - Programming in Lua, Fourth Edition by Roberto Ierusalimschy - - title: Operating Systems + - Christmas Carol + - A Tale of Two Cities + - The Mayor of Casterbridge + - The Citadel + - Oliver Twist + - Macbeth + - Othello + - Adventures of Huckleberry Finn + - Murder on the Orient Express + - title: Latin Learning children: - - Advanced Programming in the Unix Environment by W. Richard Stevens - - 'Operating Systems: Design and Implementation by Andrew S. Tanenbaum (I have - not had a chance to read his other books on OS. I am not a fan of his networking - book though.)' - - title: Computer Engineering - children: - - 'Making Embedded Systems: Design Patterns for Great Software by Elecia White' - - 'Computer Organization and Design: the Hardware/Software Interface [Patterson - Hennessy]' - - 'Computer Architecture: A Quantitative Approach [Hennessy Patterson]' - - title: Compilers - children: - - title: 'Compilers: Principles, Techniques, and Tools [Dragon Book] (discusses - theory in detail so it is kind of hard to read)' - - title: Other - children: - - title: 'Definitive Guide to sed: Tutorial and Reference' - - title: Classics - description: Only the English ones for now. - children: - - Christmas Carol - - A Tale of Two Cities - - The Mayor of Casterbridge - - The Citadel - - Oliver Twist - - Macbeth - - Othello - - Adventures of Huckleberry Finn - - Murder on the Orient Express - - title: Language Learning - children: - - Lingua Latina per se Illustrata (Both parts) + - Lingua Latina per se Illustrata (Both parts) + - Henle's Textbooks - title: Movies children: - - Pulp Fiction - - Blade Runner 2049 - - The Grand Budapest Hotel - - The Hateful Eight - - Goodfellas - - Inception - - Memento - - Dune (2021) - - Hot Fuzz - - Snatch + - title: English language + children: + - Pulp Fiction + - Blade Runner 2049 + - The Grand Budapest Hotel + - The Hateful Eight + - Goodfellas + - Inception + - Memento + - Dune (2021) + - Hot Fuzz + - Snatch - title: Music + description: This is probably the most incomplete list. I have a playlists page so maybe I should move these there. children: - - American Pie by Don McLean - - L'Ultima Diligenza by Ennio Morricone -- title: Classical Music - children: - - Große Fuge Op. 133 - - KV 387 - - KV 448 - - KV 626 - - Piano Sonata No. 2 Mvmt. 3 (Chopin) - - BWV 1048 - - Prelude in G Minor (Op. 23 No. 5) - - String Quartet, Op. 20 No. 2 (Haydn) - - Arabesque No. 1 (Debussy) + - title: Rock + children: + - American Pie by Don McLean + - title: Multimedia OST + children: + - L'Ultima Diligenza by Ennio Morricone + - title: Classical + children: + - Große Fuge Op. 133 + - KV 387 + - KV 448 + - KV 626 + - Piano Sonata No. 2 Mvmt. 3 (Chopin) + - BWV 1048 + - Prelude in G Minor (Op. 23 No. 5) + - String Quartet, Op. 20 No. 2 (Haydn) + - Arabesque No. 1 (Debussy) - title: Video Games children: - - 'The Legend of Zelda: Breath of the Wild' - - Portal 2 - - Factorio - - 'The Witcher 3: The Wild Hunt GOTY Edition (Especially the DLCs)' - - Baba is You - - Red Dead Redemption + - "The Legend of Zelda: Breath of the Wild" + - Portal 2 + - Factorio + - "The Witcher 3: The Wild Hunt GOTY Edition (Especially the DLCs)" + - Baba is You + - Red Dead Redemption + - Sid Meier's Civilization VI diff --git a/public/resources.yaml b/public/resources.yaml index 02bba4f..18aab98 100644 --- a/public/resources.yaml +++ b/public/resources.yaml @@ -1,34 +1,34 @@ - title: Programming children: - - url: http://aggregate.org/MAGIC/ - title: The Aggregate Magic Algorithms - - url: https://3fx.ch/typing-is-hard.html - title: Typing is Hard - - url: https://www.atlassian.com/git/ - title: Atlassian's Git Guide - - url: https://learnopengl.com/ - title: LearnOpenGL.com - - url: http://ctan.math.utah.edu/ctan/tex-archive/info/symbols/comprehensive/symbols-letter.pdf - title: "[PDF] LaTeX Symbols" - - url: https://tobi.oetiker.ch/lshort/lshort.pdf - title: "[PDF] The Not So Short Introduction to LATEX 2ε" - - url: https://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html - title: The MIT License, Line by Line by Kyle E. Mitchell - - title: Posts - children: - - title: How to Make Your Code Reviewer Fall in Love with You by Michael Lynch - url: https://mtlynch.io/code-review-love/ - - title: What's in the box? by @fasterthanlime - url: https://fasterthanli.me/articles/whats-in-the-box - - title: Talks - children: - - title: Concurrency is not Parallelism by Rob Pike - url: https://talks.golang.org/2012/waza.slide + - url: http://aggregate.org/MAGIC/ + title: The Aggregate Magic Algorithms + - url: https://3fx.ch/typing-is-hard.html + title: Typing is Hard + - url: https://www.atlassian.com/git/ + title: Atlassian's Git Guide + - url: https://learnopengl.com/ + title: LearnOpenGL.com + - url: http://ctan.math.utah.edu/ctan/tex-archive/info/symbols/comprehensive/symbols-letter.pdf + title: "[PDF] LaTeX Symbols" + - url: https://tobi.oetiker.ch/lshort/lshort.pdf + title: "[PDF] The Not So Short Introduction to LATEX 2ε" + - url: https://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html + title: The MIT License, Line by Line by Kyle E. Mitchell + - title: Posts + children: + - title: How to Make Your Code Reviewer Fall in Love with You by Michael Lynch + url: https://mtlynch.io/code-review-love/ + - title: What's in the box? by @fasterthanlime + url: https://fasterthanli.me/articles/whats-in-the-box + - title: Talks + children: + - title: Concurrency is not Parallelism by Rob Pike + url: https://talks.golang.org/2012/waza.slide - title: Electrical children: - - title: Common Wire-To-Board, Wire-To-Wire Connectors, And Crimp Tools - url: http://www.mattmillman.com/info/crimpconnectors/ + - title: Common Wire-To-Board, Wire-To-Wire Connectors, And Crimp Tools + url: http://www.mattmillman.com/info/crimpconnectors/ - title: Other Topics children: - - title: Sight Reading Trainer - url: https://sightreading.training/ + - title: Sight Reading Trainer + url: https://sightreading.training/ diff --git a/styles/lists.module.css b/styles/lists.module.css index a9a27ee..21396b0 100644 --- a/styles/lists.module.css +++ b/styles/lists.module.css @@ -1,3 +1,7 @@ +.desc { + font-size: 0.95rem; +} + .listItem { padding: 0.25rem; display: block; @@ -6,4 +10,12 @@ .listItem::before { content: '■'; padding: 0 0.5rem; -} \ No newline at end of file +} + +.listItemDesc { + display: inline-block; + padding: 0.25rem; + margin-left: 2.5rem; + font-size: 0.95rem; +} + diff --git a/util/resrec.tsx b/util/resrec.tsx index 68bedfd..95aa1f3 100644 --- a/util/resrec.tsx +++ b/util/resrec.tsx @@ -55,11 +55,22 @@ export function mapChild(obj: listItem | string, level: number) { if (obj.title === '') return <> + const desc = obj.description + ? {obj.description} + : <>; if (obj.url) - return {obj.title} + return ( + <> + {obj.title} + {desc} + ); if (!obj.children) - return {obj.title} + return ( + <> + {obj.title} + {desc} + ); let title: ReactElement; @@ -69,9 +80,9 @@ export function mapChild(obj: listItem | string, level: number) { title = React.createElement('strong', {}, obj.title); return ( -
+
{title} - {obj.description ?

{obj.description}

: <>} + {obj.description ?

{obj.description}

: <>}
{obj.children.map(l => mapChild(l, level + 1))}