feat: add wasm build targets, profile hooks, os_demo example, and restructure manual source
- Add `wasm`, `wasm-clean`, and `install-emscripten` phony targets to Makefile for WebAssembly cross-compilation - Insert `WREN_PROFILE_ENTER`/`WREN_PROFILE_EXIT` macros in `wren_vm.h` and `wren_vm.c` to support optional runtime profiling via `WREN_PROFILE_ENABLED` - Create `example/os_demo.wren` demonstrating Platform, Process, and conditional exit usage - Update `example/regex_demo.wren` to import `Match` and exercise Match object properties, groups, and `matchAll` - Remove static HTML manual pages (`base64.html`, `dns.html`, `json.html`) and replace with structured `manual_src/` directory containing Jinja2 templates, YAML metadata, and content pages - Expand `README.md` with build targets table, manual building instructions, source layout, and guide for adding new module documentation
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
{# retoor <retoor@molodetz.nl> #}
|
||||
<nav class="breadcrumb">
|
||||
<a href="{{ static_prefix }}index.html">Home</a>
|
||||
{% for crumb in breadcrumb %}
|
||||
<span class="separator">/</span>
|
||||
{% if loop.last %}
|
||||
<span>{{ crumb.title }}</span>
|
||||
{% else %}
|
||||
<a href="{{ static_prefix }}{{ crumb.url }}">{{ crumb.title }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</nav>
|
||||
@@ -0,0 +1,14 @@
|
||||
{# retoor <retoor@molodetz.nl> #}
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="{{ seo.description|default(page_description)|default(site.description) }}">
|
||||
<meta name="keywords" content="{{ seo.keywords|default([])|join(', ') }}">
|
||||
<meta name="author" content="{{ site.author }}">
|
||||
|
||||
<meta property="og:title" content="{{ seo.og_title|default(page_title ~ ' - ' ~ site.name) }}">
|
||||
<meta property="og:description" content="{{ seo.description|default(page_description)|default(site.description) }}">
|
||||
<meta property="og:type" content="{{ seo.og_type|default('website') }}">
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="{{ seo.og_title|default(page_title ~ ' - ' ~ site.name) }}">
|
||||
<meta name="twitter:description" content="{{ seo.description|default(page_description)|default(site.description) }}">
|
||||
@@ -0,0 +1,11 @@
|
||||
{# retoor <retoor@molodetz.nl> #}
|
||||
<footer class="page-footer">
|
||||
{% if prev_page %}
|
||||
<a href="{{ static_prefix }}{{ prev_page.url }}" class="prev">{{ prev_page.title }}</a>
|
||||
{% else %}
|
||||
<span></span>
|
||||
{% endif %}
|
||||
{% if next_page %}
|
||||
<a href="{{ static_prefix }}{{ next_page.url }}" class="next">{{ next_page.title }}</a>
|
||||
{% endif %}
|
||||
</footer>
|
||||
@@ -0,0 +1,15 @@
|
||||
{# retoor <retoor@molodetz.nl> #}
|
||||
<div class="search-container" role="search">
|
||||
<input type="text"
|
||||
id="search-input"
|
||||
placeholder="Search... (/)"
|
||||
autocomplete="off"
|
||||
aria-label="Search documentation"
|
||||
aria-autocomplete="list"
|
||||
aria-controls="search-results"
|
||||
aria-expanded="false">
|
||||
<div id="search-results"
|
||||
class="search-dropdown"
|
||||
role="listbox"
|
||||
aria-label="Search results"></div>
|
||||
</div>
|
||||
@@ -0,0 +1,22 @@
|
||||
{# retoor <retoor@molodetz.nl> #}
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-header">
|
||||
<h1><a href="{{ static_prefix }}index.html">{{ site.name }}</a></h1>
|
||||
<div class="version">v{{ site.version }}</div>
|
||||
</div>
|
||||
{% include 'includes/search_box.html' %}
|
||||
<nav class="sidebar-nav" id="sidebar-nav" aria-label="Main navigation">
|
||||
{% for section in nav.sections %}
|
||||
<div class="section">
|
||||
<span class="section-title">{{ section.title }}</span>
|
||||
<ul>
|
||||
{% for page in section.pages %}
|
||||
{% set page_url = section.directory ~ "/" ~ page.file ~ ".html" %}
|
||||
{% set is_active = current_path == page_url %}
|
||||
<li><a href="{{ static_prefix }}{{ page_url }}"{% if is_active %} class="active"{% endif %}>{{ page.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</nav>
|
||||
</aside>
|
||||
Reference in New Issue
Block a user