Frontend codes for Al Arkhabil, the independent thought publication platform.
- This implementation does not support hosting on unsecured (not localhost nor https) sites. You will need an HTTPS-terminating reverse proxy for deploying this on the Internet.
URL | Queries (processed by JS) | Description |
---|---|---|
/ | - | Top: a list of latest posts |
/invites/ | - | JS required: create an invite |
/signup/ | ?token={invite token} |
JS required: create a new account |
/signin/ | - | JS required: sign in into an existing account |
/account/ | - | JS required: account information and settings |
/c/ | ?action=new_channel |
List of channels |
/c/:channel_handle/ | ?action={edit,new_post} |
Channel information and latest posts of the channel |
/c/:channel_handle/:post_uuid/ | ?action=edit |
A post in a channel |
/authors/ | - | List of authors |
/authors/:author_uuid/ | - | Author information and latest posts by the author |
/tags/ | - | List of tags |
/tags/:tag_name/ | - | List of posts with the tag |
/meta/ | ?action=new_page |
List of meta pages |
/meta/:page_name/ | ?action=edit |
A meta page. |
Method | URL | Description |
---|---|---|
GET | /frontend/api/v1/config/get | Get site config |
GET | /frontend/api/v1/timestamp/format?timestamp={u64} | Format UNIX timestamp |
POST | /frontend/api/v1/markdown/parse | Parse Markdown into HTML |
You will need Node.js and Rust installed.
npm install
npm run build
cargo build
cp ./example.env ./.env
# edit ./.env
cp -r ./branding-default ./branding
# edit files in ./branding
cp ./config-default.json ./config.json
# edit ./config.json
Licensed under the Apache 2.0 license.