Skip to content

Commit fc7beb5

Browse files
authored
content-md first specification (#1)
1 parent 6d6a50c commit fc7beb5

73 files changed

Lines changed: 11693 additions & 2 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
APP_URL=http://localhost:8000/

.github/workflows/publish.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Workflow for deploying website build
2+
name: Deploy static content to Pages
3+
4+
on:
5+
# Runs on pushes targeting the default branch
6+
push:
7+
branches: ["main"]
8+
9+
pull_request:
10+
types: [opened, synchronize, reopened]
11+
12+
# Allows you to run this workflow manually from the Actions tab
13+
workflow_dispatch:
14+
15+
16+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
17+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
18+
concurrency:
19+
group: "publish"
20+
cancel-in-progress: false
21+
22+
jobs:
23+
# Build job
24+
build:
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@v6
29+
with:
30+
fetch-depth: 1
31+
32+
- name: Cache JS dependencies
33+
uses: actions/cache@v5
34+
with:
35+
path: ~/.npm
36+
key: dependencies-js-npm-${{ hashFiles('portal/package-lock.json') }}
37+
38+
- name: Setup PHP
39+
uses: shivammathur/setup-php@v2
40+
with:
41+
php-version: '8.3'
42+
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, relay, ffi
43+
coverage: none
44+
45+
- name: Composer install
46+
uses: "ramsey/composer-install@v4"
47+
48+
- name: JS install
49+
run: |
50+
npm ci
51+
52+
- name: Build static website
53+
run: |
54+
echo "APP_URL=https://contentmd.org" >> .env && \
55+
npm run build -- --base https://contentmd.org
56+
57+
58+
- name: Upload artifact
59+
uses: actions/upload-artifact@v7
60+
id: artifact-upload-step
61+
with:
62+
name: website
63+
path: build_production/
64+
retention-days: 2
65+
66+
- name: Output artifact ID
67+
run: echo 'Artifact ID is ${{ steps.artifact-upload-step.outputs.artifact-id }}'
68+
69+
# Deployment job
70+
deploy:
71+
environment:
72+
name: website
73+
url: 'https://contentmd.org'
74+
runs-on: ubuntu-latest
75+
needs: build
76+
steps:
77+
- name: Deploy
78+
id: deployment
79+
# ${{ steps.deployment.outputs.page_url }}
80+
run: |
81+
ls -lah

.gitignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/build_local/
2+
/cache/
3+
/node_modules/
4+
/vendor/
5+
/.idea/
6+
/.vscode/
7+
npm-debug.log
8+
hot
9+
.env
10+
.claude
11+
.agents
12+
13+
# Optional ignores
14+
/build_staging/
15+
/build_production/
16+
/source/assets/build/

CONTRIBUTING.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Contributing to content-md
2+
3+
Thank you for your interest in contributing to content-md! This document explains how to contribute and where different types of feedback belong.
4+
5+
## Types of Contributions
6+
7+
### Documentation Improvements
8+
9+
We welcome improvements to the [documentation site](https://contentmd.org) — typo fixes, clarity improvements, better examples, and new guides. Documentation lives in the `source/` directory as `.blade.php` files.
10+
11+
### Bug Reports
12+
13+
Found a bug in the spec or documentation? [Open an issue](https://github.com/OneOffTech/contentmd/issues).
14+
15+
### Proposals, Questions, and Feedback
16+
17+
Have a feature request, spec design question, or general feedback? [Start a discussion](https://github.com/OneOffTech/contentmd/discussions). We use Discussions for proposals and open-ended conversation, and reserve Issues for concrete bugs and problems.
18+
19+
Proposals should address real implementation challenges you've encountered, not theoretical concerns. Show us the problem you faced and how your proposal addresses it.
20+
21+
We maintain a high bar for additions to the spec — it is much easier to add things to a specification than to remove them. Every new feature adds complexity that all implementers must understand and support. When in doubt, leave it out.
22+
23+
> [!NOTE]
24+
> **Not sure where to post?** Default to [Discussions](https://github.com/OneOffTech/contentmd/discussions). If it turns out to be a bug, we'll convert it to an issue.
25+
26+
### Ecosystem Listings
27+
28+
If your product or platform has implemented content-md support, you can request to be listed on [contentmd.org](https://contentmd.org). Your implementation must be publicly available — we do not list products that have only announced intent to support content-md or are still in private beta.
29+
30+
Submit a pull request with:
31+
32+
1. **Logo files** — SVG preferred; PNG acceptable (min 200×200px). Provide light and dark variants.
33+
2. **An ecosystem entry** — Add your product to the ecosystem section in the docs.
34+
3. **Product information** — In your PR description, include your product name, a link to your product, and a link to documentation showing your content-md implementation.
35+
36+
We may ask for a demo or screenshot to verify the implementation.
37+
38+
### What We're Not Accepting (Yet)
39+
40+
To keep the project focused during this early stage, we are currently not accepting:
41+
42+
- **Major architectural changes** — We're still iterating on the core specification. Large-scale redesigns are premature.
43+
44+
If you're unsure whether your contribution fits, open a [Discussion](https://github.com/OneOffTech/contentmd/discussions) before investing significant effort.
45+
46+
## Development Setup
47+
48+
### Documentation Site
49+
50+
The documentation site is built with [Jigsaw](https://jigsaw.tighten.com/) and [Tailwind CSS](https://tailwindcss.com/).
51+
52+
```bash
53+
# Install PHP dependencies
54+
composer install
55+
56+
# Install JS dependencies
57+
npm ci
58+
59+
# Run local dev server
60+
npm run dev
61+
```
62+
63+
In a separate terminal, serve the static site:
64+
65+
```bash
66+
./vendor/bin/jigsaw serve
67+
```
68+
69+
Local preview will be available at `http://localhost:8000`.
70+
71+
## Submitting Changes
72+
73+
1. [Fork the repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo)
74+
2. Create a branch for your changes
75+
3. Make your changes and verify they work locally
76+
4. Submit a pull request
77+
78+
Keep PRs focused on one logical change and link any related issues.
79+
80+
## AI Contributions
81+
82+
> [!IMPORTANT]
83+
> If you are using **any kind of AI assistance** to contribute to content-md, please disclose it in the pull request or issue.
84+
85+
We welcome the use of AI tools to help improve content-md. That said, if you used AI assistance (e.g., Claude Code, ChatGPT) while contributing, **disclose it in the pull request or issue**, along with the extent of AI involvement.
86+
87+
As an exception, trivial spacing or typo fixes don't need to be disclosed.
88+
89+
## License
90+
91+
By contributing, you agree that your contributions will be licensed under the [Apache License 2.0](LICENSE) for code, and [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/) for documentation and specification files.

0 commit comments

Comments
 (0)