Website Meta Language is a legacy offline HTML preprocessor written in Perl 5 and C that transforms WML source files into static HTML pages, originally created in the 1990s for static site generation.
What is Website Meta Language?
Website Meta Language (WML) is an offline HTML preprocessor designed for static site generation. It takes plain text source files that contain WML macros and markup, processes them locally without a web server, and outputs finished HTML pages. The project dates back to the 1990s and is implemented in a combination of Perl 5 and C. The current repository is maintained on GitHub under the thewml/website-meta-language organization, with the main source code located in the src/ subdirectory and continuous integration provided by Travis CI and AppVeyor.
Key Features
The core capabilities of WML center on its offline preprocessing model, its dual-language implementation, and its long history of legacy conventions.
- Offline preprocessing — Converts WML-annotated source files directly into static HTML files on the local machine, with no server or database required.
- Perl 5 and C codebase — Built from two languages, allowing it to run on any system with a Perl interpreter and a C compiler.
- Static site generation capability — The README explicitly lists WML as usable for static site generation, referencing staticsitegenerators.net.
- 1990s legacy conventions — Carries historical syntax and practices from its decade of origin, which can make it quirky and harder to learn for modern developers.
- Continuous integration — The GitHub repository includes automated build configurations for both Travis CI and AppVeyor, covering Linux and Windows environments.
- Maintained for legacy users — The project remains maintained, but the description explicitly recommends against using it for new projects.
Who is it for?
Website Meta Language is intended for people who already maintain websites built with WML in the past and need to continue updating them without migrating to a different static site generator. It may also appeal to developers or historians studying the evolution of static site generation tools from the 1990s. The README provides a link to Latemp, a higher-level static site generator built on top of WML, so developers working with Latemp will encounter WML as its underlying engine.
What can you do with it?
WML supports static site generation from source files, legacy maintenance workflows, and educational exploration of 1990s web tooling.
- Maintain a legacy WML website: Edit the original WML source files and rerun the preprocessor to regenerate the corresponding static HTML pages, preserving the site's existing structure and macros.
- Study preprocessor-based site generation: Examine how a 1990s tool implemented macros, includes, and output generation by reading the Perl and C source in the repository.
- Plan a migration: Use WML's output as a baseline comparison when moving an existing site to a modern static site generator, ensuring the new output matches the old pages.
FAQ
Is Website Meta Language recommended for new projects?
No. The project description states that WML is "probably not recommended for new sites" and suggests using a different static site generator instead, or building a custom solution based on a template system.
What programming languages is Website Meta Language written in?
Website Meta Language is written in Perl 5 and C. This mixture dates back to its 1990s origin and means it requires a Perl interpreter and C compiler to build and run.
What static site generators are related to Website Meta Language?
Latemp is a static site generator built on top of Website Meta Language, similar to how LaTeX is built on top of TeX. The README includes a link to Latemp and notes this relationship.
When was Website Meta Language created?
Website Meta Language dates back to the 1990s. No specific release year is given in the repository metadata.








