Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
7cb037c
Add community projects to the config
Krzemien97 Jan 22, 2026
b3bb5e9
Add dummy files for testing & eject some components
Krzemien97 Jan 22, 2026
cb002f1
Add AI generated projects for mockups
Krzemien97 Jan 23, 2026
a62d1d6
Initial card layout for community projects
Krzemien97 Jan 23, 2026
a3b5069
Use correct filepath naming
Krzemien97 Jan 23, 2026
9439454
Minor card fixes
Krzemien97 Jan 23, 2026
2278d0b
Use content as description
Krzemien97 Jan 23, 2026
32ae21c
Add company info display
Krzemien97 Jan 23, 2026
a63639f
Add tags.yml
Krzemien97 Jan 23, 2026
e700a4d
Card layout adjustments
Krzemien97 Jan 26, 2026
5edb738
Add hook for getting community project metadata
Krzemien97 Jan 27, 2026
22633ec
Modify blog post page to include company logo
Krzemien97 Jan 27, 2026
ce87a13
Add tags comments
Krzemien97 Jan 27, 2026
3c20d28
Add tutorial how to add community project
Krzemien97 Jan 27, 2026
06ae204
Add license
Krzemien97 Jan 27, 2026
f30816a
Update copyright year in LICENSE file to 2026
Krzemien97 Jan 27, 2026
d2877fa
Add license notice
Krzemien97 Jan 27, 2026
f77fb67
Reformat
Krzemien97 Jan 27, 2026
19f18ee
Add scripts to check community project frontmatter
Krzemien97 Jan 27, 2026
4d62d25
Remove AI files (except one)
Krzemien97 Jan 27, 2026
2bc73b5
Reformat
Krzemien97 Jan 27, 2026
d5a8a0a
Apply review comments
Krzemien97 Jan 28, 2026
0c63e2c
Typo
Krzemien97 Jan 28, 2026
242d6bd
Unify file naming to kebab-case
Krzemien97 Jan 28, 2026
e118027
Cleanup component names & update paths
Krzemien97 Jan 28, 2026
07ee636
Fix paths in the guide
Krzemien97 Jan 28, 2026
61e53e9
Remove the last AI file & add template
Krzemien97 Feb 3, 2026
d44ce84
Formatting
Krzemien97 Feb 3, 2026
39d1a62
Throw on new tags
Krzemien97 Feb 3, 2026
ae486c3
Add placeholder community project
Krzemien97 Feb 3, 2026
cf0d87e
Formatting
Krzemien97 Feb 3, 2026
477b0a7
Add a section about branching
Krzemien97 Feb 4, 2026
3b27f10
Apply review comments
Krzemien97 Feb 6, 2026
03216dc
Add CommunityProjectsTags component and implement tag extraction logic
Krzemien97 Feb 6, 2026
b56c1fd
Change guide to mention creating forks instead of branches
Krzemien97 Feb 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Fictionlab sp. z o.o.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
49 changes: 49 additions & 0 deletions community-projects/_template.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: My Community Project (max 60 characters)
description: A brief description of my community project, up to 160 characters.
authors:
- name: Author Name
title: Author Title
url: https://author-personal-website.com
image_url: /img/community-projects/author-image.jpg
socials:
x: author_x_handle
github: author_github_handle
linkedin: author_linkedin_handle
email: author_email_address
tags: [tag1, tag2, tag3]
image: /img/community-projects/project-image.jpg
company:
name: Company Name
url: https://company-website.com
logo_url: /img/community-projects/company-logo.jpg
---

{/* To see how to use this template, refer to the https://docs.fictionlab.pl/guidelines/add-community-project */}

# [Community project title]

[Short description of the community project, displayed on the Community Projects
page, up to 400 characters.]

{/* truncate */}

[Main content of the community project page, including detailed information
about the project, its features, implementation details, and any other relevant
information. You can use markdown syntax to format the content, add images,
links, and other media as needed.]

{/* Example content */}

## Project Overview

Short introduction to the project, its goals, and the problem it aims to solve.

## Key Features

List of the main features of the project, with brief descriptions for each.

## Resources

