92 lines
3.7 KiB
Markdown
92 lines
3.7 KiB
Markdown
# BNAkkoma: Brand New Akkoma
|
|
|
|
<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>
|
|
|
|
## What is this?
|
|
|
|
This is a fork of [AkkomaGang/akkoma-fe](https://akkoma.dev/AkkomaGang/akkoma-fe/), with a custom theme and Makefile.
|
|
|
|
The differences from the upstream repository are described below:
|
|
|
|
- Added a Makefile where you can build the client inside a Docker container
|
|
- Refactored some components and styles
|
|
- Added and changed the default theme to a custom one
|
|
- Fixed the dimensions of some elements that appeared to be misaligned
|
|
- Added support for setting the default post language
|
|
- Stole some commits from the original Pleroma frontend
|
|
- Added the Media tab to the search page (requires appropriate backend)
|
|
- Added support to search for posts from people you follow (requires appropriate backend)
|
|
- More than 200 (!) Japanese translations have been fixed
|
|
- Removed some themes to save network bandwidth
|
|
- Improved PWA support, sort of
|
|
|
|
### How to build
|
|
|
|
**Requires 2GB+ memory.**
|
|
|
|
```sh
|
|
# Docker
|
|
make
|
|
|
|
# Podman
|
|
make RUNTIME=podman
|
|
```
|
|
|
|
---
|
|
|
|
## 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)
|
|
|
|
This is a fork of Akkoma-FE from the Pleroma project, with support for new Akkoma features such as:
|
|
|
|
- MFM support via [marked-mfm](https://akkoma.dev/sfr/marked-mfm)
|
|
- Custom emoji reactions
|
|
|
|
## For Translators
|
|
|
|
The [Weblate UI](https://translate.akkoma.dev/projects/akkoma/pleroma-fe/) is recommended for adding or modifying translations for Akkoma-FE.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
## FOR ADMINS
|
|
|
|
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.
|
|
|
|
### Build Setup
|
|
|
|
```bash
|
|
# install dependencies
|
|
npm install -g yarn
|
|
yarn
|
|
|
|
# serve with hot reload at localhost:8080
|
|
npm run dev
|
|
|
|
# build for production with minification
|
|
npm run build
|
|
|
|
# run unit tests
|
|
npm run unit
|
|
```
|
|
|
|
## For Contributors:
|
|
|
|
You can create file `/config/local.json` (see [example](https://git.pleroma.social/pleroma/pleroma-fe/blob/develop/config/local.example.json)) to enable some convenience dev options:
|
|
|
|
- `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.
|
|
|
|
## Configuration
|
|
|
|
Edit config.json for configuration.
|
|
|
|
### Options
|
|
|
|
#### Login methods
|
|
|
|
`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.
|