### 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