Links to any relevant resources, such as the project repository, documentation,
or related articles.
50 changes: 50 additions & 0 deletions community-projects/placeholder.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Delete after adding first community project
description:
Temporary placeholder for the first community project. Please refer to the
https://docs.fictionlab.pl/guidelines/add-community-project for instructions
on how to add a new community project.
authors:
- name: Author Name
title: Author Title
url: https://author-website.com
image_url: /img/community-projects/author-image.jpg
socials:
x: author_x_handle
github: author_github_handle
linkedin: author_linkedin_handle
email: author_email_address
image: /img/community-projects/project-image.jpg
tags: [leo-rover]
company:
name: Company Name
url: https://company-website.com
logo_url: /img/community-projects/company-logo.jpg
---

{/* To see how to use this template, refer to the https://docs.fictionlab.pl/guidelines/add-community-project */}

[Short description of the community project, displayed on the Community Projects
page, up to 400 characters.]

{/* truncate */}

[Main content of the community project page, including detailed information
about the project, its features, implementation details, and any other relevant
information. You can use markdown syntax to format the content, add images,
links, and other media as needed.]

{/* Example content */}

## Project Overview

Short introduction to the project, its goals, and the problem it aims to solve.

## Key Features

List of the main features of the project, with brief descriptions for each.

## Resources

Links to any relevant resources, such as the project repository, documentation,
or related articles.
15 changes: 15 additions & 0 deletions community-projects/tags.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Robotic platform related tags

leo-rover:
label: Leo Rover
description: Projects related to the Leo Rover robotic platform.
permalink: 'leo-rover'

raph-rover:
label: Raph Rover
description: Projects related to the Raph Rover robotic platform.
permalink: 'raph-rover'

# Application area tags

# TBD
239 changes: 239 additions & 0 deletions docs/guidelines/add-community-project.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,239 @@
---
title: How to add a community project
sidebar_label: Adding a community project
sidebar_position: 4
unlisted: true
description: >-
This page provides guidelines on how to add a community project to the
Fictionlab documentation.
---

This page provides guidelines on how to add a community project to the
Fictionlab documentation. Community projects are third-party projects developed
by the Fictionlab community that enhance or extend the functionality of
Fictionlab products like Leo or Raph rover.

Community project list is located in the
[Community Projects](/community-projects) page.

:::note

Before adding a community project, ensure that it meets the following criteria:

- The project is based on Fictionlab products or integrates with them.

Fictionlab can remove any community project at any time without prior notice if
it does not meet the guidelines or is deemed inappropriate.

:::

## Before you begin

