2019-11-16 13:26:19 +01:00
# HIPPIE
2023-10-25 17:31:34 +02:00
Hippie interweaves preeminent personal interface elements
2019-11-16 13:26:19 +01:00
> WORK IN PROGRESS (it is not ready to be used)
2023-10-18 18:18:11 +02:00
This is a [Node.js ](https://nodejs.org/ ) based generator for static HTML documents.
2019-11-16 13:26:19 +01:00
It uses the [gulp ](https://gulpjs.com/ ) module to fiddle everything together. Styling is powered by the CSS extension language [SASS ](https://sass-lang.com/ ). The HTML pages itself are made with the templating engine [Nunjucks ](https://mozilla.github.io/nunjucks/ ).
2023-10-18 18:18:11 +02:00
## Installing
2019-11-16 13:26:19 +01:00
2023-10-18 18:18:11 +02:00
Clone the repository `https://quelltext.interaktionsweise.de/interaktionsweise/hippie.git` to a folder to create your build environment.
2019-11-16 13:26:19 +01:00
Change to the newly created folder. By default this would be *hippie* .
2021-03-09 15:54:23 +01:00
Run the command `git submodule update --init` .
This will load the submodules.
2019-11-16 13:26:19 +01:00
Run the command `npm install` .
2023-10-18 18:18:11 +02:00
This will install all dependencies into the folder *node_modules* .
2019-11-16 13:26:19 +01:00
2023-10-18 18:18:11 +02:00
## Usage
2020-12-22 20:10:58 +01:00
2019-11-16 13:26:19 +01:00
The command `gulp --tasks` will give you an overview of possible actions.
Run the command `gulp` for a live development environment.
2020-12-22 20:10:58 +01:00
This will create a folder *build* with the resulting files.
2023-10-18 18:18:11 +02:00
Also the source files will be watched for changes which are reflected live at [localhost:3000 ](http://localhost:3000 ) and the *build* directory.
2019-11-16 13:26:19 +01:00
`gulp build` will create the resulting *build* directory ready for deployment.
2020-12-22 20:10:58 +01:00
HIPPIE is intended to be used as a basis when creating HTML sites. It can be used without changes. It can be modified to have a different look and feel. It also can be used to build a new basis on top of it.
2023-10-18 18:18:11 +02:00
## Content
2019-11-16 13:26:19 +01:00
2020-12-22 20:10:58 +01:00
### Intro
There is an *intro* page which explains the main elements and their intended usage. It uses the default styling methods and also shows variations. The page is written in german language. However it has a semantic structure and the text itself can also just be seen as example content.
2023-10-18 18:18:11 +02:00
### Sass (CSS)
2020-12-22 20:10:58 +01:00
Everything has its default style.
2023-10-18 18:18:11 +02:00
CSS classes follow a naming scheme of `<object>_<description>` .
2026-02-14 12:16:55 +01:00
- *Object* usually is the name of the HTML element. If it is not a element directly it is the thing which receives the styling
2024-03-30 20:52:37 +01:00
- *Description* is a name of the style e.g. what it does, how it looks
2023-10-18 18:18:11 +02:00
2026-02-14 12:16:55 +01:00
### JavaScript (JS)
The codebase uses ECMAScript 2023 Language Specification (14th edition).
However, currently the JSHint configuration only allows 11 as highest version.
ID values are written in *camelCase* . The scheme further uses parts for specific contexts.
If the ID is for an interactive element the first part is an abbreviation of the action.
2026-02-14 18:54:14 +01:00
- `add` - Add
2026-02-14 12:16:55 +01:00
- `qry` - Query
2026-02-14 18:54:14 +01:00
- `rmv` - Remove
2026-02-14 12:16:55 +01:00
- `set` - Set
- `slt` - Select
- `tgl` - Toggle
2023-10-18 18:18:11 +02:00
## Versioning
This project uses [SemVer ](http://semver.org/ ) for versioning. For the versions available, see the [tags on this repository ](https://quelltext.interaktionsweise.de/interaktionsweise/hippie/tags ).
2024-03-30 20:52:37 +01:00
## Contribution
For contribution please use the [Conventional Commits ](https://www.conventionalcommits.org/en/v1.0.0/#summary ) specification.
The commit *type* can include the following:
- feat – A new feature is introduced with the changes
- fix – A bug fix has occurred
- chore – Changes that do not relate to a fix or feature and don't modify src or test files (for example updating dependencies)
- refactor – Refactored code that neither fixes a bug nor adds a feature
- docs – Updates to documentation such as a the README or other markdown files
- style – Changes that do not affect the meaning of the code, likely related to code formatting such as white-space, missing semi-colons, and so on.
- test – Including new or correcting previous tests
- perf – Performance improvements
- ci – Continuous integration related
- build – Changes that affect the build system or external dependencies
- revert – Reverts a previous commit
2023-10-18 18:18:11 +02:00
## Authors
**Stephan Hagedorn** - *Initial work* - [Interaktionsweise ](https://interaktionsweise.de )
## License
This project is licensed under the MIT License - see the [LICENSE.md ](LICENSE.md ) file for details.