Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

xhtml: Forces image placement

AuthorDaveJarvis <email>
Date2025-09-03 21:48:09 GMT-0700
Commitc1bd65f81fafc7854d29603f3259deda7915a5ad
Parent3a3d7be
Delta78 lines added, 75 lines removed, 3-line increase
docs/01-introduction.md
## Think different
-Unlike traditional word processors that mix content with formatting,
-{{app.title}} follows the philosophy of separating content from presentation.
-You write in [Markdown](http://spec.commonmark.org/0.28/), a plain text format,
-and the application handles the complex typesetting to produce
-professional-quality PDF files. This approach offers several advantages:
+The core philosophy behind {{app.title}} requires a shift in how we create and
+format documents. Unlike traditional word processors that mix content and
+formatting, {{app.title}} aims to completely separate content from
+presentation. You write in plain text, and let the computer typset the document
+into print-ready PDF files. This approach offers several benefits:
-- **Rebranding** -- Corporations can rebrand technical documents in weeks, instead of years
-- **Consistent presentation** -- Professional typesetting ensures uniform, high-quality output
-- **Future-proof information** -- Plain text files remain readable long after proprietary formats become obsolete
-- **Version-control friendly** -- Plain text works seamlessly with version control systems
-- **Reproducible publishing** -- Generate identical documents across different systems and times
-- **Focus on content** - Write without distraction from formatting concerns
+* **Rebranding** -- Corporations can rebrand technical documents in weeks, instead of years
+* **Consistency** -- Ensure uniform, high-quality output
+* **Future-proofing** -- Plain text files will remain readable long after proprietary formats go obsolete
+* **Version-control** -- Plain text works seamlessly with version control systems
+* **Reproducible** -- Generate identical documents across different systems and times
+* **Focus** -- Write without distraction from formatting concerns
## Processing flow
+
+Understanding how {{app.title}} transforms your Markdown content into polished
+PDF files helps you make the most of its capabilities.
The original intent of Markdown was to simplify writing web pages. As such,
there are numerous tools to convert Markdown to HTML. {{app.title}} goes one
step further and converts Markdown to XHTML, which is a *well-formed* version
-of HTML and is also a type of XML. The typesetting software can transform XML
+of HTML and also a type of XML. The typesetting system can transform XML
documents, and therefore XHTML documents, into typesetting instructions. Those
instructions add styling (colours, fonts, layout, etc.) to the final output
document.
-## Key features
+In a nutshell: **Markdown → XHTML → TeX → PDF**
-{{app.title}} provides a comprehensive set of tools for document creation and publishing:
+## Features
-### Writing and editing Tools
+{{app.title}} offers a numerous tools to assist with document creation.
-- **User-defined variables** with auto-completion for consistent terminology
-- **Real-time spell checking** to catch errors as you type
-- **Interactive document outline** for easy navigation in long documents
-- **Integrated file manager** to organize your projects
-- **Word count** and document statistics
+### Writing and editing
-### Export and publishing
+Built-in features to help write and edit documents include:
-- **PDF generation** typesetting using the ConTeXt system
-- **XHTML export** for web publishing
-- **Mathematical expressions** rendered beautifully in both formats
-- **Command-line interface** for batch processing
+* **User-defined variables** for consistency, with autocomplete
+* **Spell checking** to catch typos as you type
+* **Document outline** for easy navigation in long documents
+* **File manager** to view related files within the editor
+* **Word count** and document statistics
+
+### Export formats
+
+{{app.title}} provides multiple export formats from Markdown:
+
+* **PDF files** typeset using the ConTeXt typesetting system
+* **XHTML files** for publishing to the web
+* **Markdown** with variables interpolated and substituted
### Advanced capabilities
-- **Data visualization** through R integration for statistical analysis and plots
-- **Diagram generation** supporting Mermaid, GraphViz, PlantUML, and other text-based formats
-- **Variable interpolation** enables a single source of truth for content
-- **Internationalization support** with font handling for multiple languages
+Beyond basic document creation, {{app.titile}} includes:
+
+* **Data visualization** through R integration
+* **Diagram generation** supporting PlantUML, GraphViz, Mermaid, and other text-based formats
+* **Variable interpolation** enables a single source of truth for content
+* **Internationalization** with font handling for multiple languages
### User interface
-- **Customizable** with dark mode and custom skins
-- **Multi-document editing** with detachable tabs
-- **Live preview** showing formatted output as you write
-- **Distraction-free** when you need to focus
+The user interface offers:
+
+* **Customizable** with dark mode and custom skins
+* **Multi-document editing** with detachable tabs
+* **Live preview** showing formatted output as you write
+* **Distraction-free** when you need to focus
## Who should use {{app.title}}
{{app.title}} is designed for anyone who needs to produce high-quality
documents while maintaining control over content and presentation:
-- **Technical writers** creating documentation, user manuals, and specifications
-- **Researchers and academics** writing papers with mathematical content
-- **Authors** producing books and long-form content
+* **Technical writers** creating documentation, user manuals, and specifications
+* **Researchers and academics** writing papers with mathematical content
+* **Authors** producing books and long-form content
## Quick start
-The fastest way to begin using {{app.title}}:
+The easiest way to begin using {{app.title}}:
1. **Download** the application from [keenwrite.com](https://keenwrite.com)
-2. **Run** the application (no installation necessary)
-3. **Create** your first document by clicking **File → New**
-4. **Start writing** in Markdown format
-5. **Preview** your work in the preview tab
-6. **Export** to PDF when ready
+1. **Run** the application (no installation necessary)
+1. **Create** your first document by clicking **File → New**
+1. **Start writing** in Markdown format
+1. **Preview** your work in the preview tab
+1. **Export** to PDF when ready
To generate PDF files, you'll also need:
-- The {{app.title}} theme packs to apply a look and feel to the output
-- ConTeXt typesetting system (can be installed automatically)
+* The theme pack to apply a look and feel
+* ConTeXt typesetting system (can be installed automatically)
## Document structure
-
-This manual is organized to support both learning and reference:
-
-- **Chapters 2-6** cover core functionality: installation, basic editing, variables, and metadata
-- **Chapters 7-9** explain formatting features and media handling
-- **Chapters 10-11** detail export options and PDF generation
-- **Chapters 12-14** explore advanced features like R integration and math
-- **Chapters 15-17** provide customization options, troubleshooting, and reference material
-You can read the manual sequentially to build expertise gradually, or jump to specific chapters as needed.
+This manual is organized to support both newcomers and experienced users
+seeking specific information. You can read the manual sequentially to build
+expertise gradually, or jump to specific chapters as needed.
## Getting help
-If you encounter issues or need assistance:
+When you need assistance or encounter challenges, multiple resources are
+available to help. If you encounter issues or need assistance:
-- Check the **Troubleshooting** chapter for common problems and solutions
-- Visit the **Screenshots** chapter to see the interface in action
-- Consult the **Command-line reference** for automation tasks
-- Review the **Architecture** chapter if you're interested in extending {{app.title}}
+* Check the **Troubleshooting** chapter for common problems and solutions
+* Visit the **Screenshots** chapter to see the interface in action
+* Consult the **Command-line reference** for automation tasks
+* Review the **Architecture** chapter if you're interested in extending {{app.title}}
-The following chapters will guide you through installation, basic usage, and gradually introduce more advanced features.
+The remaining chapters will guide you through installation, basic usage, and
+gradually introduce advanced features.
docs/08-images.md
```
-The application will automatically display the image in the preview tab once it
-is successfully resolved.
+The application will display the image in the preview tab upon download.
## Image server
docs/09-exporting.md
## XHTML exports
-When exporting to XHTML format, the application produces standards-compliant
-XHTML documents that can be viewed in web browsers or further processed.
-
-XHTML export features include:
+The application produces standards-compliant XHTML documents that can be viewed
+in web browsers or further processed. XHTML export features include:
* Document metadata is added to the `<head>` tag as `<meta>` tags
PDF exports use the ConTeXt typesetting system to produce high-quality output.
Mathematical expressions are rendered directly by TeX-based software, ensuring
-optimal typography for technical content.
-
-Before exporting to PDF format, be sure to have installed the theme pack and
-ConTeXt. See [@cha:installation] for details.
+optimal typography for technical content. Before exporting to PDF format, be
+sure to have installed the theme pack and ConTeXt. See [@cha:installation] for
+details.
## Theme selection
docs/16-oss.md
## Architecture overview
-[@fig:architecture] illustrates the software's high-level application
-architecture. The architecture involves a processing pipeline that transforms
+[@fig:architecture] illustrates the software's high-level application architecture. The architecture involves a processing pipeline that transforms
Markdown content through multiple stages to produce the final output. The
Markdown processor contains both prepackaged and custom extensions. This
extensible architecture allows for specialized processing of various Markdown
syntaxes.
+
+![architecture](images/architecture/architecture)
+
+:: Software architecture {#fig:architecture}
* The **"Today"** section shows a single flow where a user writes in Markdown,
etc.) to produce a variety of outputs (R Markdown, Markdown, HTML5),
demonstrating a more robust and interconnected system.
-
-![architecture](images/architecture/architecture)
-
-:: Software architecture {#fig:architecture}
docs/user-manual.pdf
Binary files differ