315 lines
7.8 KiB
Markdown
315 lines
7.8 KiB
Markdown
---
|
|
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 <PID>
|
|
```
|
|
|
|
### Images Not Loading
|
|
|
|
**Problem:** Images show broken links
|
|
|
|
**Solution:** Use the `/download/` route for serving files:
|
|
```html
|
|
<!-- Correct -->
|
|
<img src="/download/{{ photo.path }}">
|
|
|
|
<!-- Wrong -->
|
|
<img src="/{{ photo.path }}">
|
|
```
|
|
|
|
### 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!
|