Before adding a community project, check
[documentation repository](https://github.com/fictionlab/docs) to check how to
start adding new content. If you are not familiar with using GitHub and
Markdown/MDX files, please refer to the following resources:

- [GitHub Docs - Getting started with GitHub](https://docs.github.com/en/get-started/quickstart)
- [Markdown Guide - Getting started with Markdown](https://www.markdownguide.org/getting-started/)
- [Docusaurus Docs - Markdown Features](https://docusaurus.io/docs/markdown-features)

### Custom Fictionlab's components

Fictionlab documentation uses custom React components to enhance the content and
provide additional functionality. To see a list of available components, visit
the [Components](/guidelines/components) page.

## Creating a community project entry

### Prepare your workspace on a separate fork

All community project pages need be created on the separate forks of the
Fictionlab documentation repository. Creating a separate fork allows you to work
on your community project entry without affecting the main repository until you
are ready to submit a pull request. It also allows for better collaboration and
version control of your changes.

To create a fork, click the "Fork" button at the top right corner of the
repository page on GitHub. This will create a copy of the repository under your
GitHub account where you can make your changes. More information on how to fork
a repository can be found in the
[Fork a repository - Github Docs](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo).

When you are ready to submit your community project, you can create a pull
request from your fork to the main repository. After the pull request is
reviewed and approved by the Fictionlab team, your community project will be
merged and queued for release in the next documentation update.

:::tip

Check the
[Getting Started](https://github.com/fictionlab/docs?tab=readme-ov-file#getting-started)
section in the documentation repository's README for more information on how to
setup your local workspace from the scratch.

:::

### Create the MDX file

To add a community project to the Fictionlab documentation, create a new MDX
file in the `community-projects/` directory of this repository. Each community
project should have its own MDX file named after the project (e.g.,
`my-community-project.mdx`).

### Front matter

Each community project page should include the front matter data at the top of
the MDX file. It allows proper indexing and display of the project on the
Community Projects page.

:::info

Some of the fields requires providing image_url or logo_url. All images should
be placed in the `/static/img/community-projects` directory of this repository.

:::

Below is the list of required front matter fields:

- `title`
- `description`
- `authors`
- `tags`
- `image`
- `company`

:::tip

To see how each of the front matter fields should be structured, refer to the
documentation of the docusaurus:

- [Docusaurus Docs - Front matter](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog#markdown-front-matter)
- [Docusaurus Docs - Inline authors](https://docusaurus.io/docs/blog#inline-authors)
:::

Example front matter:

```yml
---
title: Automated Plant Watering System
description:
An IoT-based automated plant watering system using Leo Rover and soil moisture
sensors.
authors:
- name: John Doe
title: Lead Developer
url: https://johndoe-website.com
image_url: /img/community-projects/automated-plant-watering/johndoe.jpg
socials:
x: johnDoe
github: johndoe
linkedin: johndoe
email: johndoe@example.com
tags: [leo-rover]
image: /img/community-projects/automated-plant-watering/project-image.jpg
company:
name: GreenTech Solutions
url: https://greentech-solutions.com
logo_url: /img/community-projects/automated-plant-watering/greentech-logo.jpg
---
```

#### Front matter fields description

- `title`: The title of the community project (max 100 characters).
- `description`: A brief description of the community project (max 160
characters).
- `tags`: A list of tags relevant to the project (e.g., leo-rover). Please note
that only tags mentioned in the
[Community projects tags](/community-projects/tags) page should be used.
- `image`: The URL or path of the image representing the community project. It
will be displayed on the Community Projects page.
- `authors`: A list of authors who contributed to the project. It is possible to
add multiple authors by adding more entries to the list. Each author entry
should include the following fields:
- `name`: The author's name.
- `title`: The author's title or role.
- `url`: The URL to the author's personal or professional website.
- `image_url`: The URL or path to the author's image.
- `socials`: A list of social media handles for the author (e.g., x, github,
linkedin, email).
- `company`: Information about the company or organization associated with the
project, including:
- `name`: The company's name.
- `url`: The URL to the company's website.
- `logo_url`: The URL or path to the company's logo image.

:::tip

Check existing community project pages in the `/community-projects` directory
for examples of how to structure the front matter and content.

:::

### Content structure

#### Summary

After the front matter, provide a short summary of the community project. This
section should give an overview of the project's purpose and main features. It
should have around 300-400 characters.

#### Truncate tag

To control the length of the project preview on the Community Projects page, use
the `{/* truncate */}` tag after the summary. Content after this tag will not be
displayed in the preview.

#### Main content

In this section provide detailed information about the community project. You
can structure this section using headings, subheadings, lists, images, and code
snippets as needed. We do not enforce a specific structure for this section.

#### Resources

As final step, you can provide links to additional resources related to the
community project, such as:

- GitHub repository
- Documentation
- Tutorials
- Videos
- Blog posts

and any other relevant materials.

## Submitting the community project

:::info

Test your MDX file locally using Docusaurus to ensure that it renders correctly
before submitting it as a pull request. Instructions for setting up a local
Docusaurus environment can be found in the
[Testing implemented changes](https://github.com/fictionlab/docs?tab=readme-ov-file#testing-implemented-changes)
section of the documentation repository's README.

:::

Once you have created the MDX file for your community project, submit it as a
pull request to the Fictionlab documentation repository. Ensure that your pull
request includes the new MDX file in the `/community-projects` directory.

:::note

Fictionlab team will review the submitted community project to ensure it meets
the guidelines and quality standards. They may request changes or additional
information before approving the pull request.

:::

After the pull request is reviewed and approved, your community project will be
added to the Fictionlab documentation and will appear on the Community Projects
page.

## License Information

All committed changes will be licensed under the terms specified in the LICENSE
file added to the repository. Please ensure that your contributions comply with
this license.
Loading