feat: add example scripts for argparse, bytes, dataset, html, markdown, uuid, wdantic, and web chat modules
Add comprehensive demo scripts showcasing the usage of multiple Wren modules including argument parsing, byte manipulation, in-memory dataset operations, HTML encoding/slugification, markdown-to-HTML conversion, UUID generation/validation, schema validation with wdantic, and a full web chat application with REST endpoints.
2026-01-24 23:40:22 +01:00
<!DOCTYPE html>
<!-- retoor <retoor@molodetz.nl> -->
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > How-To Guides - Wren-CLI Manual< / title >
< link rel = "stylesheet" href = "../css/style.css" >
< / head >
< body >
< button class = "mobile-menu-toggle" > Menu< / button >
< div class = "container" >
< aside class = "sidebar" >
< div class = "sidebar-header" >
< h1 > < a href = "../index.html" > Wren-CLI< / a > < / h1 >
< div class = "version" > v0.4.0< / div >
< / div >
< nav class = "sidebar-nav" >
< div class = "section" >
< span class = "section-title" > Getting Started< / span >
< ul >
< li > < a href = "../getting-started/index.html" > Overview< / a > < / li >
< li > < a href = "../getting-started/installation.html" > Installation< / a > < / li >
< li > < a href = "../getting-started/first-script.html" > First Script< / a > < / li >
< li > < a href = "../getting-started/repl.html" > Using the REPL< / a > < / li >
< / ul >
< / div >
< div class = "section" >
< span class = "section-title" > Language< / span >
< ul >
< li > < a href = "../language/index.html" > Syntax Overview< / a > < / li >
< li > < a href = "../language/classes.html" > Classes< / a > < / li >
< li > < a href = "../language/methods.html" > Methods< / a > < / li >
< li > < a href = "../language/control-flow.html" > Control Flow< / a > < / li >
< li > < a href = "../language/fibers.html" > Fibers< / a > < / li >
< li > < a href = "../language/modules.html" > Modules< / a > < / li >
< / ul >
< / div >
< div class = "section" >
< span class = "section-title" > API Reference< / span >
< ul >
< li > < a href = "../api/index.html" > Overview< / a > < / li >
feat: add async/await keywords, Num/String extensions, and Jinja markdown example
Add `async` and `await` token support to the Wren compiler with scheduler resolution logic, extend `Num` with `e` constant, hyperbolic trig, base conversion, and new methods (`isZero`, `gcd`, `lcm`, `digits`, etc.), extend `String` with `lower`, `upper`, `capitalize`, `title`, and regenerate `wren_core.wren.inc`. Include `Makefile` for multi-platform builds, rewrite `README.md` with updated build instructions, and add `example/await_demo.wren` and `example/jinja_markdown.wren` demonstrating new features.
2026-01-25 04:58:39 +01:00
< li > < a href = "../api/string.html" > String< / a > < / li >
< li > < a href = "../api/number.html" > Num< / a > < / li >
feat: add example scripts for argparse, bytes, dataset, html, markdown, uuid, wdantic, and web chat modules
Add comprehensive demo scripts showcasing the usage of multiple Wren modules including argument parsing, byte manipulation, in-memory dataset operations, HTML encoding/slugification, markdown-to-HTML conversion, UUID generation/validation, schema validation with wdantic, and a full web chat application with REST endpoints.
2026-01-24 23:40:22 +01:00
< li > < a href = "../api/http.html" > http< / a > < / li >
< li > < a href = "../api/websocket.html" > websocket< / a > < / li >
< li > < a href = "../api/tls.html" > tls< / a > < / li >
< li > < a href = "../api/net.html" > net< / a > < / li >
< li > < a href = "../api/dns.html" > dns< / a > < / li >
< li > < a href = "../api/json.html" > json< / a > < / li >
< li > < a href = "../api/base64.html" > base64< / a > < / li >
< li > < a href = "../api/regex.html" > regex< / a > < / li >
< li > < a href = "../api/jinja.html" > jinja< / a > < / li >
< li > < a href = "../api/crypto.html" > crypto< / a > < / li >
< li > < a href = "../api/os.html" > os< / a > < / li >
< li > < a href = "../api/env.html" > env< / a > < / li >
< li > < a href = "../api/signal.html" > signal< / a > < / li >
< li > < a href = "../api/subprocess.html" > subprocess< / a > < / li >
< li > < a href = "../api/sqlite.html" > sqlite< / a > < / li >
< li > < a href = "../api/datetime.html" > datetime< / a > < / li >
< li > < a href = "../api/timer.html" > timer< / a > < / li >
< li > < a href = "../api/io.html" > io< / a > < / li >
feat: add async/await keywords, Num/String extensions, and Jinja markdown example
Add `async` and `await` token support to the Wren compiler with scheduler resolution logic, extend `Num` with `e` constant, hyperbolic trig, base conversion, and new methods (`isZero`, `gcd`, `lcm`, `digits`, etc.), extend `String` with `lower`, `upper`, `capitalize`, `title`, and regenerate `wren_core.wren.inc`. Include `Makefile` for multi-platform builds, rewrite `README.md` with updated build instructions, and add `example/await_demo.wren` and `example/jinja_markdown.wren` demonstrating new features.
2026-01-25 04:58:39 +01:00
< li > < a href = "../api/pathlib.html" > pathlib< / a > < / li >
feat: add example scripts for argparse, bytes, dataset, html, markdown, uuid, wdantic, and web chat modules
Add comprehensive demo scripts showcasing the usage of multiple Wren modules including argument parsing, byte manipulation, in-memory dataset operations, HTML encoding/slugification, markdown-to-HTML conversion, UUID generation/validation, schema validation with wdantic, and a full web chat application with REST endpoints.
2026-01-24 23:40:22 +01:00
< li > < a href = "../api/scheduler.html" > scheduler< / a > < / li >
< li > < a href = "../api/math.html" > math< / a > < / li >
< / ul >
< / div >
< div class = "section" >
< span class = "section-title" > Tutorials< / span >
< ul >
< li > < a href = "../tutorials/index.html" > Tutorial List< / a > < / li >
< li > < a href = "../tutorials/http-client.html" > HTTP Client< / a > < / li >
< li > < a href = "../tutorials/websocket-chat.html" > WebSocket Chat< / a > < / li >
< li > < a href = "../tutorials/database-app.html" > Database App< / a > < / li >
< li > < a href = "../tutorials/template-rendering.html" > Template Rendering< / a > < / li >
< li > < a href = "../tutorials/cli-tool.html" > CLI Tool< / a > < / li >
< / ul >
< / div >
< div class = "section" >
< span class = "section-title" > How-To Guides< / span >
< ul >
< li > < a href = "index.html" class = "active" > How-To List< / a > < / li >
< li > < a href = "http-requests.html" > HTTP Requests< / a > < / li >
< li > < a href = "json-parsing.html" > JSON Parsing< / a > < / li >
< li > < a href = "regex-patterns.html" > Regex Patterns< / a > < / li >
< li > < a href = "file-operations.html" > File Operations< / a > < / li >
< li > < a href = "async-operations.html" > Async Operations< / a > < / li >
< li > < a href = "error-handling.html" > Error Handling< / a > < / li >
< / ul >
< / div >
< / nav >
< / aside >
< main class = "content" >
< nav class = "breadcrumb" >
< a href = "../index.html" > Home< / a >
< span class = "separator" > /< / span >
< span > How-To Guides< / span >
< / nav >
< article >
< h1 > How-To Guides< / h1 >
< p > Quick, focused guides that show you how to accomplish specific tasks. Each guide provides working code examples you can copy and adapt for your projects.< / p >
< div class = "card-grid" >
< div class = "card" >
< h3 > < a href = "http-requests.html" > Making HTTP Requests< / a > < / h3 >
< p > GET, POST, PUT, DELETE requests with headers, authentication, and error handling.< / p >
< div class = "card-meta" >
< span class = "tag" > http< / span >
< / div >
< / div >
< div class = "card" >
< h3 > < a href = "json-parsing.html" > Working with JSON< / a > < / h3 >
< p > Parse JSON strings, access nested data, create JSON output, and handle errors.< / p >
< div class = "card-meta" >
< span class = "tag" > json< / span >
< / div >
< / div >
< div class = "card" >
< h3 > < a href = "regex-patterns.html" > Using Regular Expressions< / a > < / h3 >
< p > Match, search, replace, and split text with regex patterns.< / p >
< div class = "card-meta" >
< span class = "tag" > regex< / span >
< / div >
< / div >
< div class = "card" >
< h3 > < a href = "file-operations.html" > File Operations< / a > < / h3 >
< p > Read, write, copy, and delete files. Work with directories and paths.< / p >
< div class = "card-meta" >
< span class = "tag" > io< / span >
< / div >
< / div >
< div class = "card" >
< h3 > < a href = "async-operations.html" > Async Programming< / a > < / h3 >
< p > Use fibers for concurrent operations, parallel requests, and timeouts.< / p >
< div class = "card-meta" >
< span class = "tag" > fibers< / span >
< span class = "tag" > scheduler< / span >
< / div >
< / div >
< div class = "card" >
< h3 > < a href = "error-handling.html" > Error Handling< / a > < / h3 >
< p > Catch errors with fibers, validate input, and handle edge cases gracefully.< / p >
< div class = "card-meta" >
< span class = "tag" > fibers< / span >
< / div >
< / div >
< / div >
< h2 > How-To vs Tutorials< / h2 >
< p > < strong > Tutorials< / strong > are learning-oriented. They walk you through building complete applications step by step, introducing concepts gradually.< / p >
< p > < strong > How-To Guides< / strong > are goal-oriented. They assume you know the basics and need to accomplish a specific task quickly. Each guide focuses on one topic with copy-paste examples.< / p >
< h2 > Quick Reference< / h2 >
< table >
< tr >
< th > Task< / th >
< th > Guide< / th >
< th > Key Functions< / th >
< / tr >
< tr >
< td > Fetch data from API< / td >
< td > < a href = "http-requests.html" > HTTP Requests< / a > < / td >
< td > < code > Http.get()< / code > , < code > response.json< / code > < / td >
< / tr >
< tr >
< td > Parse JSON string< / td >
< td > < a href = "json-parsing.html" > JSON Parsing< / a > < / td >
< td > < code > Json.parse()< / code > < / td >
< / tr >
< tr >
< td > Validate email format< / td >
< td > < a href = "regex-patterns.html" > Regex Patterns< / a > < / td >
< td > < code > Regex.new().test()< / code > < / td >
< / tr >
< tr >
< td > Read file contents< / td >
< td > < a href = "file-operations.html" > File Operations< / a > < / td >
< td > < code > File.read()< / code > < / td >
< / tr >
< tr >
< td > Run tasks in parallel< / td >
< td > < a href = "async-operations.html" > Async Operations< / a > < / td >
< td > < code > Fiber.new { }< / code > < / td >
< / tr >
< tr >
< td > Handle runtime errors< / td >
< td > < a href = "error-handling.html" > Error Handling< / a > < / td >
< td > < code > fiber.try()< / code > < / td >
< / tr >
< / table >
< / article >
< footer class = "page-footer" >
< a href = "../tutorials/cli-tool.html" class = "prev" > CLI Tool< / a >
< a href = "http-requests.html" class = "next" > HTTP Requests< / a >
< / footer >
< / main >
< / div >
< script src = "../js/main.js" > < / script >
< / body >
< / html >