Last updated: August 2025
- Purpose of the Backup Site
- Project Organization
- Instructions for Maintaining the Site
- Link to Live GitHub Pages URL
- Prerequisites
- Installation
- Authors
This repository contains a static HTTrack backup of the Lacuna Fund website (lacunafund.org). The purpose of this backup site is to:
- Provide a fallback option if the primary Lacuna Fund website becomes unavailable
- Preserves a snapshot of the Lacuna Fund website and its content
- Serve as an emergency alternative accessible through GitHub Pages
- Maintain access to important Lacuna Fund information and resources
├── LICENSE
├── Makefile <- Makefile with commands like `make data` or `make train`
├── README.md <- The top-level README for developers using this project.
├── data
│ ├── external <- Data from third party sources.
│ ├── interim <- Intermediate data that has been transformed.
│ ├── processed <- The final, canonical data sets for modeling.
│ └── raw <- The original, immutable data dump.
│
├── docs <- A default Sphinx project; see sphinx-doc.org for details
│
├── models <- Trained and serialized models, model predictions, or model summaries
│
├── notebooks <- Jupyter notebooks. Naming convention is a number (for ordering),
│ the creator's initials, and a short `-` delimited description, e.g.
│ `1.0-jqp-initial-data-exploration`.
│
├── references <- Data dictionaries, manuals, and all other explanatory materials.
│
├── reports <- Generated analysis as HTML, PDF, LaTeX, etc.
│ └── figures <- Generated graphics and figures to be used in reporting
│
├── requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
│ generated with `pip freeze > requirements.txt`
│
├── setup.py <- makes project pip installable (pip install -e .) so src can be imported
├── src <- Source code for use in this project.
│ ├── __init__.py <- Makes src a Python module
│ │
│ ├── data <- Scripts to download or generate data
│ │ └── make_dataset.py
│ │
│ ├── features <- Scripts to turn raw data into features for modeling
│ │ └── build_features.py
│ │
│ ├── models <- Scripts to train models and then use trained models to make
│ │ │ predictions
│ │ ├── predict_model.py
│ │ └── train_model.py
│ │
│ └── visualization <- Scripts to create exploratory and results oriented visualizations
│ | └── visualize.py
│ │
│ └── banner_manager.py <- Script for managing the banner across all HTML pages
│
└── tox.ini <- tox file with settings for running tox; see tox.testrun.org
|
|
├── .github
│ └── workflows <- GitHub Actions workflow for deploying to GitHub Pages
│ └── github-pages.yml
│
└── lacunafund-httrack-backup <- The HTTrack backup of the lacunafund.org site
└── banners <- Contains banner HTML components for different languages
├── banner_component.html <- English banner
├── banner_component_fr.html <- French banner
└── banner_component_es.html <- Spanish banner
The site is automatically deployed to GitHub Pages using the workflow in .github/workflows/github-pages.yml. The workflow:
- Runs when changes are pushed to the master branch
- Creates a
_sitedirectory - Copies the lacunafund.org backup content to the
_sitedirectory - Deploys the content to GitHub Pages
The banner components should be stored in the following files:
banner_component.html- English bannerbanner_component_fr.html- French bannerbanner_component_es.html- Spanish banner
- Locate the banners folder in the lacunafund-httrack-backup directory
- Edit the banner HTML files for the language(s) you want to update:
banner_component.html- English bannerbanner_component_fr.html- French bannerbanner_component_es.html- Spanish banner
- Remove existing banners using the remove command (either remove all banners or specific language banners)
- Insert updated banners using the appropriate insert command for each language
Banners are inserted after the opening <body> tag and are wrapped with marker comments:
<!-- BANNER_START -->
<div class="banner banner-en">
<!-- Banner content here -->
</div>
<!-- BANNER_END -->To update the date displayed in the backup site banner:
-
Edit the banner component files in the
lacunafund-httrack-backup/banners/directory:- Edit
banner_component.html(English) and find this line:This is a backup site current up to 31/07/2025
- Replace "31/07/2025" with the current backup date (DD/MM/YYYY format)
- Repeat for
banner_component_fr.html(French) andbanner_component_es.html(Spanish)
- Edit
-
Apply the updated banners using the banner manager script (see command-line interface below)
#STEP 1: Remove existing banners before updating
#remove all banners
python banner_manager.py --action remove_all --path ..\lacunafund-httrack-backup
#OR remove only specific language banners
python banner_manager.py --action remove --language en --path ..\lacunafund-httrack-backup
python banner_manager.py --action remove --language fr --path ..\lacunafund-httrack-backup
python banner_manager.py --action remove --language es --path ..\lacunafund-httrack-backup
#STEP 2: Insert updated banners
#insert English banners
python banner_manager.py --action insert --language en --path ..\lacunafund-httrack-backup
#insert French banners
python banner_manager.py --action insert --language fr --path ..\lacunafund-httrack-backup
#insert Spanish banners
python banner_manager.py --action insert --language es --path ..\lacunafund-httrack-backup
#optional: Dry run (simulate without making changes)
python banner_manager.py --action insert --language en --path ..\lacunafund-httrack-backup --dry-runfrom banner_manager import manage_banners
#insert English banners
result = manage_banners("/path/to/site", "insert", "en")
#insert French banners
result = manage_banners("/path/to/site", "insert", "fr")
#insert Spanish banners
result = manage_banners("/path/to/site", "insert", "es")
#remove specific language banners
result = manage_banners("/path/to/site", "remove", "en")
#remove all banners
result = manage_banners("/path/to/site", "remove_all")
#check result
if result['status'] == 'success':
print(f"Success: {result['message']}")
else:
print(f"Error: {result['message']}")The backup site is accessible at: lacunafund.org
Provide a summary of the list software and the version required to run the code. An example of this is :
- Python 3.11.3
Provide the instructions and code necessary to setup the required software environment for the code. An example of this is :
- Run the setup.py to build the src python package
- Run the requirements.txt to install all the required libraries, modules, and packages.
python setup.py install
pip install -r requirements.txt
- Written by :
- Contact details :
This is optional and provides information about which and how each of the developers contributed.
Project based on the cookiecutter data science project template. #cookiecutterdatascience