Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
d4a730d
feat: Markdown processor
validcube Jan 31, 2026
006b823
Remove markdown parser from html during static generation
validcube Jan 31, 2026
e3362ad
docs: Update docs
validcube Jan 31, 2026
84114f4
Apply suggestions from code review
validcube Feb 1, 2026
b15c25c
feat: Use yaml frontmatter and remove client rendering
validcube Feb 1, 2026
cf2a1f1
feat: Make it directly commit to the codebase
validcube Feb 1, 2026
47fc017
chore: Commit pregenerated html file
validcube Feb 1, 2026
de7e540
chore: Remove deprceated functions
validcube Feb 1, 2026
acd82d4
chore: Faster build
validcube Feb 1, 2026
8640304
refactor: Split them into multiple files because performance is not a…
validcube Feb 1, 2026
52de0da
fix: Don't remove data attribute for author freshness
validcube Feb 1, 2026
03da5bd
chore: Update authors roles
validcube Feb 1, 2026
50db830
chore: Add metadata to html
validcube Feb 1, 2026
d2b8b51
feat: Create html template automatically when none is specified
validcube Feb 1, 2026
fe96626
docs: Update docs
validcube Feb 1, 2026
4708ec5
feat: Support for codeblock highligher and GFM footnote
validcube Feb 1, 2026
6b887d9
refactor: Much better code highlight
validcube Feb 1, 2026
71a6ec5
feat: Update sitemap and feed.xml
validcube Feb 1, 2026
b871ca4
blargh
validcube Feb 1, 2026
21a92dc
Update feed and blog index, and html
validcube Feb 1, 2026
a0b6813
feat: Theme GFM table
validcube Feb 1, 2026
615d2e6
Fix admonition icon not loaded or not impl
validcube Feb 1, 2026
6d3d71c
re add faq schema
validcube Feb 1, 2026
53398b7
chore: date in UTC
validcube Feb 15, 2026
09d5aa6
fix: Escape value with LC-FM
validcube Feb 15, 2026
7b18a2e
chore: date in UTC
validcube Feb 15, 2026
8bbbf65
fix: Unique slug even for duplicate
validcube Feb 15, 2026
286eaed
chore: Remove social from author metadata
validcube Feb 15, 2026
06e2b02
Insert toc with heading
validcube Feb 15, 2026
7b4f08c
chore; Update HTML output
validcube Feb 15, 2026
e0c7e5b
feat: Handle more CM/GFM testing case
validcube Feb 15, 2026
ece24db
chore: Conflict
validcube Feb 15, 2026
cefc8cd
fix: Import Google Sans Code instead
validcube Feb 15, 2026
d99d524
fix: inline code being too close to the text
validcube Feb 15, 2026
4a41f63
fix: Inline/Block code consistency colour
validcube Feb 15, 2026
5aa27c3
fix: Blockquote without themes
validcube Feb 15, 2026
fa40b53
fix: Admonition sit too close to eachother
validcube Feb 15, 2026
670c54a
fix: Don't let user select decorative symbols from material
validcube Feb 15, 2026
92c832a
chore: Roll common css to v6
validcube Feb 15, 2026
0cae04c
chore: Roll CSS/Script to v6
validcube Feb 15, 2026
8c09b58
docs: Much better docs
validcube Feb 15, 2026
577ebe9
docs: Clarify
validcube Feb 15, 2026
a947b05
feat: Lawnchair deeplinking test
validcube Apr 11, 2026
f2761dc
Merge remote-tracking branch 'upstream/master' into bubbletea-milestone
validcube Apr 11, 2026
b099c48
chore: Update script
validcube Apr 11, 2026
053f521
feat: Update generated structure
validcube Apr 11, 2026
adf2768
fix: Remove frontmatter key normalisation
validcube Apr 11, 2026
026969e
fix: Don't read markdown inefficienyl
validcube Apr 11, 2026
1e25fbd
fix: Remove dups utils
validcube Apr 11, 2026
72a9b1a
refactor: js
validcube Apr 11, 2026
9c42d9a
ci: Update checkout
validcube Apr 11, 2026
407e0d3
Potential fix for pull request finding
validcube Apr 11, 2026
687c518
feat: Update pregenerated structure
validcube Apr 11, 2026
365c7f7
chore: Update minimum requirements
validcube Apr 11, 2026
f4d22cf
feat: Show toc on demand
validcube Apr 11, 2026
1ada253
feat: Update template structure
validcube Apr 11, 2026
2d62cc5
fix: Lawnstate reflection
validcube Apr 11, 2026
f2b9fb1
feat: Use samaller code styling on standalone
validcube Apr 11, 2026
ac0fb19
feat: Create FAQ
validcube Apr 11, 2026
47e0f55
chore: Remove test mode
validcube Apr 11, 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
86 changes: 86 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Lawnchair Website

