Files
wren/manual_src/pages/tutorials/index.html
T
retoor d953925605 docs: add dataset ORM tutorial page and update navigation with GFM documentation
Add new Dataset ORM tutorial page covering CRUD operations, query operators, schema evolution, and JSON field handling. Update navigation.yaml to include the new tutorial in the tutorials section. Enhance markdown module documentation with GitHub Flavored Markdown support details including tables, task lists, and language identifier attributes for syntax highlighting. Update tutorial index page and pagination links to reflect the new tutorial order. Refactor dataset.wren module source to introduce Sql and QueryBuilder classes with soft-delete support and identifier validation.
2026-01-26 09:21:03 +00:00

103 lines
5.2 KiB
HTML

{# retoor <retoor@molodetz.nl> #}
{% extends 'page.html' %}
{% set page_title = "Tutorials" %}
{% set breadcrumb = [{"title": "Tutorials"}] %}
{% set prev_page = {"url": "api/math.html", "title": "math"} %}
{% set next_page = {"url": "tutorials/http-client.html", "title": "HTTP Client"} %}
{% block article %}
<h1>Tutorials</h1>
<p>Step-by-step tutorials that guide you through building complete applications with Wren-CLI. Each tutorial introduces new concepts and builds upon previous knowledge.</p>
<div class="card-grid">
<div class="card">
<h3><a href="http-client.html">Building an HTTP Client</a></h3>
<p>Learn to make HTTP requests, parse JSON responses, and handle errors while building a REST API client.</p>
<div class="card-meta">
<span class="tag">http</span>
<span class="tag">json</span>
</div>
</div>
<div class="card">
<h3><a href="websocket-chat.html">WebSocket Chat Application</a></h3>
<p>Build a real-time chat application using WebSockets with both client and server components.</p>
<div class="card-meta">
<span class="tag">websocket</span>
<span class="tag">fibers</span>
</div>
</div>
<div class="card">
<h3><a href="database-app.html">Database Application</a></h3>
<p>Create a complete CRUD application using SQLite for persistent data storage.</p>
<div class="card-meta">
<span class="tag">sqlite</span>
<span class="tag">io</span>
</div>
</div>
<div class="card">
<h3><a href="dataset-orm.html">Dataset ORM</a></h3>
<p>Master the dataset module for effortless database operations with automatic schema management.</p>
<div class="card-meta">
<span class="tag">dataset</span>
<span class="tag">sqlite</span>
</div>
</div>
<div class="card">
<h3><a href="template-rendering.html">Template Rendering</a></h3>
<p>Use Jinja templates to generate HTML pages, reports, and configuration files.</p>
<div class="card-meta">
<span class="tag">jinja</span>
<span class="tag">io</span>
</div>
</div>
<div class="card">
<h3><a href="cli-tool.html">Building a CLI Tool</a></h3>
<p>Create a command-line application with argument parsing, user input, and subprocess management.</p>
<div class="card-meta">
<span class="tag">os</span>
<span class="tag">subprocess</span>
</div>
</div>
<div class="card">
<h3><a href="web-server.html">Building a Web Server</a></h3>
<p>Build HTTP servers with routing, sessions, middleware, and REST APIs using the web module.</p>
<div class="card-meta">
<span class="tag">web</span>
<span class="tag">http</span>
</div>
</div>
</div>
<h2>Learning Path</h2>
<p>If you are new to Wren-CLI, we recommend following the tutorials in this order:</p>
<ol>
<li><strong>HTTP Client</strong> - Introduces async operations and JSON handling</li>
<li><strong>Database Application</strong> - Covers raw SQLite data persistence</li>
<li><strong>Dataset ORM</strong> - Effortless database operations with automatic schema</li>
<li><strong>Template Rendering</strong> - Learn the Jinja template system</li>
<li><strong>WebSocket Chat</strong> - Advanced async patterns with fibers</li>
<li><strong>CLI Tool</strong> - Bringing it all together in a real application</li>
<li><strong>Web Server</strong> - Build complete web applications with the web module</li>
</ol>
<h2>Prerequisites</h2>
<p>Before starting the tutorials, you should:</p>
<ul>
<li>Have Wren-CLI <a href="../getting-started/installation.html">installed</a></li>
<li>Understand the <a href="../language/index.html">basic syntax</a></li>
<li>Be familiar with <a href="../language/classes.html">classes</a> and <a href="../language/methods.html">methods</a></li>
</ul>
{% endblock %}