This is the client part of Calavera. It allows to create a nice website from a Git repository containing Markdown docs.
- Renders a repository containing Markdown docs in HTML
- Exposes docs and metadata (authors, modification dates...) through a JSON-LD API
- Single Page Application built with React, Redux and React Router
- Universal Rendering (Server-Side Rendering)
- Bootstrap theme
- Edit on GitHub link
- Google Analytics integration
- Docker setup
- Easy to customize
Be sure to have Docker installed on your machine the:
- Install the client:
git clone https://github.com/dunglas/calavera-react-client
- Clone the Git repository containing Markdown files in the data directory:
git clone https://github.com/api-platform/docs data-src
- Generate .jsonld files using Calavera:
docker run -v $PWD/data-src:/in -v $PWD/src/static/data:/out dunglas/calavera /in /out
- Copy assets and images:
cd data-src && find . -not -name '*.md' -exec rsync -R {} ../src/static/data \; && cd -
- Install JS dependencies:
docker-compose run web npm install
- Start the container:
docker-compose up
Features can be enabled or disabled using environment variables. If you use Docker, you can set them directly in the docker-compose.yml
file.
You can define two environment variables to enable the “Edit on GitHub” link:
CALAVERA_GITHUB_DOCUMENTATION_REPOSITORY
: the path of the github repo (eg.api-platform/docs
), with no trailing slash. If present, the “edit on github” link will be displayed.CALAVERA_GITHUB_DOCUMENTATION_BRANCH
: the branch of the repo to link to (default tomaster
)
Create a CALAVERA_GOOGLE_ANALYTICS_ID
environment variable containing your Google Analytics ID (UA-XXXXXXXX-1
) and the
Google Analytics integration will be enabled.
Main authors: Kévin Dunglas and Rodrigue Villetard. Sponsored by Les-Tilleuls.coop.
Built using React Redux Universal Hot Example.