
Security News
New CVE Forecasting Tool Predicts 47,000 Disclosures in 2025
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
Theme-able HTML markup generator.
Sample usage:
const Page = require('@ayn/pagejs')
let page = new Page({ title: 'Hello World!' })
.div(_=>{
_.div('I am a div inside a div.')
_.h1({ style: 'color: red;' },'Cool, uh?', _=>{
_.br()
_.span('I am inside h1, so I am red too!')
})
})
let markup = page.getMarkup()
Constructor takes a single object used for configuration, here are the default values:
{
doctype: '<!doctype html>',
lang: 'en',
charset: 'utf-8',
title: 'Untitled paged',
body: 'No content.',
theme: null,
tags: {
self_closing: [
'area', 'base', 'br', 'col', 'embed', 'wbr', 'input',
'img', 'source', 'link', 'meta', 'param', 'hr', 'track'
],
autoclose: false,
}
}
There is only one method.
page.getMarkup()
Returns the markup code of the page or in the case of a child element (obtained through a tag callback) a subset of it.
Child elements also contain two properties el.parent
and el.siblings
.
You can also process objects directly.
new Page().getMarkup({
div: {
attributes: { style: 'background: purple' },
content: 'wowza',
children: []
}
})
Plain HTML is useful but not very practical in rapid development.
PageJS supports themes in the form of a JSON object. You can create your own as well as used pre-existing ones. This makes working with css frameworks even easier than working with them directly.
Here's an example:
let page = new Page({theme:'boostrap-4', title: 'Admin Panel' })
.navbar({ class: 'dark_dark' }, _=>{
_.brand({ href:'website.com' }, 'COMPANY')
_.toggler()
})
.container({ class: 'fluid', style: 'padding: 20px'}, _=>{
_.breadcrumb(_=>{
_.item('Home')
_.item('Library')
})
_.jumbotron(_=>{
_.h1('Hello, world!')
_.p('Welcome to my page! It was made with JS.')
_.br()
_.btn('Learn more')
})
})
Which results in
Themes allow for the creation of sudo tags and sudo classes.
You can check out a base theme file here as well as find information on its structure.
You can use the pagejs-webpack-plugin.
To compile .page.js
files into .html
if you wish to skip html all together in your projects.
If you would like to support me
or feel free to hire me!
FAQs
Generate HTML5 with javascript.
The npm package pagejs receives a total of 4 weekly downloads. As such, pagejs popularity was classified as not popular.
We found that pagejs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.