2.0.0 • Published 4 years ago

page-helper v2.0.0

Weekly downloads
2
License
ISC
Repository
-
Last release
4 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

4 years ago

1.3.45

5 years ago

1.3.43

5 years ago

1.3.44

5 years ago

1.3.42

5 years ago

1.3.39

5 years ago

1.3.40

5 years ago

1.3.41

5 years ago

1.3.38

6 years ago

1.3.37

6 years ago

1.3.36

6 years ago

1.3.35

6 years ago

1.3.34

6 years ago

1.3.33

6 years ago

1.3.32

6 years ago

1.3.31

6 years ago

1.3.30

6 years ago

1.3.29

6 years ago

1.3.28

6 years ago

1.3.27

6 years ago

1.3.26

6 years ago

1.3.25

6 years ago

1.3.23

6 years ago

1.3.22

6 years ago

1.3.21

6 years ago

1.3.20

6 years ago

1.3.12

6 years ago

1.3.11

6 years ago

1.3.10

6 years ago

1.3.9

6 years ago

1.3.8

7 years ago

1.3.7

7 years ago

1.3.6

7 years ago

1.3.5

7 years ago

1.3.4

7 years ago

1.3.3

7 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.7

7 years ago

1.2.6

7 years ago

1.2.5

7 years ago

1.2.4

7 years ago

1.2.3

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.9

7 years ago

1.1.8

7 years ago

1.1.7

7 years ago

1.1.6

7 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago