# Work Proposal: Support for community content on farmos.org

**URL:** <https://farmos.discourse.group/t/work-proposal-support-for-community-content-on-farmos-org/1265>\
**Category:** Jobs Board\
**Created:** [June 10, 2022, 7:33pm UTC](https://farmos.discourse.group/t/work-proposal-support-for-community-content-on-farmos-org/1265 "2022-06-10T19:33:03Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![jgaehring](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/jgaehring/32/927_2.png) [@jgaehring](https://farmos.discourse.group/u/jgaehring)\
**Post date:** [July 1, 2022, 8:28pm UTC](https://farmos.discourse.group/t/work-proposal-support-for-community-content-on-farmos-org/1265/12 "2022-07-01T20:28:15Z")

</div>

A day later than hoped, but the core deliverables are ready, as outlined below. I know @mstenta is taking time off for another week or more, and as far as I know there’s no content waiting to be published, so I don’t see any rush to sign off on these acceptance criteria, but I wanted to make sure to hand it off before this holiday weekend here in the states. Perhaps we can review it at the next [Monthy Call on July 13th](https://farmos.discourse.group/t/farmos-monthly-call-13-july-2022/1271).

## Deliverable 1: Implementation

> [@jgaehring](#):
>
> - Complete implementation of all features and bug fixes listed in the above description.

These can be viewed in the preview deployment:

> **[farmOS | Blog](https://deploy-preview-49--gracious-brattain-bdd606.netlify.app/blog/)**
>
> farmOS is a free and open source web-based application for farm management, planning, and record keeping.

There are some decisions that need to be made about what to name the index page and where to place it in the navigation, but that can all be easily configured.

With regard to the [Front Matter](https://jekyllrb.com/docs/front-matter/) properties that can be added to markdown posts, I’ve started us off with the following:

- `author`: Defaults to `"the farmOS Community"`.
- `canonical`: Optional.
- `date`: Required.
- `slug`: Defaults to the directory name if not provided.
- `title`: Required, unless a an `h1` is provided in the markdown.

The only absolutely required property is `date`, because I don’t see a good way around this to provide some minimal degree of sorting, as well as a means of approximating how up-to-date a post is. Also note that the first `h1` element in the markdown, regardless of whether it’s used as the title in the main heading, will be stripped out of the markdown itself. This behavior could be modified or made configurable, but for a first pass this seemed like the most sensible choice. The Front Matter properties as a whole can be structured however we wish, they just need to be changed in the [GraphQL type definitions](https://github.com/farmOS/farmOS.org/pull/49/commits/a9f544edb092a1862747fa15b2d0bcf3174af3d9) provided to Gatsby.

## Deliverable 2: Feature branch

> [@jgaehring](#):
>
> - A prepared feature branch, containing those features, that is ready to merge into the `farmOS/farmOS.org` repository’s `main` branch.

I’ve opened a Pull Request for these feature from the `blog` branch from my own fork, ready to merge or accept additional commits:

[https://github.com/farmOS/farmOS.org/pull/49](https://github.com/farmOS/farmOS.org/pull/49)

As I noted there, I don’t think it should be merged until we have some content ready to publish and make some time to decide on some of the configuration choices I mentioned under Deliverable 1. If nothing else, we need to [set the source repo and branch](https://github.com/farmOS/farmOS.org/pull/49/commits/bb2c9b00c1a429569293d7e399fde09c30835157) once we know what those will be.

## Deliverable 3: Source repository

> [@jgaehring](#):
>
> - A test branch with a link to a source repository that contains sample content for testing, if content is not already available for publication.

I’ve created a bare-bones source repository and testing branch, here:

> **[GitHub - farmOS/farmOS-community-blog at test](https://github.com/farmOS/farmOS-community-blog/tree/test)**
>
> test

The main branch is even more bare, with only 3 files: a license, a `README` and a `.gitignore`. No `config.yml` file is needed, since I don’t think we want to manually place each individual post in the navigation menu, and the rest can be configured from [`site-data.js` in the farmOS.org repo](https://github.com/jgaehring/farmOS.org/blob/bebc68bec6b5184140a382eca9f195eeaefa659b/site-data.js#L61-L73). If we want, we can transfer `farmOS-community-blog` to the farmOS GitHub organization, or create a new one, or whatever we like, so long as we update `site-data.js` accordingly.

---

_[View the full topic](https://farmos.discourse.group/t/work-proposal-support-for-community-content-on-farmos-org/1265)._
