Skip to content

Commit 4ea8671

Browse files
committed
v1.2.0
2 parents c7207cd + d194dc6 commit 4ea8671

File tree

346 files changed

+7524
-44125
lines changed

Some content is hidden

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

346 files changed

+7524
-44125
lines changed

.config/mise/config.toml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
[env]
2+
BROWSERSLIST="> 0.9% and last 2 versions and not dead"
3+
4+
5+
[tools]
6+
esbuild = "latest"
7+
deno = "2.4"
8+
9+
10+
[tasks]
11+
build = { depends = ["build:*"] }
12+
lint = { depends = ["lint:*"] }
13+
serve = { depends = ["lume -s"] }
14+
15+
"build:www" = { depends = "lume" }
16+
"build:css" = [
17+
"esbuild --bundle --outdir=dist src/missing.css src/missing-prism.css",
18+
"esbuild --minify --outdir=dist --entry-names=[name].min dist/missing.css dist/missing-prism.css",
19+
]
20+
"build:js" = "rm -rf dist/js && cp -r src/js dist/js"
21+
22+
lume = { hide = true, run = "cd www && echo \"import 'lume/cli.ts'\" | deno run --unstable -A -" }
23+
24+
25+
[alias]
26+
esbuild = "npm:esbuild"

.config/mise/tasks/lint/css.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/usr/bin/env -S deno run -A --no-lock --node-modules-dir=none
2+
3+
import stylelint from 'npm:stylelint';
4+
import browserCompat from 'npm:stylelint-browser-compat';
5+
import { resolve } from 'jsr:@std/path/resolve'
6+
7+
const result = await stylelint.lint({
8+
cwd: resolve(import.meta.dirname, '../../../..'),
9+
files: 'src/**/*.css',
10+
formatter: 'string',
11+
config: {
12+
plugins: [browserCompat],
13+
rules: {
14+
'plugin/browser-compat': [
15+
true,
16+
{
17+
allow: {
18+
features: ['at-rules.supports'],
19+
flagged: false,
20+
partialImplementation: false,
21+
prefix: true,
22+
},
23+
browserslist: [Deno.env.get("BROWSERSLIST")],
24+
},
25+
],
26+
},
27+
},
28+
});
29+
30+
if (result.errored) {
31+
console.log(result.report);
32+
Deno.exit(1);
33+
}

.github/workflows/npm-publish.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
node_modules
33

44
dist
5+
www/_site
6+
www/missing-js
57
_bin
68

79
# Local Netlify folder
810
.netlify
911

1012
# esm.sh :[
11-
deno.lock
13+
# deno.lock

.vscode/settings.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Changelogs are kept in `www/releases` and can be found on our website: [/releases](https://missing.style/releases).

CONTRIBUTING.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
2+
# Contribute to missing.css
3+
4+
5+
## Issues
6+
7+
PRs are not the only form of contributing. Reporting issues is also important
8+
and helps a lot. And, like PRs, issues that don't match the project's goals or
9+
standards of quality will not be accepted.
10+
11+
Don't be afraid! We take it upon ourselves to help people contribute. You might
12+
get follow-up questions or asked for more information when you submit an issue.
13+
It's not productive to close issues just because we don't like them.
14+
15+
For feature requests, prefer [Discussions][] instead of Issues, unless the
16+
feature is directly in our [RFP][] or [Concepts][] pages. Otherwise, once a
17+
feature is agreed upon and there is interest in implementing it, issues can be
18+
created.
19+
20+
missing.css is developed on a "free to use, pay to demand" basis. Contributors
21+
are not beholden to users and can work on whatever they like. If you need a
22+
specific feature or bugfix for your business, consider putting up a bounty.
23+
(Not recommended: Making an unsolicited donation and then demanding specific
24+
work. That's not how you buy something).
25+
26+
[RFP]: https://missing.style/rfp/
27+
[Concepts]: https://missing.style/concepts/
28+
[Discussions]: https://github.com/bigskysoftware/missing/discussions
29+
30+
31+
## Development Environment
32+
33+
The Missing project uses [mise-en-place] to install tools and run tasks.
34+
35+
* Install your tools:
36+
~~~
37+
mise install
38+
~~~
39+
40+
* Start a development server:
41+
~~~ sh
42+
mise run serve
43+
~~~
44+
45+
* Build all of missing.css (CSS and JS):
46+
~~~ sh
47+
mise run build
48+
~~~
49+
50+
* Build just the CSS:
51+
~~~ sh
52+
mise run build:css
53+
~~~
54+
55+
* Build just the JS:
56+
~~~ sh
57+
mise run build:js
58+
~~~
59+
60+
* Build the website:
61+
~~~ sh
62+
mise run build:www
63+
~~~
64+
65+
[mise-en-place]: https://mise.jdx.dev/
66+
67+
68+
## Branching
69+
70+
We don't use the `master` or `main` branch. Instead, the `dev` branch
71+
is the default. This way, the default place to open a pull request is
72+
the right one.
73+
74+
The `prod` branch will contain the last published version of the code.
75+
Changes to the website and docs can also be made directly against the
76+
`prod` branch.
77+
78+
That's it! We don't expect to use feature branches that often, instead working
79+
directly on `dev` because CSS is hard to merge.
80+
81+
82+
## Publishing a release
83+
84+
To publish a new release:
85+
86+
* Make sure there is a changelog in `www/releases/`:
87+
88+
~~~ sh
89+
cat >www/releases/4.2.0.md <<EOF
90+
---
91+
release: 4.2.0
92+
---
93+
94+
# Changelog
95+
96+
- **Breaking:**{.color.warn} Removed everything
97+
EOF
98+
~~~
99+
100+
Some older changelogs have a list of `artifacts` -- this is a leftover
101+
from when we used our own distribution instead of npm.
102+
103+
* Create a git tag matching the regex `^v\d+\.\d+\.\d+` (i.e.: `v1.2.2`,
104+
`v1.3.3-special-build-1`, NOT `1.1.2`, `v3`, `v1.2-alpha`). It's important
105+
that the git tag has the correct format since we use the regex above in
106+
code.
107+
108+
109+
## Dev Notes
110+
111+
You can note your thoughts and leave notes for maintainers in the `JOURNAL.md`
112+
file. The structure is:
113+
114+
~~~
115+
## YYYY-MM-DD
116+
117+
Your notes here
118+
119+
-- your-github-username
120+
~~~
121+
122+
Leave two empty lines between notes.
123+
124+
125+
## Project Structure
126+
127+
* `src/` -- the CSS source code. This is bundled with esbuild.
128+
129+
* `www/` -- the project website, built with [Lume]
130+
* `docs/` -- documentation. The prefixes on the names (e.g. `40-aria.md`)
131+
determine the order of pages.
132+
* `demos/` -- demo pages. These should have a `name` specified in the
133+
frontmatter. They will be listed in the demo page (`../demos.md`).
134+
* `releases/` -- release notes.
135+
136+
* `dist/` -- build results. This is also where the built website is.
137+
* `missing.css` -- unminified dev build
138+
* `missing.min.css` -- minified
139+
* `missing-prism.css` (& `.min.css`) -- [Prism] theme
140+
141+
[Lume]: https://lume.land
142+
[Prism]: https://prismjs.com

0 commit comments

Comments
 (0)