Set of scripts for quick prototyping of web user interfaces.
In the context of Prospekt, quick prototyping consists of:
- Defining interface structure from an end-user perspective, i.e. application screens.
- Defining content elements which are placed on a specific page, e.g. navigation, contact form and similar.
For quick example:
- Serve directory
examples/small-company-website
with HTTP server. - Open location in the web browser to see website prototype.
- Browse through source code in that directory to see how Prospekt is used to create prototypes.
- Create main
index.html
which loads Prospekt files and has entry<router></router>
element. - Create folder
partials
where components, e.g. navigation and header, are placed. - Create folder
templates
where application screens are placed.- Home screen should be named
index.html
. - Routes are defined by file names, e.g. file
about.html
will be rendered on the url#/about
and can be accessed in HTML withhref="#/about"
. - Each HTML template consists of
template
tag and optionalscript
andstyle
tags. - Each template can include partial templates with the usage of
<partial src="" />
element. - For example, if
partials/header.html
file should be included in thetemplates/index.html
view, element<partial src="header" />
should be added inside thetemplates/index.html
root template element.
- Home screen should be named
- Serve root project folder with any HTTP/S server.
This application is not intended for production usage. Therefore, it should work fine in modern browsers which support latest CSS and ES features.
All examples are located in the examples
directory.
Standard small company website which consists of home, about and contact pages. Where each page has header and footer.
- Environment: Node.js v10.16, NPM 6.9.0
- Build Tool: Gulp
Prospekt consists of several modular elements.
- Semantic CSS
- Style sheets oriented towards semantic structure of HTML elements.
- Supports explanation tooltips for specific elements via
explain
attribute.
- Capital M
- Minimal JS library with shorthands for common functions and with custom functions for faster development.
- Router
- Hash-based router for web applications which loads and renders HTML templates based on the URL location.
- [General] Add support for Prospekt configuration, e.g. location of
templates
andpartials
folders. - [General] Build system with code linting and minification for JS and CSS files.
- [General] Unit tests for Capital M.
- [General] Unit tests for Router.
- [Docs] Documentation with examples for Capital M script.
- [Docs] Documentation with examples for Router script.
- [Docs] Documentation with examples for stylesheet.
- [Docs] Development documentation.
- [Router] Navigation history.
- [Router] Run optional script before first view is rendered.
- [General] Rewrite JS files in TypeScript.
Prospekt is released as open source software under the GPL v3 license, see the LICENSE file in the project root for the full license text.