Content is stored as Markdown in Cloudflare D1, media in R2, editable via the admin or CLI, with export support
mallok — WordPress Admin dashboard Template
By fobstack
Mallok is an open-source CMS and website builder that runs on Cloudflare, aimed at multilingual B2B websites. It provides Markdown content, a web admin, Liquid themes, plugins, and inquiry forms, and can serve as a WordPress alternative.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Supports multilingual content, locale URLs, canonical links, and automatic hreflang
Provides a Liquid-based theme system with five built-in designs; themes can declare content types
React admin for managing content, settings, media, and plugin configuration
Includes B2B starter content with products, categories, case studies, FAQs, and news
The inquiry plugin integrates Turnstile and Resend, and provides HTML edge caching and reusable render fragments
Template Details
Mallok is a Cloudflare-native open-source CMS and website builder positioned as a WordPress alternative for multilingual B2B websites. Content is stored as Markdown in Cloudflare D1, media is stored in R2, and it can be edited through the web admin or CLI, with support for exporting content. Publishing content does not require rebuilding the site, but changing code, themes, or installed plugins requires a rebuild and deployment.
In terms of features, it supports multilingual content, locale URLs, canonical links, and automatic hreflang; it provides a Liquid-based theme system with five built-in designs, and themes can declare content types; the admin uses React to manage content, settings, media, and plugin configuration; it includes B2B starter content with products, categories, case studies, FAQs, and news; the inquiry plugin integrates Turnstile and Resend. It also provides HTML edge caching, reusable render fragments in D1, and CLI tools for creation, publishing, export, and upgrades, with optional static builds, though static output does not include the admin or server-side inquiry handling.
Regarding usage limitations, the current version 0.1.0-rc.8 is a release candidate, not the 0.1 stable release. Real Cloudflare deployment, publishing, cache invalidation, and performance tests were conducted on rc.5, and these measurements do not prove that later release candidates meet the same standard; in that CPU sample, all 60 requests succeeded, but 16 requests had cold renders that exceeded the project's 10 ms CPU target. This is a known performance limitation, not a measured failure rate of 16 requests. The maintainer has accepted this limitation in order to open-source and share the RC. Items still to be verified include real inquiry email delivery, the natural seven-day media cleanup window, and production upgrades and rollbacks.
Local trial requires Node.js 22 or higher and pnpm 10.34.5; see .nvmrc for the repository's tested version. Running pnpm dev starts the framework development environment and uses local Wrangler resources; it does not deploy the site or create Cloudflare resources. Automatic cache invalidation requires configuring CF_API_TOKEN and CF_ZONE_ID with permission to purge the site zone cache as Worker secrets; otherwise visitors may see stale versions until the cache expires. The project is licensed under Apache-2.0.
Is it right for your project?
Use Cases
- Build a multilingual B2B corporate website showcasing products, categories, case studies, FAQs, and news
- Host a content-based website on Cloudflare, using D1 to store Markdown and R2 to store media
- Manage content through the web admin or CLI and export portable content packages
- Customize site appearance and functionality using Liquid themes and plugin interfaces
- Configure inquiry forms with Turnstile and Resend to collect customer leads
Suitable For
- Teams that want to start on Cloudflare's free tier and use an open-source CMS instead of WordPress
- Enterprises or developers that need multilingual B2B websites and inquiry collection
- Early adopters who accept the release candidate status and are willing to participate in verification and feedback
- Developers familiar with Node.js and pnpm who can deploy and configure Cloudflare resources themselves
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Local trial requires Node.js 22 or higher and pnpm 10.34.5; see .nvmrc for the repository's tested version
- 2
Running pnpm dev starts the framework development environment and uses local Wrangler resources; it does not deploy the site or create Cloudflare resources
- 3
On first checkout, create a local .dev.vars secrets file and enter MALLOK_SETUP_KEY in the setup wizard
- 4
Automatic cache invalidation requires configuring CF_API_TOKEN and CF_ZONE_ID with permission to purge the site zone cache as Worker secrets
- 5
The current version is 0.1.0-rc.8 release candidate; real inquiry email delivery, the seven-day media cleanup window, and production upgrade/rollback are still to be verified
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis listing covers the free version in the public repository under the Apache-2.0 license; the free scope is that version's code and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution are permitted; when distributing, include the Apache-2.0 license.
- Modified files must carry prominent notices of changes, and relevant copyright, patent, trademark, and attribution notices must be retained.
- If the original project includes a NOTICE file, applicable attribution notices in it must be retained when distributing derivative works.
- The license includes an applicable contributor patent grant; initiating patent litigation as described in the license terminates that patent grant, and no trademark rights are granted.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The current version is a release candidate (RC), not a stable release, and may contain unverified features and production risks.
- Cold render performance has a known limitation: in the rc.5 CPU sample, 16 requests exceeded the project's 10 ms CPU target.
- Real inquiry email delivery, the seven-day media cleanup window, and production upgrade/rollback have not yet been verified.
- You must log in to Wrangler before deploying to your own Cloudflare account.
- Automatic cache invalidation requires configuring CF_API_TOKEN and CF_ZONE_ID with permission to purge the site zone cache as Worker secrets; otherwise visitors may see stale versions.
- The inquiry plugin depends on the external Turnstile and Resend services, and real email delivery for this release candidate has not yet passed acceptance.
- The optional static build does not include the admin or server-side inquiry handling.
- Changing code, themes, or installed plugins requires a rebuild and deployment; publishing content alone does not require a rebuild.
- Local running requires Node.js 22 or higher and pnpm 10.34.5.
- The Cloudflare one-click deploy button is not yet available.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; they cannot be judged solely by the code's Apache-2.0 license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
no-charge, royalty-free, irrevocable copyright license
Original License Text
0.1.0-rc.8 is a release candidate, not the 0.1 stable release.
Original README
cold rendering exceeded the project's 10 ms CPU target in 16 requests
Original README
Remaining verification includes real inquiry email delivery, the natural seven-day media cleanup window, and production upgrade/rollback.
Original README
sign in with Wrangler first
Original README
For automatic cache invalidation, configure `CF_API_TOKEN` with Cache Purge permission scoped to the site's zone, together with `CF_ZONE_ID`, as Worker secrets.
Original README
An inquiry plugin integrating Turnstile and Resend; real delivery acceptance is still pending for this candidate.
Original README
An optional static build; static output does not include the admin or server-backed inquiry handling.
Original README
Changes to code, themes, and installed plugins require a build and deployment.
Original README
Prerequisites: Node.js 22 or newer and pnpm 10.34.5.
Original README
https://github.com/fobstack/mallok/blob/main/LICENSEhttps://github.com/fobstack/mallok/blob/main/README.mdThe Deploy to Cloudflare button is not available yet.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 88 / 100
- Technologies
- WordPress
- Website type
- Admin dashboard · Corporate Website
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-10-01
- Screenshot last checked
- 2026-10-02
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies WordPress as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 02a0902186362b90f4e70e4acf735ef58fb55c06520018cd94b8cc15d14de5da
2026-10-02T08:30:06.821Z
Source file / repository# Mallok **The Cloudflare-native CMS and website builder for multilingual B2B websites.** An open-source WordPress alternative with Markdown content, a web admin, Liquid themes, plugins, and inquiry forms, running on Cloudflare's free tier. [English](README.md) · [简体中文](README.zh-CN.md) [Live demo](https://demo.mallok.dev/) · [Documentation](docs/README.md) · [npm](https://www.npmjs.com/package/mallok) [](https://demo.mallok.dev/) Explore the English-first, read-only Atelier demo. The sample company and content are fictional; inquiry collection and the admin are not enabled there. Deploy to your own Cloudflare account. Store content in D1 and media in R2, edit through the admin or CLI, and export your content when you need it. Publishing content does not require rebuilding the website. Changes to code, themes, and installed plugins require a build and deployment. ## Release status **0.1.0-rc.8 is a release candidate, not the 0.1 stable release.** Real Cloudflare deployment, publishing, cache invalidation, and performance tests were run on rc.5; those measurements do not certify later candidates. All 60 requests in that CPU sample succeeded, but cold rendering exceeded the project's 10 ms CPU target in 16 requests. This is a known performance limitation, not a measured 16-request failure rate. The maintainer has accepted this limitation for opening the source and sharing an RC. Remaining verification includes real inquiry email delivery, the natural seven-day media cleanup window, and production upgrade/rollback. See [release status](docs/RELEASE_STATUS.md) for measured results and gaps. **[GitHub](https://github.com/fobstack/mallok/releases/tag/v0.1.0-rc.8) and [npm](https://www.npmjs.com/package/mallok/v/0.1.0-rc.8) are published.** Create your site: ```sh npx mallok create my-site ``` This creates resources and deploys to your Cloudflare account; sign in with Wrangler first. Add `--no-deploy` to generate and validate a local project without creating cloud resources. Read the [step-by-step setup guide](docs/GETTING_STARTED.md) for login, deployment, admin setup, publishing and inquiry configuration. ## Features - Markdown content in D1; original content remains exportable. - Multilingual content, locale URLs, canonical links, and automatic hreflang. - Liquid themes with five bundled designs; content kinds declared by themes. - React admin for content, settings, media, and plugin configuration. - A B2B starter with products, categories, cases, FAQs, and news. - An inquiry plugin integrating Turnstile and Resend; real delivery acceptance is still pending for this candidate. - HTML edge caching and reusable rendered fragments in D1. - CLI tools for creation, publishing, export, and upgrades. - An optional static build; static output does not include the admin or server-backed inquiry handling. The runtime is internal to Mallok (`src/runtime`). There is no separate runtime package to install. Site-level functionality extends Mallok through its theme, plugin, and starter interfaces. ## Try the source locally Prerequisites: Node.js 22 or newer and pnpm 10.34.5. See `.nvmrc` for the repository's test version. ```sh git clone https://github.com/fobstack/mallok.git cd mallok pnpm install --frozen-lockfile # First checkout only: create local secrets without overwriting an existing file. (umask 077; set -C; printf 'MALLOK_SECRET=%s\nMALLOK_SETUP_KEY=%s\n' \ "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .dev.vars) pnpm dev ``` This starts the framework development environment with local Wrangler resources. It does not deploy a site or create Cloudflare resources. Open the local URL printed by Wrangler and enter the `MALLOK_SETUP_KEY` from your local `.dev.vars` into the setup wizard. Keep this file private; it is ignored by Git. See [Testing](docs/TESTING.md) for browser tests. Run `pnpm test` for unit and integration checks. The npm package and GitHub attachment are the same verified tarball. See the [release runbook](docs/RELEASE_GATE.md) for the verification procedure. The Deploy to Cloudflare button is not available yet. ## Framework and site repositories This repository develops **the Mallok framework**. A generated site is a separate, small project depending on an exact `mallok` package version. Its configuration, content, custom themes, and plugins belong to the site owner; upgrades do not require merging a fork of this framework. Content bundles use Markdown files and relative media paths. The setup flow can import the starter content into D1. Admin edits update D1; they do not write back to Git. Export creates portable content bundles. See [content format](docs/CONTENT_FORMAT.md) and [CLI](docs/CLI.md). ## Hosting and caching Mallok is designed to start on Cloudflare's free allowances. Actual cost and capacity depend on usage, plan limits, domain registration, and optional services such as email. Free operation is not an unlimited-service promise. For automatic cache invalidation, configure `CF_API_TOKEN` with Cache Purge permission scoped to the site's zone, together with `CF_ZONE_ID`, as Worker secrets. Without them, visitors can see the previous version until its cache expires. Never commit credentials. Cloudflare or third-party integrations can inject JavaScript even where Mallok's theme itself emits none. ## Documentation and contributing - [Documentation index](docs/README.md) · [中文文档导航](docs/zh-CN/README.md) - [Release status and known limitations](docs/RELEASE_STATUS.md) - [Theme format](docs/THEME_FORMAT.md) · [Plugin API](docs/PLUGIN_API.md) - [Contributing](CONTRIBUTING.md) · [中文贡献指南](CONTRIBUTING.zh-CN.md) - [Security reporting](SECURITY.md) · [Code of conduct](CODE_OF_CONDUCT.md) English is the primary documentation language. Chinese translations supplement it; untranslated technical references remain linked to their English originals. ## License [Apache-2.0](LICENSE). See [NOTICE](NOTICE) and the distribution's generated third-party notices for bundled dependencies and font attribution.
Explore similar templates
Compare previews and descriptions within the same stack and category.

reactpress-plugin-starter
A runnable minimal ReactPress 4.0 plugin starter that demonstrates server-side hooks, plugin.json manifest settings, admin settings pages, editor slots, and locale files. Requires Node.js 18+, ReactPress 4.0.0+, and the 4.x beta toolkit, and must be placed in the monorepo's plugins/{id}/ directory.
WordPress · Admin dashboard

real_estate_wordpress_theme
A custom WordPress theme for real estate sales, built with HTML, CSS, JavaScript, and PHP. It offers responsive layouts, customizable templates for different post types, and integrates widgets, custom fields, menus, custom colors, fonts, layout options, social media, and custom post types.
WordPress · Corporate Website

Stratify-WP-Theme
Stratify is a WordPress portfolio theme for digital agencies, designers, and creative professionals, used to showcase work and brand identity. It provides modern layouts for digital brands and a filterable portfolio gallery for browsing work by category.
WordPress · Portfolio

Bus-Template-Theme-Wordpress
A single-file HTML template for bus tour, charter, and group travel companies, with homepage carousels, routes, fleet, shop, blog samples, a validated booking form, and responsive navigation. MIT licensed for this version's code, but third-party assets and external services are not covered.
WordPress · Corporate Website

nexgen-tech-wp-theme
NEXGEN Tech is a dark WordPress theme for software agencies, digital studios, and tech startups.
WordPress · Portfolio

hugo-travelify-theme
hugo-travelify-theme is an MIT-licensed Hugo blog theme ported from Aigars Silkalns's WordPress theme Travelify.
Hugo · Blog