Welcome to Lawnchair contributing guidelines, this guide primarily focus on writing blogs/documentations to the website.

## Prerequisite

- Node runtime, at least Bun 1.3.0 or at least Node.js 20.19
- Node dependencies (`npm i` or `npm ci` for CI environment)

### Write from Markdown to HTML

1. Setup page directory
Write your blog in markdown with [metadata](#metadata), create a folder inside `blog` and place it there.

2. Build RSS feeds, sitemap and blog index, and your HTMLified markdown
Run `npm run build` to generate a sitemap, RSS feeds, blog selector and your HTMLified version of your markdown.

3. Update live information (optional)
If you wish to signal to every Lawnchair client using live information announcement feature, add your entry to `live-information.json`.

#### Custom components

Lawnchair markdown renderer extends the current CommonMark specifications with these components:
* Lawnchair frontmatter
* Inline Table of Contents (ToC) at any location with `<toc-inline></toc-inline>` (**inline ToC need compatible pages**, user override can disable toc globally by adding `?disabletoc=*` to the url param)
* Admonitions: Quote block starting with `> [!TIP/NOTE/IMPORTANT/WARNING/CAUTION]` [(same as GitHub-flavored alerts)](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts)

##### Metadata

###### Frontmatter

If your markdown has frontmatter with `title` and `description`, they will be automatically used for the page's `<title>` and meta description. Otherwise, `{{title}}` and `{{description}}` placeholders remain for you to fill in manually.

Blog index, sitemap and RSS feed is automatically updated with blog entries using `last_modified` (default to `first_published`) or `first_published` (default to today) from frontmatter, for RSS feed the `title` and `description` will be omitted if none is specified.

```yaml
---
title: strings
description: strings
authors:
- array1
- array2
first_published: YYYY-MM-DD
last_modified: YYYY-MM-DD
---
```

> [!NOTE]
> Date is always assumed in Central UTC+0/GMT-0 time

> [!WARNING]
> The script generates the h1 heading and description paragraph from `title` and `description` for you,
> so you should **not** include a duplicate `# Heading title` in your markdown content.
>
> Authorship cards and `first_published` `last_modified` metadata are positioned below the generated title and description.

##### Authorship

Required when you specified an author in Frontmatter.

```jsonc
{
"authors": [
{
"id": "generic",
"name": "Lawnchair Launcher Team",
"role": "Administrator",
"avatar": "/images/lawnchair.png", // Optional, supports URLs and local assets, and will not show an avatar when not specified
"links": { // Optional, will not show any social icon when not specified
"github": "https://github.com/lawnchairlauncher",
"x": "https://x.com/lawnchairapp",
"mastodon": "https://mastodon.social/@lawnchairapp"
/* To add your own socials,
search for iconMap in scripts/components/author-cards.js
and configure it so that icon will render correctly for your socials */
}
}
]
}
```

#### Testing

To test the rendering of standards from CommonMark (CM), GitHub-Flavored Markdown (GFM), Lawnchair Frontmatter (LC-FM).

Copy the `/scripts/test-blog` to `/blog` folder and build the documents to preview suite of test case.
2 changes: 2 additions & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ If you are experiencing issues relating to Lawnchair or Lawnicons, please create
Contributions are always welcome. If you feel inclined to, feel free to submit a pull request.

In addition, you can also contribute by submitting issues. Please describe the issue with enough details and it will be solved as soon as possible.

For more information see [contributing guide](CONTRIBUTING.md)
3 changes: 1 addition & 2 deletions .github/workflows/deploy_website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v6.0.2
- name: Deploy website
uses: SamKirkland/FTP-Deploy-Action@4.3.0
with:
server: ${{ secrets.FTP_SERVER }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
Comment thread
validcube marked this conversation as resolved.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
.vscode/settings.json
node_modules/
blog/test-blog/
.idea/
6 changes: 6 additions & 0 deletions assets/common.css
Original file line number Diff line number Diff line change
Expand Up @@ -150,3 +150,9 @@ footer a:hover {
display: none;
}
}

.material-symbols-outlined,
.material-symbols-rounded,
.material-symbols-sharp {
user-select: none;
}
Loading