F-List Exported
This repository contains the open source parts of F-list and F-Chat 3.0. All necessary files to build F-Chat 3.0 as an Electron, mobile or web application are included.
Setting up a Dev Environment
- Clone the repo
- Install Yarn
- Change into the cloned directory and run
yarn install. If you only want to make a custom theme, you do not need to do this! - IntelliJ IDEA is recommended for development.
Building for Electron
- To build native Node assets, you will need to install Python 2.7 and the Visual C++ 2015 Build tools. More information can be found in the node-gyp docs.
- Change into the
electrondirectory. - Run
yarn build/yarn watchto build assets. They are placed into theappdirectory. - You will probably need to rebuild the native dependencies (
spellcheckerandkeytar) for electron. To do so, runnpm rebuild {NAME} --target={ELECTRON_VERSION} --arch=x64 --dist-url=https://atom.io/download/electron. See the electron documentation for more info. - Run
yarn startto start the app in debug mode. UseCtrl+Shift+Ito open the Chromium debugger.
Packaging
See https://electron.atom.io/docs/tutorial/application-distribution/
- Run
yarn build:distto create a minified production build. - Run
./node_modules/.bin/electron-builderwith options specifying the platform you want to build for.
Building for Mobile
- Change into the
mobiledirectory. - Run
yarn build/yarn watchto build assets. They are placed into thewwwdirectory. - For Android, change into the
androiddirectory and run./gradlew assembleDebug. The generated APK is placed intoapp/build/outputs/apk. - For iOS, change into the
iosdirectory and openF-Chat.xcodeprojusing XCode. From there, simply run the app using the play button.
Building for Web
- Change into the
webchatdirectory. - Run
yarn build/yarn watchto build assets. They are placed into thedistdirectory. - The compiled main.js file can be included by an HTML file that is expected to provide a global
const chatSettings: {account: string, theme: string, characters: ReadonlyArray<string>, defaultCharacter: string | null};. It should also normalize the page to 100% height.
Building a custom theme
See the wiki for instructions on how to create a custom theme.
- Change into the
scssdirectory. - Run
yarn install. - Run
yarn build themes/chat/{name}.scss. - Your theme file will be placed into the
scss/cssdirectory.
Dependencies
Note: Adding and upgrading dependencies should only be done with prior consideration and subsequent testing.
That's why yarn.lock exists and is version controlled.
To upgrade NPM dependencies, run yarn upgrade locally. Run yarn outdated to see pending upgrades.
Description
An archived copy of F-Chat Rising before deletion. Many thanks to FireUnderTheMountain on GitHub for having a up-to-date copy.
Don't delete your code. People depend on it.
Languages
TypeScript
45.2%
Vue
41.5%
SCSS
4.8%
JavaScript
4.2%
Swift
2.2%
Other
2.1%