Skip to content

rill-js/page

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

19 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Rill
@rill/page
API stability Standard NPM version Downloads Gitter Chat

Full page management for Rill. Updating the document is done using the set-page library, with the same api (excluding render).

Installation

npm install @rill/page

Example

const app = require('rill')()
const page = require('@rill/page')
const React = require('react')
const renderer = require('@rill/react')

// Set default <head> tags (can override later).
// Must come before render middleware.
app.get(page
  .html({ lang: 'en' })
  .body({ class: 'loading' })
  .meta({ charset: 'utf8' })
  .title('My App')
  .meta({ name: 'author', content: 'Dylan Piercey' })
  .meta({ name: 'descripton', content: 'It is very cool' })
  .link({ rel: 'stylesheet', href: 'index.css' })
  .script({ src: 'index.js', async: true })
)

// Setup React rendering in Rill as an example, but any will do.
app.use(renderer({ root: 'body' }))

app.get('/admin',
  // Override the title for the admin page.
  page.title('My App > Admin'),
  ({ req, res, page }, next)=> {
    // You can also override dynamically by accessing `page` from the context.
    page.meta({ name: 'description', content: 'Updated description' })

    // @rill/page will wrap any html already rendered (in this case jsx) with a document.
    res.body = <div>Hello World</div>

    // On the server the final response will be. (formatted for clarity)
    html`
      <!DOCTYPE html>
      <html>
        <head>
          <meta charset="utf8">
          <title>My App > Admin</title>
          <meta name="author" name="Dylan Piercey">
          <meta name="description" content="Updated description">
          <link rel="stylesheet" href="index.css">
          <script src="index.js" async></script>
        </head>
        <body>
          <div>Hello World</div>
        </body>
      </html>
    `
  }
)

Contributions

  • Use npm test to run tests.

Please feel free to create a PR!

About

๐Ÿ—’ Full page <head> management for Rill.

Resources

Stars

Watchers

Forks

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy