### Run Lexonomy Locally
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Start the Lexonomy application locally. This command assumes you are in the 'website' directory.
```shell
python3 lexonomy.py
```
--------------------------------
### Install Python Dependencies
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Install the necessary Python modules for the Lexonomy backend using pip.
```shell
pip install -r requirements.txt
```
--------------------------------
### Run Lexonomy Locally with Superuser Permissions
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Start Lexonomy with superuser permissions if it needs to run on a privileged port (e.g., 80).
```shell
sudo python3 lexonomy.py
```
--------------------------------
### Configure Welcome Message
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Customize the welcome message displayed on the home page of your Lexonomy installation.
```js
"welcome": "Welcome to your Lexonomy installation."
```
--------------------------------
### Configure Base URL
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Set the URL at which your Lexonomy installation is visible to web browsers. Ensure the trailing forward slash is included.
```js
"baseUrl": "http://localhost:8080/"
```
--------------------------------
### Lexonomy Version and Plugin Initialization
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/website/index.html
Initializes the Lexonomy version constant and an empty object for nvhPlugins. This is typically used for application-level setup.
```javascript
window.LEXONOMY_VERSION = '@VERSION@'; window.nvhPlugins = {}
```
--------------------------------
### Initialize Admin Accounts
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Run the initialization script to create administrator accounts. Note down the generated passwords.
```shell
python3 adminscripts/init.py
```
--------------------------------
### Build Lexonomy Docker Image
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Navigate to the repository's root directory and execute this command to build the Docker image for Lexonomy.
```sh
sudo docker build ./
```
--------------------------------
### Navigate to Website Directory
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Changes the current directory to the 'website' directory within the repository.
```sh
cd website
```
--------------------------------
### Copy Backend Configuration Template
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Copies the backend configuration template to a new file. This file is used for backend configuration and may require modifications.
```sh
cp siteconfig.json.template siteconfig.json
```
--------------------------------
### Copy Frontend Configuration Template
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Copies the frontend configuration template to a new file. This file is used for frontend configuration and usually requires no modifications.
```sh
cp config.js.template config.js
```
--------------------------------
### Upgrade Lexonomy Database Schemas
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Run the update script to upgrade Lexonomy's database schemas. This script is idempotent.
```shell
python3 adminscripts/updates.py
```
--------------------------------
### Run Lexonomy Docker Container
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Replace 'sha256:...' with the actual image name generated during the build process. This command publishes port 8080 from the container to your host machine.
```sh
sudo docker run -p8080:8080 sha256:e715179b993a67777c2307bcfc7dc5315005d89af8aa9187564063f0a49a9ee2
```
--------------------------------
### Build Lexonomy Frontend
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Builds the frontend code for Lexonomy. This command compiles Riot.js frontend code into a single JavaScript bundle.
```sh
make
```
--------------------------------
### Configure Frontend API URL
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Set the backend API URL for the Lexonomy frontend. Ensure this matches your backend's baseUrl.
```javascript
window.API_URL = "http://localhost:8080/";
```
--------------------------------
### Configure Admin Accounts
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Provide an array of email addresses for administrators who have full access to Lexonomy features and user management.
```js
"admins": ["root@localhost"]
```
--------------------------------
### Configure Data Directory
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Define the path to the data folder where Lexonomy stores dictionaries and other data. This can be a relative or absolute path.
```js
"dataDir": "../data/"
```
--------------------------------
### Configure Root Path
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Specify the path at which Lexonomy listens for incoming HTTP requests on the server. This should typically match the path in your baseUrl.
```js
"rootPath": "/"
```
--------------------------------
### Configure Port
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Set the port number on which Lexonomy listens for incoming HTTP requests. For privileged ports (< 1024), superuser permissions may be required.
```js
"port": 8080
```
--------------------------------
### Configure Verbose Logging
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Set to 'true' to enable verbose logging, which reports each HTTP request (except static files) to standard error output for debugging purposes.
```js
"verbose": false
```
--------------------------------
### Configure Tracking Code
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
Insert an HTML snippet for web analytics services like Google Analytics or StatCounter. Leave blank if not needed.
```js
"trackingCode": ""
```
--------------------------------
### Reload WSGI Configuration
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/INSTALL.md
After changing settings in siteconfig.json, use the 'touch' command to force WSGI to reload the configuration file.
```sh
touch siteconfig.json
```
--------------------------------
### Lexonomy App Overlay CSS
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/website/index.html
Defines the CSS for an absolute-positioned overlay used in the Lexonomy application. It covers the entire screen with a semi-transparent white background and a high z-index.
```css
.appOverlay{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(255, 255, 255, 1); z-index: 9990; position: fixed; }
```
--------------------------------
### Lexonomy App Spinner CSS
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/website/index.html
Styles the CSS for a spinning loader animation within the Lexonomy application. It centers the spinner and applies a rotation animation.
```css
.appSpinner{ left: 50%; top: 40%; margin-left: -30px; margin-top: -30px; position: absolute; z-index: 9990 !important; animation: appSpinnerAnimation 400ms linear infinite; }
```
--------------------------------
### Lexonomy Spinner Icon CSS
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/website/index.html
Defines the appearance of the spinner icon itself, including its size, border, and border-radius to create a circular loading indicator.
```css
.appSpinnerIcon{ width: 60px; height: 60px; border: solid 1px transparent; border-top-color: #000000 !important; border-left-color: #000000 !important; border-radius: 50%; }
```
--------------------------------
### Lexonomy Spinner Animation CSS
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/website/index.html
Specifies the keyframes for the spinner animation, creating a continuous 360-degree rotation.
```css
@keyframes appSpinnerAnimation { 0% { transform: rotate(0deg); transform: rotate(0deg); } 100% { transform: rotate(360deg); transform: rotate(360deg); } }
```
--------------------------------
### Commit Message Format
Source: https://github.com/lexicalcomputing/lexonomy/blob/main/CONTRIBUTING.md
Follows a specific format for commit messages, including a subject, body, and footer. Each line should not exceed 100 characters.
```git