Update documentation for mixed content formats and ordering
Clarify that content files can be Markdown, HTML, or PHP Add explanation of numbered prefixes for file ordering Update example structures to reflect new capabilities Standardize documentation links and formatting
This commit is contained in:
parent
9be457f17f
commit
e7e360005d
2 changed files with 32 additions and 27 deletions
35
README.md
35
README.md
|
|
@ -1,6 +1,6 @@
|
||||||
# FolderWeb
|
# FolderWeb
|
||||||
|
|
||||||
**Just enough, nothing more.** Drop Markdown files in folders, and they become pages. No database, no build process.
|
**Just enough, nothing more.** Drop content files in folders, and they become pages. No database, no build process.
|
||||||
|
|
||||||
## What is FolderWeb?
|
## What is FolderWeb?
|
||||||
|
|
||||||
|
|
@ -11,38 +11,41 @@ FolderWeb is a content publishing framework where your file system is your conte
|
||||||
## Key Features
|
## Key Features
|
||||||
|
|
||||||
- **File-based routing**: `content/blog/post/` → `yoursite.com/blog/post/`
|
- **File-based routing**: `content/blog/post/` → `yoursite.com/blog/post/`
|
||||||
- **Multi-language support**: Built-in i18n with URL prefixes
|
- **Multiple content formats**: Write in Markdown, HTML, or PHP — and mix them freely within the same page. Use Markdown for prose, HTML for structured sections, and PHP when you need dynamic output. Prefix filenames with numbers (`10-intro.md`, `20-gallery.html`) to control render order.
|
||||||
- **Template system**: Override defaults with custom templates
|
- **Template system**: Override any default template with your own
|
||||||
|
- **Multi-language support**: Built-in i18n with URL prefixes and per-file translations
|
||||||
- **Modern CSS**: CSS variables, nesting, OKLCH colors, grid layouts
|
- **Modern CSS**: CSS variables, nesting, OKLCH colors, grid layouts
|
||||||
- **No build process**: Save and refresh—see changes immediately
|
- **No build process**: Save and refresh — see changes immediately
|
||||||
|
|
||||||
## Example Structure
|
## Example Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
project/
|
project/
|
||||||
├── app/ # App (never modify)
|
├── app/ # Application (never modify)
|
||||||
├── content/ # Your website content
|
├── content/ # Your website content
|
||||||
│ ├── front.md # Home page
|
│ ├── front.md # Home page
|
||||||
│ ├── about/ # About page
|
│ ├── about/
|
||||||
│ │ └── about-me.md
|
│ │ └── about-me.md
|
||||||
│ └── blog/ # Blog with list view
|
│ ├── portfolio/
|
||||||
│ ├── metadata.ini # Configure template
|
│ │ ├── 10-intro.md # Markdown prose
|
||||||
|
│ │ ├── 20-gallery.html # HTML layout
|
||||||
|
│ │ └── 30-stats.php # Dynamic PHP output
|
||||||
|
│ └── blog/
|
||||||
|
│ ├── metadata.ini
|
||||||
│ ├── 2025-11-01-first-post/
|
│ ├── 2025-11-01-first-post/
|
||||||
│ │ ├── first-post.md
|
│ │ ├── first-post.md
|
||||||
│ │ ├── cover.jpg
|
│ │ ├── cover.jpg
|
||||||
│ │ └── metadata.ini
|
│ │ └── metadata.ini
|
||||||
│ └── 2025-11-02-second-post/
|
│ └── 2025-11-02-second-post/
|
||||||
│ └── another-post.md
|
│ └── post.md
|
||||||
└── custom/ # Your customizations
|
└── custom/ # Your customizations
|
||||||
├── templates/ # Custom templates
|
├── templates/
|
||||||
├── styles/ # Custom CSS
|
├── styles/
|
||||||
└── config.ini # Configuration
|
└── config.ini
|
||||||
```
|
```
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
**Complete documentation available in [`docs/`](docs/)**
|
Complete documentation available in [`docs/`](docs/).
|
||||||
|
|
||||||
## Learn More
|
Start with the **[Getting Started guide](docs/01-getting-started/index.md)** or browse the **[tutorial](docs/02-tutorial/)**.
|
||||||
|
|
||||||
Start with the **[Getting Started Tutorial](docs/tutorial/00-getting-started.md)** or browse the **[complete documentation](docs/)**.
|
|
||||||
|
|
|
||||||
|
|
@ -97,19 +97,21 @@ content/
|
||||||
|
|
||||||
## Multiple Files in One Page
|
## Multiple Files in One Page
|
||||||
|
|
||||||
You can combine multiple content files in a single directory. They render in **alphabetical order**:
|
You can combine multiple content files in a single directory. They render as a single page, combined in filename order.
|
||||||
|
|
||||||
|
**Prefix filenames with numbers to control the order:**
|
||||||
|
|
||||||
```
|
```
|
||||||
content/portfolio/
|
content/portfolio/
|
||||||
├── 00-hero.php # Renders first
|
├── 10-hero.php # Renders first — dynamic PHP banner
|
||||||
├── 01-intro.md # Renders second
|
├── 20-intro.md # Renders second — Markdown prose
|
||||||
├── 02-gallery.html # Renders third
|
├── 30-gallery.html # Renders third — HTML layout
|
||||||
└── 03-contact.md # Renders last
|
└── 40-contact.md # Renders last — Markdown form
|
||||||
```
|
```
|
||||||
|
|
||||||
All four files render as one page at `/portfolio/`.
|
All four files render as one page at `/portfolio/`. You can mix `.md`, `.html`, and `.php` freely — use whichever format fits each section best.
|
||||||
|
|
||||||
**Use case:** Build pages from modular components—header, content, footer, etc.
|
**Why number prefixes?** Files are sorted using natural sort (`strnatcmp`), so `10-` comes before `20-` comes before `30-`. Using increments of 10 leaves room to insert new sections later without renaming existing files. Files without a number prefix sort after numbered files.
|
||||||
|
|
||||||
## Dates in Folder Names
|
## Dates in Folder Names
|
||||||
|
|
||||||
|
|
@ -273,13 +275,13 @@ summary = "An introduction to my blog"
|
||||||
|
|
||||||
```
|
```
|
||||||
content/services/
|
content/services/
|
||||||
├── 00-hero.php
|
├── 10-hero.php
|
||||||
├── 01-intro.md
|
├── 20-intro.md
|
||||||
├── 02-pricing.html
|
├── 30-pricing.html
|
||||||
└── metadata.ini
|
└── metadata.ini
|
||||||
```
|
```
|
||||||
|
|
||||||
All files render together as one page at `/services/`.
|
All content files render together as one page at `/services/`, in number-prefix order.
|
||||||
|
|
||||||
### Documentation Site
|
### Documentation Site
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue