--- version: "1.0" date: "2025-01-15" author: "DWS Foldsite Team" title: "Support & Community" description: "Get help with Foldsite" summary: "Find help, report issues, and connect with the Foldsite community." quick_tips: - "Check documentation first - most questions are answered here" - "Search existing GitHub issues before opening new ones" - "Share your Foldsite creations with the community" --- # Support & Community Need help with Foldsite? Here's how to get assistance and connect with others. ## Documentation **Start here first!** Most questions are answered in the documentation: - **[Home](index.md)** - Overview and quick start - **[Directory Structure](directory-structure.md)** - Understanding the basics - **[Templates](templates/)** - Template system guide - **[Template Helpers](templates/template-helpers.md)** - Complete API reference - **[Deployment](deployment/)** - Getting your site running - **[Recipes](recipes/)** - Working examples ## Common Issues ### Template Not Found **Error:** `Exception: Base template not found` **Solution:** Ensure `base.html` exists in your templates directory: ```bash ls templates/base.html ``` ### Module Not Found **Error:** `ModuleNotFoundError: No module named 'flask'` **Solution:** Install dependencies: ```bash pip install -r requirements.txt ``` ### Port Already in Use **Error:** `OSError: [Errno 48] Address already in use` **Solution:** Change port in `config.toml`: ```toml [server] listen_port = 8082 # Use different port ``` Or stop the process using port 8081: ```bash # Find process lsof -i :8081 # Kill it kill -9 ``` ### Images Not Loading **Problem:** Images show broken links **Solution:** Use the `/download/` route for serving files: ```html ``` ### Template Changes Not Appearing **Problem:** Modified templates don't show changes **Solutions:** 1. Check you're editing the correct file 2. Clear browser cache (Cmd/Ctrl + Shift + R) 3. Restart the Foldsite server 4. Check `config.toml` points to correct templates directory ## GitHub Repository **Repository:** [https://github.com/DWSresearch/foldsite](https://github.com/DWSresearch/foldsite) ### Reporting Bugs Found a bug? Please report it on GitHub Issues. **Before reporting:** 1. Search existing issues to avoid duplicates 2. Make sure you're using the latest version 3. Try to reproduce with minimal example **Good bug report includes:** - Foldsite version - Python version - Operating system - Clear steps to reproduce - Expected vs. actual behavior - Error messages (full stack traces) - Minimal example code if possible **Example:** ```markdown ## Bug Report **Foldsite version:** 1.0.0 **Python version:** 3.11.5 **OS:** macOS 14.0 ### Steps to Reproduce 1. Create template with `{{ get_recent_posts() }}` 2. Run `python main.py --config config.toml` 3. Visit homepage ### Expected Should show 5 recent posts ### Actual Raises `AttributeError: 'NoneType' object has no attribute 'metadata'` ### Stack Trace ``` [paste full error here] ``` ``` ### Feature Requests Have an idea for improvement? Open a feature request! **Good feature request includes:** - Clear description of the feature - Use case (why you need it) - Proposed implementation (if you have ideas) - Examples from other tools (if applicable) ### Pull Requests Contributions welcome! See [Develop Foldsite](develop/) for guidelines. ## Community ### Show & Tell Share what you've built with Foldsite: - Post in GitHub Discussions - Tag `#foldsite` on social media - Add your site to [Explore Foldsites](explore.md) ### Discussions Have questions or want to chat? Use GitHub Discussions: - **Q&A** - Ask questions - **Show and Tell** - Share your site - **Ideas** - Discuss potential features - **General** - Everything else ## Getting Help ### Before Asking 1. **Read the docs** - Your answer might be here 2. **Search issues** - Someone might have asked already 3. **Check examples** - See working code in `/example_site` 4. **Enable debug mode** - See what Foldsite is doing: ```toml [server] debug = true ``` ### How to Ask **Good questions include:** - What you're trying to achieve - What you've tried - Relevant code snippets - Error messages **Example:** > I'm trying to show recent posts on my homepage, but `get_recent_posts()` returns an empty list. > > My content structure: > ``` > content/ > ├── index.md > └── blog/ > ├── post1.md > └── post2.md > ``` > > My template code: > ```jinja > {% for post in get_recent_posts(limit=5) %} > {{ post.title }} > {% endfor %} > ``` > > Posts have frontmatter with `title` and `date` fields. What am I missing? ### Response Times Foldsite is maintained by volunteers. Please be patient: - **Bugs** - Usually addressed within a few days - **Features** - May take longer depending on complexity - **Questions** - Community often responds quickly ## Contributing Want to help make Foldsite better? ### Ways to Contribute - **Documentation** - Fix typos, clarify confusing sections, add examples - **Bug fixes** - Fix issues and submit pull requests - **Features** - Implement new functionality - **Templates** - Create and share themes - **Testing** - Test new releases, report issues - **Community** - Help others in discussions See [Develop Foldsite](develop/) for detailed contribution guidelines. ## Professional Support Need dedicated help with Foldsite? **[DWS (Dubey Web Services)](https://dws.rip)** may offer consulting for complex implementations. Contact through the website for availability and rates. ## Security Issues Found a security vulnerability? **Do not open a public issue.** Email security@dws.rip with: - Description of the vulnerability - Steps to reproduce - Potential impact - Suggested fix (if you have one) We'll respond as quickly as possible and coordinate disclosure. ## Learning Resources ### Jinja2 (Template Engine) Foldsite uses Jinja2 for templates: - **[Official Docs](https://jinja.palletsprojects.com/)** - Complete Jinja2 reference - **[Template Designer Docs](https://jinja.palletsprojects.com/en/3.1.x/templates/)** - Template syntax ### Markdown Content is written in Markdown: - **[CommonMark](https://commonmark.org/)** - Markdown specification - **[Markdown Guide](https://www.markdownguide.org/)** - Beginner-friendly guide ### Python (For Development) If you want to contribute to Foldsite: - **[Python Tutorial](https://docs.python.org/3/tutorial/)** - Official Python tutorial - **[Flask Docs](https://flask.palletsprojects.com/)** - Web framework used by Foldsite ## Acknowledgments Foldsite is built with: - **[Flask](https://flask.palletsprojects.com/)** - Web framework - **[Jinja2](https://jinja.palletsprojects.com/)** - Template engine - **[mistune](https://github.com/lepture/mistune)** - Markdown parser - **[python-frontmatter](https://github.com/eyeseast/python-frontmatter)** - Frontmatter parsing - **[Pillow](https://python-pillow.org/)** - Image processing - **[Gunicorn](https://gunicorn.org/)** - WSGI HTTP server Thank you to all contributors and users! ## Stay Updated - **Watch** the GitHub repository for updates - **Star** the repo if you find Foldsite useful - **Fork** to experiment with your own changes ## Philosophy Foldsite is part of the **DWS mission**: *"It's your Internet. Take it back."* We believe in: - **Simple tools** that solve real problems - **User ownership** of content and presentation - **Open source** collaboration - **Privacy** and control ## Next Steps - **[Explore Foldsites](explore.md)** - See what others have built - **[Develop Foldsite](develop/)** - Contributing guidelines - **[Recipes](recipes/)** - Working examples to learn from **Still stuck?** Don't hesitate to ask for help. The Foldsite community is here to support you!