akkoma-fe/README.md

104 lines
4.4 KiB
Markdown
Raw Permalink Normal View History

2023-09-26 20:30:00 +00:00
# BNAkkoma: Brand New Akkoma
2023-09-26 20:30:00 +00:00
<small>It's not that new. This is just a cheap pun on the title of a [furry anime](https://en.wikipedia.org/wiki/BNA:_Brand_New_Animal).</small>
2023-11-05 20:52:18 +00:00
Also keep in mind that B in BNAkkoma stands for 'bleeding-edge', **features can be added, changed or removed at any time!**
If you are experiencing any strange quirks, make sure both your frontend and backend are up to date.
If your software are up to date but the bug is still there, ping me on the fediverse at '@itepechi@fedi.itepechi.me'.
2023-08-01 11:52:24 +00:00
## What is this?
2016-10-26 14:46:32 +00:00
2023-08-01 14:41:41 +00:00
This is a fork of [AkkomaGang/akkoma-fe](https://akkoma.dev/AkkomaGang/akkoma-fe/), with a custom theme and Makefile.
2023-08-01 11:52:24 +00:00
The differences from the upstream repository are described below:
2023-08-01 14:41:41 +00:00
- Added a Makefile where you can build the client inside a Docker container
2023-09-26 20:30:00 +00:00
- Refactored some components and styles
2023-11-22 00:01:45 +00:00
- Fixed a lot of broken CSS rules and misaligned elements
2023-08-01 11:52:24 +00:00
- Added and changed the default theme to a custom one
2023-09-15 22:58:58 +00:00
- Added support for setting the default post language
2023-09-06 21:46:38 +00:00
- Stole some commits from the original Pleroma frontend
2023-11-05 20:52:18 +00:00
- Added OpenSearch protocol support
2023-09-26 20:30:00 +00:00
- Added the Media tab to the search page (requires appropriate backend)
2023-11-22 00:01:45 +00:00
- Added 'Limit to Following' filter to the search page (requires appropriate backend)
- Added 'Limit to Local' filter to the search page (requires appropriate backend)
- Implemented lazy loading of search results
2023-09-06 21:46:38 +00:00
- More than 200 (!) Japanese translations have been fixed
2023-08-01 11:52:24 +00:00
- Removed some themes to save network bandwidth
2023-09-26 20:30:00 +00:00
- Improved PWA support, sort of
2023-08-01 11:52:24 +00:00
Although this frontend application is designed to work with the BNAkkoma backend, it remains compatible with the original version of Akkoma by only enabling additional features when the backend server returns a corresponding flag.
2023-08-01 14:41:41 +00:00
### How to build
2023-08-04 11:12:44 +00:00
**Requires 2GB+ memory.**
2023-08-01 14:41:41 +00:00
```sh
# Docker
make
# Podman
make RUNTIME=podman
```
---
2023-08-01 11:52:24 +00:00
## Akkoma-FE
![English OK](https://img.shields.io/badge/English-OK-blueviolet?style=for-the-badge) ![日本語OK](https://img.shields.io/badge/%E6%97%A5%E6%9C%AC%E8%AA%9E-OK-blueviolet?style=for-the-badge)
2022-08-23 15:12:06 +00:00
2022-12-29 15:22:06 +00:00
This is a fork of Akkoma-FE from the Pleroma project, with support for new Akkoma features such as:
2023-08-01 11:52:24 +00:00
- MFM support via [marked-mfm](https://akkoma.dev/sfr/marked-mfm)
- Custom emoji reactions
2017-02-18 16:49:34 +00:00
2023-08-01 11:52:24 +00:00
## For Translators
2017-11-07 14:42:34 +00:00
2023-08-01 11:52:24 +00:00
The [Weblate UI](https://translate.akkoma.dev/projects/akkoma/pleroma-fe/) is recommended for adding or modifying translations for Akkoma-FE.
2022-07-28 23:59:53 +00:00
Alternatively, edit/create `src/i18n/$LANGUAGE_CODE.json` (where `$LANGUAGE_CODE` is the [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for your language), then add your language to [src/i18n/messages.js](https://akkoma.dev/AkkomaGang/pleroma-fe/src/branch/develop/src/i18n/messages.js) if it doesn't already exist there.
2022-12-29 15:22:06 +00:00
Akkoma-FE will set your language by your browser locale, but you can temporarily force it in the code by changing the locale in main.js.
2017-11-07 14:42:34 +00:00
2023-08-01 11:52:24 +00:00
## FOR ADMINS
2017-01-19 16:51:27 +00:00
2022-12-29 15:22:06 +00:00
To use Akkoma-FE in Akkoma, use the [frontend](https://docs.akkoma.dev/stable/administration/CLI_tasks/frontend/) CLI task to install Akkoma-FE, then modify your configuration as described in the [Frontend Management](https://docs.akkoma.dev/stable/configuration/frontend_management/) doc.
2017-01-19 16:51:27 +00:00
2023-08-01 11:52:24 +00:00
### Build Setup
2016-10-26 14:46:32 +00:00
2023-08-01 11:52:24 +00:00
```bash
2016-10-26 14:46:32 +00:00
# install dependencies
2023-09-24 00:33:46 +00:00
corepack enable
2017-02-19 21:15:42 +00:00
yarn
2016-10-26 14:46:32 +00:00
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# run unit tests
npm run unit
```
2023-08-01 11:52:24 +00:00
## For Contributors:
You can create file `/config/local.json` (see [example](https://akkoma.dev/AkkomaGang/akkoma-fe/src/branch/develop/config/local.example.json)) to enable some convenience dev options:
2023-08-01 11:52:24 +00:00
- `target`: makes local dev server redirect to some existing instance's BE instead of local BE, useful for testing things in near-production environment and searching for real-life use-cases.
- `staticConfigPreference`: makes FE's `/static/config.json` take preference of BE-served `/api/statusnet/config.json`. Only works in dev mode.
FE Build process also leaves current commit hash in global variable `___pleromafe_commit_hash` so that you can easily see which pleroma-fe commit instance is running, also helps pinpointing which commit was used when FE was bundled into BE.
2023-08-01 11:52:24 +00:00
## Configuration
2019-03-30 10:42:42 +00:00
Edit config.json for configuration.
2018-11-07 15:56:12 +00:00
2023-08-01 11:52:24 +00:00
### Options
2018-11-07 15:56:12 +00:00
2023-08-01 11:52:24 +00:00
#### Login methods
2018-11-07 15:56:12 +00:00
2023-08-01 11:52:24 +00:00
`loginMethod` can be set to either `password` (the default) or `token`, which will use the full oauth redirection flow, which is useful for SSO situations.