2.0.0 • Published 3 years ago

page-helper v2.0.0

Weekly downloads
2
License
ISC
Repository
-
Last release
3 years ago

Page Helper

Build Status

A JavaScript library for building modular web apps.

New Features

  • Pre-render requests now support headers, body and POST method.

Installation

This library is available as a NPM package. Install by running the command bellow:

$ npm i page-helper --save-dev

How-To

Create your first layout and page component inside web/src directory.

web/src/index.html

<!DOCTYPE html>
<html>
<head>
<base href="/">
...
</head>
<body>
...
<!-- Page helper uses Handlebars.js to render HTML templates -->
{{> router-outlet}} <!-- Router outlet for page rendering -->
...
{{> definitions}} <!-- For necessary scripts, resources and component definitions -->
</body>
</html>

web/src/components/page-home.html

<template>
Hello World!
</template>

Create app and run local server

const helper = require('page-helper');

const app = new helper.Helper({
    workingDir: 'web/src', // source code of your web app
    defaultLocale: 'en',
    routes: [
        {
            path: '/', // use '/*' for the catch-all handler
            component: 'page-home', // component name
            outlet: 'router-outlet' // default
        }
    ]
});

gulp.task('serve',  () => {
    app.parseLayout('web/src/index.html'); // parse layout
    app.parse('web/src/components/page-home.html'); // parse component

    expressApp.use(express.static('web/src/static')); // serve static files
    
    app.setupExpress(expressApp, {liveReload: true}); // serve our app
    
    expressApp.listen(3000); // listen on port
});

Build app for production

...

gulp.task('build',  () => {
    app.parseLayout('web/src/index.html'); // parse layout
    app.parse('web/src/components/page-home.html'); // parse component
    
    app.build('web/dist') // build to directory
});

Plugins

Page helper is currently extended with the following plugins. Instructions on how to use them in your own application are linked below.

PluginREADME
Handlebarshttps://github.com/wycats/handlebars.js
Pageshttps://github.com/ales6164/pages
Custom Elementshttps://github.com/webcomponents/custom-elements

Todos

  • Write sample app
  • Extend locale functionalities
  • Add support for dynamic routing

License

MIT

Free Software, Hell Yeah!

2.0.0

3 years ago

1.3.45

3 years ago

1.3.43

3 years ago

1.3.44

3 years ago

1.3.42

4 years ago

1.3.39

4 years ago

1.3.40

4 years ago

1.3.41

4 years ago

1.3.38

5 years ago

1.3.37

5 years ago

1.3.36

5 years ago

1.3.35

5 years ago

1.3.34

5 years ago

1.3.33

5 years ago

1.3.32

5 years ago

1.3.31

5 years ago

1.3.30

5 years ago

1.3.29

5 years ago

1.3.28

5 years ago

1.3.27

5 years ago

1.3.26

5 years ago

1.3.25

5 years ago

1.3.23

5 years ago

1.3.22

5 years ago

1.3.21

5 years ago

1.3.20

5 years ago

1.3.12

5 years ago

1.3.11

5 years ago

1.3.10

5 years ago

1.3.9

5 years ago

1.3.8

5 years ago

1.3.7

6 years ago

1.3.6

6 years ago

1.3.5

6 years ago

1.3.4

6 years ago

1.3.3

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.2.7

6 years ago

1.2.6

6 years ago

1.2.5

6 years ago

1.2.4

6 years ago

1.2.3

6 years ago

1.2.2

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.9

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago