Documentation
F3// Fast Fucking Framework
Welcome to the documentation for F³. This framework is designed to eliminate build steps, complex configurations, and boilerplate code. It favors convention over configuration and runs blazingly fast on Bun or Node.
NOTE:Ensure you have
host.json properly set up before deploying to production.
01.Routing
F³ uses a file-system based router. Files inside the www/ directory map directly to URLs.
FILE STRUCTURE
- www/index.html → /
- www/about.html → /about
- www/blog/index.html → /blog
DYNAMIC ROUTES
- www/[id].html → /123
- www/[users.id]/index.html → /1AUTO-LOAD
Auto-Loading Data:Naming a folder [table.column] triggers the Auto-Loader.
// URL: /1 (mapped to www/[users.id]/)
<h1>{{ auto.users.username }}</h1>
<h1>{{ auto.users.username }}</h1>
02.Database & Schema
F³ includes a zero-config SQLite wrapper. Define your tables in schema.json and the framework handles migrations automatically on startup.
schema.json
{
"products": {
"name":"string",
"price":"number",
"active":"bool"
}
}
To access data in templates:
# Get all products
{{ data.products.get().map(p =>`<li>${p.name}</li>`).join('') }}
# Get specific
{{ data.products.first({ id: 1 }).name }}
{{ data.products.get().map(p =>`<li>${p.name}</li>`).join('') }}
# Get specific
{{ data.products.first({ id: 1 }).name }}
03.Element System
Reusable components live in the elements/ folder. You can nest them as deeply as you like.
File Path
elements/layout/header.html
Usage
{{ element.layout.header }}