Skip to content

Generate interactive, reproducible research publications from CoastSat shoreline analysis data. Features dynamic documents with executable code and RO-Crate metadata standards. See an example linked via git-pages.

License

Notifications You must be signed in to change notification settings

GusEllerm/CoastSat-shorelinepublication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CoastSat Shoreline Publication System

Generate interactive, reproducible research publications from CoastSat shoreline analysis data using RO-Crate and Stencila technologies.

🚀 Quick Start

Basic Usage

# Generate a publication
python src/publication_logic.py aus0001

# Generate + populate crate with content
python src/publication_logic.py aus0001 --populate-crate

# Test with preview (quiet mode)
./tests/test_publication_enhanced.sh aus0001

# Test with detailed output
./tests/test_publication_enhanced.sh aus0001 --verbose

Deploy to GitHub Pages

# Generate publication and deploy to GitHub Pages
./scripts/publish_to_docs.sh aus0001

📋 Core Features

  • Dynamic Publications: Executable documents with live code and data
  • RO-Crate Metadata: Research Object metadata for reproducibility
  • GitHub Pages Deployment: One-command publishing to web
  • Version Comparison: Compare publications across interface versions

🛠️ Common Commands

Task Command
Generate publication python src/publication_logic.py [SITE_ID]
Test with preview ./tests/test_publication_enhanced.sh [SITE_ID]
Deploy to web ./scripts/publish_to_docs.sh [SITE_ID]
Create GitHub release ./scripts/create_publication.sh [SITE_ID]
Compare versions ./tests/test_publication_compare.sh [SITE_ID] [VER1] [VER2]
Time-bounded analysis ./tests/test_publication_enhanced.sh [SITE_ID] --from [DATE] --to [DATE]

💡 Key Options

  • --populate-crate - Include generated content in the crate
  • --verbose - Show detailed processing output
  • --no-open - Don't auto-open generated HTML
  • -i_crate [VERSION] - Use specific interface.crate version
  • --from [DD-MM-YYYY] - Start date for time-bounded analysis
  • --to [DD-MM-YYYY] - End date for time-bounded analysis

⏱️ Time-Bounded Analysis

Generate publications with analysis limited to specific time periods:

# Analyze only 2010-2015 period
./tests/test_publication_enhanced.sh aus0001 --from 01-01-2010 --to 31-12-2015

# Analyze recent years (2020 onwards)
python src/publication_logic.py aus0001 --from 01-01-2020 --populate-crate

# Compare different time periods
./tests/test_publication_enhanced.sh aus0001 --from 01-01-2000 --to 31-12-2010
./tests/test_publication_enhanced.sh aus0001 --from 01-01-2010 --to 31-12-2020

🏗️ Project Structure

src/                    # Core logic
├── publication_logic.py   # Main publication generator
├── crate_builder.py       # RO-Crate system
└── templates/             # Document templates

scripts/                # Automation
├── publish_to_docs.sh     # Deploy to GitHub Pages  
├── create_publication.sh  # Create GitHub releases
└── patch_post_release.py  # Post-release patching

tests/                  # Testing tools
├── test_publication_enhanced.sh   # Main testing
├── test_publication_compare.sh    # Version comparison
└── test_publication_creation.sh   # Release testing

docs/                   # GitHub Pages site (auto-generated)

📦 Installation

git clone https://github.com/GusEllerm/CoastSat-shorelinepublication.git
cd CoastSat-shorelinepublication
pip install -r requirements.txt

# For GitHub Pages deployment
npm install -g ro-crate-html-js

🔧 Requirements

  • Python 3.8+
  • Stencila CLI
  • ro-crate-html-js (for GitHub Pages)
  • GitHub CLI (for releases)

📖 Template Development

Edit src/templates/shoreline_publication.smd to customize publications:

📞 Contact

About

Generate interactive, reproducible research publications from CoastSat shoreline analysis data. Features dynamic documents with executable code and RO-Crate metadata standards. See an example linked via git-pages.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published