Files
foldsite/docs/content/support.md
Tanishq Dubey ad81d7f3db
All checks were successful
Datadog Software Composition Analysis / Datadog SBOM Generation and Upload (push) Successful in 52s
Datadog Secrets Scanning / Datadog Static Analyzer (push) Successful in 1m1s
Datadog Static Analysis / Datadog Static Analyzer (push) Successful in 5m50s
docs refactor
2025-10-09 18:21:23 -04:00

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!