theachoem/storypad.me

★ 6Forks 2HTMLGitHub ↗Compare

Project website ↗

README

StoryPad Website

StoryPad Logo

Not another journal app. A timeline for your life.

Download on App Store Get it on Google Play

Main App Repository Visit Website


About This Repository

This repository contains the source code for the StoryPad website (storypad.me) - the official documentation, changelog, and marketing site for the StoryPad open-source diary app.

Looking for the main StoryPad app? Visit the main repository for the Flutter-based mobile application.

About StoryPad

StoryPad is an open-source timeline diary app with 80,000+ downloads that lets you capture everything - notes, thoughts, emotions, workouts, travels - on a single continuous timeline.

Key Features

  • Timeline-based journaling - No folders, no tabs, just your life beautifully organized
  • Multi-platform - Available on iOS and Android
  • Open source - Built with Flutter and available on GitHub
  • Privacy-focused - Your data belongs to you
  • Multilingual - Support for 16+ languages

Technology Stack

This website is built with:

  • Hugo - Static site generator
  • Tailwind CSS - Utility-first CSS framework
  • Custom Theme - sp_theme designed specifically for StoryPad
  • GitHub Pages - Automated deployment

Development Setup

Prerequisites

  • Node.js (for Tailwind CSS)
  • Hugo Extended (included in repository as hugo.tar.gz)

Getting Started

  1. Clone the repository

    git clone https://github.com/theachoem/storypad.me.git
    cd storypad.me
  2. Install dependencies

    npm install
  3. Extract Hugo binary (if not already done)

    tar -xzf hugo.tar.gz
  4. Start development server

    ./hugo server --buildDrafts --buildFuture
  5. Visit http://localhost:1313 to view the site

Building for Production

./hugo --gc --minify

The built site will be available in the public/ directory.

Deployment (Cloudflare Workers)

The site deploys to Cloudflare via wrangler.jsonc, which points assets.directory at public/ — a directory that only exists after a Hugo build (it's gitignored). Cloudflare's git-connected build only runs npm clean-install automatically; it does not infer a build command from package.json, so the deploy fails with assets.directory does not exist unless the project is configured explicitly.

Reproduce this on a fresh Cloudflare Workers project (Workers & Pages → Create → connect the storypad.me repo):

  • Root directory: /
  • Build command: npm run build (runs the build script in package.json, i.e. hugo --gc --minify)
  • Deploy command: npx wrangler deploy

Cloudflare's build environment installs tools listed in .tool-versions via asdf — hugo must be declared there (in addition to nodejs) or the build command above will fail with "command not found".

Project Structure

├── content/              # Markdown content files
│   ├── changelogs/      # App version changelogs
│   ├── contributions/   # Contribution guides
│   ├── engineering/     # Technical blog posts
│   └── wiki/           # Documentation
├── themes/sp_theme/     # Custom Hugo theme
│   ├── layouts/        # HTML templates
│   └── assets/        # CSS, JS, and other assets
├── static/             # Static files (images, icons, etc.)
├── hugo.toml          # Hugo configuration
└── package.json       # Node.js dependencies

Contributing

We welcome contributions to improve the StoryPad website! Here are ways you can help:

Content Contributions

  • Documentation improvements - Help make our guides clearer
  • Translation - Contribute to our localization efforts
  • Blog posts - Share your StoryPad experience

Technical Contributions

  • Bug fixes - Help us fix website issues
  • Feature improvements - Enhance the website experience
  • Performance optimizations - Make the site faster

How to Contribute

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Reporting Issues

Found a bug or have a suggestion? Please:

  • Check if the issue already exists in our issue tracker
  • For app-related issues, use the main app repository
  • For website issues, create an issue in this repository

Links

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Acknowledgments


StoryPad - Your timeline, your story