diff --git a/convert.py b/convert.py index 08b4814..94fc23d 100644 --- a/convert.py +++ b/convert.py @@ -23,14 +23,40 @@ def convert_markdown_to_html(md_path: Path, html_path: Path): title = md.Meta["title"][0] # type: ignore prev_page = md.Meta["prev"][0] # type: ignore next_page = md.Meta["next"][0] # type: ignore + + prev_link = f'Prev' \ + if prev_page else '' + next_link = f'Next' \ + if next_page else '' + html_page = f""" - {title} + + YREA SLS | {title} + +
+
+

+ {title} +

+ + +
+
+
{html}
@@ -38,9 +64,9 @@ def convert_markdown_to_html(md_path: Path, html_path: Path):
© 2025 Kyler Olsen | - {f'Prev |' if prev_page else ''} + {f'{prev_link} |' if prev_page else ''} Home - {f'| Next' if next_page else ''} + {f'| {next_link}' if next_page else ''}
@@ -51,6 +77,12 @@ def convert_markdown_to_html(md_path: Path, html_path: Path): print(f"Converted: {md_path} → {html_path}") def convert_all(source_dir: Path, output_dir: Path): + for svg_file in source_dir.rglob("*.svg"): + rel_path = svg_file.relative_to(source_dir) + dest_path = output_dir / rel_path + dest_path.parent.mkdir(parents=True, exist_ok=True) + dest_path.write_bytes(svg_file.read_bytes()) + print(f"Copied: {svg_file} → {dest_path}") for css_file in source_dir.rglob("*.css"): rel_path = css_file.relative_to(source_dir) dest_path = output_dir / rel_path @@ -69,13 +101,13 @@ def convert_all_watch_files(source_dir: Path, output_dir: Path): class ChangeHandler(FileSystemEventHandler): def on_modified(self, event): - if event.src_path.endswith(".md"): - md_path = Path(event.src_path) + if event.src_path.endswith(".md"): # type: ignore + md_path = Path(event.src_path) # type: ignore rel_path = md_path.relative_to(source_dir) html_path = output_dir / rel_path.with_suffix(".html") convert_markdown_to_html(md_path, html_path) - elif event.src_path.endswith(".css"): - css_path = Path(event.src_path) + elif event.src_path.endswith(".css"): # type: ignore + css_path = Path(event.src_path) # type: ignore rel_path = css_path.relative_to(source_dir) dest_path = output_dir / rel_path dest_path.parent.mkdir(parents=True, exist_ok=True) @@ -96,4 +128,4 @@ def convert_all_watch_files(source_dir: Path, output_dir: Path): if __name__ == "__main__": convert_all(SOURCE_DIR, OUTPUT_DIR) - # convert_all_watch_files(SOURCE_DIR, OUTPUT_DIR) + convert_all_watch_files(SOURCE_DIR, OUTPUT_DIR) diff --git a/docs/YREA.svg b/docs/YREA.svg new file mode 100644 index 0000000..28dff25 --- /dev/null +++ b/docs/YREA.svg @@ -0,0 +1,126 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/advanced_topics.md b/docs/advanced_topics.md index 84bf7e2..8bd4876 100644 --- a/docs/advanced_topics.md +++ b/docs/advanced_topics.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 11 Advanced Topics +Title: 11 Advanced Topics Prev: Generic Programming Next: Standard Library --- diff --git a/docs/basic_operations.md b/docs/basic_operations.md index 8772294..8603b4c 100644 --- a/docs/basic_operations.md +++ b/docs/basic_operations.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 4 Basic Operations +Title: 4 Basic Operations Prev: Primitive Types Next: Functions --- diff --git a/docs/complete_operator_reference.md b/docs/complete_operator_reference.md index a5f54a4..f80bb62 100644 --- a/docs/complete_operator_reference.md +++ b/docs/complete_operator_reference.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | C Complete Operator Reference +Title: C Complete Operator Reference Prev: Complete Trait Reference Next: Grammar Summary --- diff --git a/docs/complete_trait_reference.md b/docs/complete_trait_reference.md index fd6f83c..fa44f47 100644 --- a/docs/complete_trait_reference.md +++ b/docs/complete_trait_reference.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | B Complete Trait Reference +Title: B Complete Trait Reference Prev: Standard Library Next: Complete Operator Reference --- diff --git a/docs/control_flow.md b/docs/control_flow.md index 13e4e2f..8a823b2 100644 --- a/docs/control_flow.md +++ b/docs/control_flow.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 6 Control Flow +Title: 6 Control Flow Prev: Functions Next: Data Structures --- diff --git a/docs/data_structures.md b/docs/data_structures.md index 0b73cd8..eeecf98 100644 --- a/docs/data_structures.md +++ b/docs/data_structures.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 7 Data Structures +Title: 7 Data Structures Prev: Control Flow Next: Type System --- diff --git a/docs/examples_and_tutorials.md b/docs/examples_and_tutorials.md index ebd8412..8821eaa 100644 --- a/docs/examples_and_tutorials.md +++ b/docs/examples_and_tutorials.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | G Examples & Tutorials +Title: G Examples & Tutorials Prev: Memory Management Next: --- diff --git a/docs/functions.md b/docs/functions.md index d34c7e7..48958ae 100644 --- a/docs/functions.md +++ b/docs/functions.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 5 Functions +Title: 5 Functions Prev: Basic Operations Next: Control Flow --- diff --git a/docs/generic_programming.md b/docs/generic_programming.md index fce1eef..968f1e0 100644 --- a/docs/generic_programming.md +++ b/docs/generic_programming.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 10 Generic Programming +Title: 10 Generic Programming Prev: Trait System Next: Advanced Topics --- diff --git a/docs/grammar_summary.md b/docs/grammar_summary.md index 8eabf54..ca66150 100644 --- a/docs/grammar_summary.md +++ b/docs/grammar_summary.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | D Grammar Summary +Title: D Grammar Summary Prev: Complete Operator Reference Next: Module System --- diff --git a/docs/index.md b/docs/index.md index 811fe72..c5fb91f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,10 +1,10 @@ --- -Title: YREA SLS | Specs Home +Title: Specs Home Prev: Next: Overview --- -# Stack Language Specification +# YREA SLS Sections: 1. [[Overview]] diff --git a/docs/lexical_structure.md b/docs/lexical_structure.md index 1a2150e..77e3e52 100644 --- a/docs/lexical_structure.md +++ b/docs/lexical_structure.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 2 Lexical Structure +Title: 2 Lexical Structure Prev: Overview Next: Primitive Types --- diff --git a/docs/memory_management.md b/docs/memory_management.md index e036756..18a4e36 100644 --- a/docs/memory_management.md +++ b/docs/memory_management.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | F Memory Management +Title: F Memory Management Prev: Module System Next: Examples and Tutorials --- diff --git a/docs/module_system.md b/docs/module_system.md index 3c9ce4c..38845ca 100644 --- a/docs/module_system.md +++ b/docs/module_system.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | E Module System +Title: E Module System Prev: Grammar Summary Next: Memory Management --- diff --git a/docs/overview.md b/docs/overview.md index 9b3f86a..422f758 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 1 Overview +Title: 1 Overview Prev: Index Next: Lexical Structure --- diff --git a/docs/primitive_types.md b/docs/primitive_types.md index e09729f..93b4df7 100644 --- a/docs/primitive_types.md +++ b/docs/primitive_types.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 3 Primitive Types +Title: 3 Primitive Types Prev: Lexical Structure Next: Basic Operations --- diff --git a/docs/sls-on-white.svg b/docs/sls-on-white.svg new file mode 100644 index 0000000..86f1d81 --- /dev/null +++ b/docs/sls-on-white.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/docs/sls.svg b/docs/sls.svg new file mode 100644 index 0000000..9d977ae --- /dev/null +++ b/docs/sls.svg @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/docs/standard_library.md b/docs/standard_library.md index 1a117b8..e5eff05 100644 --- a/docs/standard_library.md +++ b/docs/standard_library.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | A Standard Library +Title: A Standard Library Prev: Advanced Topics Next: Complete Trait Reference --- diff --git a/docs/styles.css b/docs/styles.css index 3b4664f..3aec572 100644 --- a/docs/styles.css +++ b/docs/styles.css @@ -27,7 +27,7 @@ h1 { } a { - color: blue; + color: #375899; } /* p { @@ -45,10 +45,11 @@ ul, ol { code { font-family: 'Consolas', 'Courier New', Courier, monospace; - background-color: #cccccc; + background-color: #cad5ee; padding-left: 4px; padding-right: 4px; border-radius: 3px; + break-inside: avoid; } pre > code { @@ -63,17 +64,54 @@ pre { border-style: solid; border-radius: 3px; padding: 4px; - background-color: #cccccc; + background-color: #cad5ee; + overflow-x: auto; } blockquote { border-color: black; + border-left-color: #001847; border-width: 1px; - border-left-width: 5px; + border-left-width: 8px; border-style: solid; border-radius: 3px; padding-left: 8px; - background-color: #ccccff; + background-color: #9cbdff; +} + +header { + text-align: center; + padding: 0; + padding-left: 20vw; + padding-right: 20vw; +} + +header > div { + display: grid; + grid-template-areas: 't l n'; + grid-template-columns: 1fr 2fr 1fr; + grid-template-rows: 1fr; + justify-content: space-between; +} + +header > div > .title { + text-align: left; + grid-area: t; +} + +header > div > .logo { + margin: 0; + grid-area: l; +} + +header > div > .logo > span { + display: inline-block; + width: 4px; +} + +header > div > .nav { + text-align: right; + grid-area: n; } footer { @@ -84,6 +122,11 @@ footer { } @media screen and (max-width: 768px) { + header { + padding-left: 5vw; + padding-right: 5vw; + } + main { padding-left: 5vw; padding-right: 5vw; @@ -93,4 +136,26 @@ footer { padding-left: 5vw; padding-right: 5vw; } + + ol, ul { + padding-left: 24px; + } + + blockquote { + margin-left: 24px; + margin-right: 24px; + } + + header > div { + grid-template-areas: 'l' 't' 'n'; + grid-template-columns: 1fr; + grid-template-rows: 2fr 1fr 1fr; + justify-content: center; + } + + header > div > .title, header > div > .nav { + text-align: center; + margin-top: 4px; + margin-bottom: 4px; + } } diff --git a/docs/trait_system.md b/docs/trait_system.md index 7af6ae4..aa511f3 100644 --- a/docs/trait_system.md +++ b/docs/trait_system.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 9 Trait System +Title: 9 Trait System Prev: Type System Next: Generic Programming --- diff --git a/docs/type_system.md b/docs/type_system.md index 7717be7..c5a3d5c 100644 --- a/docs/type_system.md +++ b/docs/type_system.md @@ -1,5 +1,5 @@ --- -Title: YREA SLS | 8 Type System +Title: 8 Type System Prev: Data Structures Next: Trait System ---