Metaframe template
Fast creation and deployment of advanced metaframe websites.
Target audience: developers building metaframes or any static website where having the core tools of development, building and publishing are packaged and require a small number of commands.
It has everything you need to get a connectable metaframe website up and running and deployed.
- Fork OR Create new repository
- Fork
- Create new repository
- Clone the new repository and go there in the terminal
git remote add upstream [email protected]:metapages/metaframe-inputs.git
git fetch upstream
git checkout -b upstream upstream/main
git branch -d main
git checkout -b main
git push -u origin main
- Change in
package.json
:name
to your npm module name- This repo keeps the npm module name in
package.json
close to the github repo name:- npm:
@metapages/metaframe-...?
- git:
metapages/metaframe-...?
- npm:
- This repo keeps the npm module name in
repository.url
homepage
version
: set this to e.g.0.1.0
or whatever you need
- Change in
index.html
:<title> ... </title>
- Meet host requirements
- Maybe change
APP_FQDN
andAPP_PORT
in.env
(create if needed) to avoid origin collisions - Type
just
and go from there
Getting upstream improvements:
git checkout upstream
git pull
git checkout main
git merge upstream
You'll have to manually fix the differences where they conflict (they will).
That's it. Commands are self-documenting: just type just
- automatic https certificate generation
- single command development (
just dev
) - single command publishing to npm
- single command publishing to github pages
vite
for fast buildingpreact
for efficient, fast loading sitestypescript
for type checkingchakra-ui.com
for the UI frameworkjust
for a single method to build/test/deploy/publishdocker
because I don't want to touch/rely your host system except where needed- Github Pages publishing
- automatic versioning:
/
: latest/v1.5.2/
: that version tag (so all published versions are available forever)
- automatic versioning:
- npm module publishing
- automatic versioning, linked with above
- external package versioned with the publised website
- Common UI elements
- Help button showing the (rendered) local
./Readme.md
file - Options (configurable) stored encoded in the URL hash params
- Help button showing the (rendered) local
- Metaframe outputs updated below, when connected.
just
file powered, dockerized, automated with dual human/CI controls
just
will be the command runner, notnpm
(directly) ormake
or any other underlying tech specific command runner.just
is the main entry point to control all aspects of the software lifecycle.- Prefer contextual error messages with calls to action over documentation that is not as close as possible to the code or commands. Distance creates indirection and staleness and barriers to keep updated.
- You are building to publish at github pages with the url:
https://<user_org>.github.io/<repo-name>/
- github pages 👆 comes with limited options for some config:
- we build browser assets in
./docs
instead of./dist
(typical default) so that publishing to github pages is less configuration
- we build browser assets in
- github pages 👆 comes with limited options for some config:
- Operating this repository should be "easy" and enjoyable. It's a product of love and passion, I am hoping that you enjoy using at least just a little bit.
- Fork this repo
- Clone locally
- Modify
package.json
fields to match your own repository e.g. change the module name just dev
- Modify code and publish:
just publish