Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vanilla-os/chronos-frontend

A frontend in Vue.js for the Chronos documentation server.
https://github.com/vanilla-os/chronos-frontend

chronos documentation frontend hacktoberfest vanillaos website

Last synced: 3 days ago
JSON representation

A frontend in Vue.js for the Chronos documentation server.

Awesome Lists containing this project

README

        

# Chronos Vue.js frontend

A frontend in Vue.js for the [Chronos](https://github.com/vanilla-os/chronos)
documentation server.

## Configuration

The configuration is done in the `public/chronos.json` file. The following
options are available:

```json
{
"title": "Chronos Documentation",
"logoTitle": "Documentation",
"logoUrl": "/logo.svg",
"description": "A frontend in Vue.js for the Chronos documentation server.",
"baseUrl": "http://localhost:5173",
"chronosCollections": [
[
{
"shortName": "docs",
"title": "Docs",
"url": "http://localhost:8080/documentation",
"description": "Read the technical documentation for the Awesome project."
}
],
[
{
"shortName": "handbook",
"title": "Handbook",
"url": "http://localhost:8080/handbook",
"description": "Are you a new user? Read the handbook to learn how to use the Awesome project."
}
]
],
"extraLinks": [
[
{
"url": "https://github.com/vanilla-os/Chronos",
"name": "Source Code"
}
]
]
}
```

the following optional are available for collections:

- `editUrl`: the URL to the edit page of the collection, it must contain the
`{{lang}}` and `{{slug}}` placeholders, for example:
`https://github.com/Vanilla-OS/documentation/blob/main/articles/{{lang}}/{{slug}}.md`

you can also generate the configuration file using the `npm run generate-config`
command, by setting the following environment variables:

- `CHRONOS_TITLE`
- `CHRONOS_LOGO_TITLE`
- `CHRONOS_LOGO_URL`
- `CHRONOS_DESCRIPTION`
- `CHRONOS_BASE_URL`
- `CHRONOS_COLLECTION*` (where \* is a number)
- `CHRONOS_EXTRA_LINK*` (where \* is a number)

for example:

```bash
CHRONOS_TITLE='Chronos Documentation' \
CHRONOS_LOGO_TITLE='Documentation' \
CHRONOS_LOGO_URL='/logo.svg' \
CHRONOS_DESCRIPTION='A frontend in Vue.js for the Chronos documentation server.' \
CHRONOS_BASE_URL='http://localhost:5173' \
CHRONOS_COLLECTION_1='[{"shortName": "docs", "title": "Docs", "url": "http://localhost:8080/documentation", "description": "Read the technical documentation for the Awesome project."}]' \
CHRONOS_COLLECTION_2='[{"shortName": "handbook", "title": "Handbook", "url": "http://localhost:8080/handbook", "description": "Are you a new user? Read the handbook to learn how to use the Awesome project."}]' \
# add more collections here
CHRONOS_EXTRA_LINK_1='[{"url": "https://github.com/vanilla-os/Chronos", "name": "Source Code"}]' \
# add more extra links here
```

## Development

To start the development server, run the following command:

```bash
pnpm dev
```

## Generate Configuration

To generate the configuration file, run the following command:

```bash
pnpm generate-config
```

## Production

To build the production version, run the following command:

```bash
pnpm build
```

### Docker

To deploy the production version using Docker, run the following command:

```bash
docker pull ghcr.io/vanilla-os/chronos-fe:main
docker run -d -p 6090:80 ghcr.io/vanilla-os/chronos-fe:main \
-e CHRONOS_TITLE='Chronos Documentation' \
-e CHRONOS_LOGO_TITLE='Documentation' \
-e CHRONOS_LOGO_URL='/logo.svg' \
-e CHRONOS_DESCRIPTION='A frontend in Vue.js for the Chronos documentation server.' \
-e CHRONOS_BASE_URL='http://localhost:5173' \
-e CHRONOS_COLLECTION_1='[{"shortName": "docs", "title": "Docs", "url": "http://localhost:8080/documentation", "description": "Read the technical documentation for the Awesome project."}]' \
-e CHRONOS_COLLECTION_2='[{"shortName": "handbook", "title": "Handbook", "url": "http://localhost:8080/handbook", "description": "Are you a new user? Read the handbook to learn how to use the Awesome project."}]' \
# add more collections here
-e CHRONOS_EXTRA_LINK_1='[{"url": "https://github.com/vanilla-os/Chronos", "name": "Source Code"}]' \
# add more extra links here
```