This GitHub Pages project is a static website with an interactive overview of the 70 tips from "The Pragmatic Programmer" (Second Edition).
The tips are extracted from the Pragmatic Quick Reference Guide.
The website gives the user a overview of the tips in form of cards with title, summary and a expand button to show stories from out developers that relates to that tip.
There will be a markdown file for each tip.
Create a pull request with your story in the related markdown file located in the stories
directory.
Ex. 45.md
will be related to tip 45.
Example:
<!-- Title -->
# Estimate the Order of Your Algorithms
<!-- Description -->
## Get a feel for how long things are likely to take before you write code.
<!-- Stories -->
---
This is a story from one developer
---
[34,45]
This is a story from another developer
---
[34,45]
on the second story of the example file means that this story also correlates to tip 34 and 45.
Adding 45 in this array in optional, because the story is already in the 45.md file.
This system makes it so you don't have to write the story several times.
Try to stay consistent with the style of Acorn website
This is a one page website existing of only cards of tip, with Title and Description as well as a expansion button to display all the related stories.
We try to keep it simple, lightweight and maintainable.
Whatever is good for a simple, easy to maintain and modern static webpages
main
branch for development
gh-pages
branch for deployment
html, css, javascript. Just keep it simple with as little code and dependencies as possible, but try to keep it modern and convenient.
The repository includes a GitHub Actions workflow for manual deployment to the gh-pages
branch.
- Repository administrator permissions
- GitHub Actions enabled for the repository
- GitHub Pages configured to deploy from
gh-pages
branch
- Navigate to the Actions tab in your GitHub repository
- Select "Deploy to GitHub Pages" workflow
- Click "Run workflow" button
- Choose environment (production/staging) - optional
- Click "Run workflow" to start deployment
The workflow will automatically:
- Build the static site (cleanup development files)
- Create/update the
gh-pages
branch - Deploy to GitHub Pages
Ensure GitHub Pages is configured in repository settings:
- Go to Settings → Pages
- Set Source to "Deploy from a branch"
- Select Branch:
gh-pages
and Folder:/ (root)
If you encounter workflow permission errors:
- Ensure your GitHub token has
workflow
scope permissions - Repository administrators may need to enable GitHub Actions
- Check that GitHub Pages is enabled in repository settings
To run the website locally:
- Clone the repository
- Open
index.html
in a web browser or use a local server:python -m http.server 8000 # or npx serve .
- Navigate to
http://localhost:8000
The following features could enhance the user experience:
- Search functionality: Allow users to search tips by title, description, or story content
- Category filtering: Organize tips by themes (debugging, design, testing, etc.)
- Tag-based filtering: Filter tips by related concepts or difficulty level
- Dark mode toggle: Support for dark/light theme switching
- Bookmark system: Let users favorite and bookmark their most relevant tips
- Reading progress: Track which tips users have read and expanded
- Print-friendly view: Optimized layout for printing individual tips or collections
- Story submission form: Web interface for contributing stories without GitHub
- Automated Pull Requests: Direct story submission that creates PRs in the correct tip file
- Story moderation: Review system for community-submitted content
- Rich text editor: Support for formatted text, code blocks, and links in stories
- Story voting: Community voting to highlight the most helpful stories
- Service worker: Offline support for browsing tips
- Analytics: Track most popular tips and user engagement
- Progressive loading: Lazy load stories to improve initial page performance