SciSiteForge/scripts
Wesley R. Elsberry c61c050dc2 Initial version of build.py 2025-10-15 09:21:58 -04:00
..
README.md Update for handling initial tag substitutions. 2025-10-15 09:17:24 -04:00
build.py Initial version of build.py 2025-10-15 09:21:58 -04:00
glossary_es.json Initial scripts/ files 2025-10-15 00:42:12 -04:00
translate_site.py Initial scripts/ files 2025-10-15 00:42:12 -04:00

README.md

SciSiteForge Scripts

🛠️ Build

🧪 Usage Example

Initialize config: 
bash

cd domain_di/framework python build.py --init → creates site.json

Build English site:

python build.py --config site.json --output ../content/en/

Build Spanish site (after editing site.json to set "lang": "es"): bash

python build.py --config site-es.json --output ../content/es/

Benefits

- No runtime dependencies: Output is pure static HTML/CSS/JS  
- Reusable: Same framework for any educational site  
- Customizable: Each project has its own site.json  
- Automation-friendly: Integrate into CI/CD or translation pipelines

Translate

This site framework supports offline multilingual translation using Llamafile.

Prerequisites

  • Download a multilingual GGUF model (e.g., mistral-7b-instruct.Q5_K_M.gguf)
  • Install Llamafile
  • Python 3 with requests and beautifulsoup4

Steps

  1. Launch Llamafile:
    ./mistral-7b-instruct.Q5_K_M.llamafile --port 8080
    
  2. Run translation:
    python scripts/translate_site.py --langs es,fr
    
  3. Commit translated content:
    git add es/ fr/
    

Translated files are saved to /es/, /fr/, etc., and served alongside English content.


#### 📁 `example/content/scripts/glossary_es.json`  
→ Language-specific scientific term mappings