Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
ae6740d
Upgrade Bootstrap to 5.3 for dark theme support
yihao03 Mar 9, 2026
e2cbbe5
Refresh CLI functional outputs for dark mode
yihao03 Mar 9, 2026
a06e8dd
Add runtime page theme switching
yihao03 Mar 9, 2026
a1f02db
Add dark mode toggle and component overrides
yihao03 Mar 9, 2026
19d5368
Update tests
yihao03 Mar 11, 2026
78dcb37
Update hard coded mark and blockquote colors
yihao03 Mar 18, 2026
aa1c98f
Merge branch 'master' into feat/dark-mode
yihao03 Mar 18, 2026
403247f
Run npm i
yihao03 Mar 18, 2026
ddb44d9
Update page nav to use bootstrap colours
yihao03 Mar 18, 2026
e419ccb
Use bootstrap adaptive colors instead of hard coded value for nav
yihao03 Mar 18, 2026
60d6df8
Update previous_next colour
yihao03 Mar 18, 2026
81801be
Add adaptive theme for hot reload loading page
yihao03 Mar 18, 2026
c9ac37d
Add adaptive theme for panels
yihao03 Mar 18, 2026
24bb019
Explicitly specify border colors for boxes
yihao03 Mar 18, 2026
317f499
Define mark in markbind.css instead of main.css
yihao03 Mar 19, 2026
bf22300
Build web and update tests
yihao03 Mar 19, 2026
cd774d6
Respect site.json for darkmode config
yihao03 Mar 20, 2026
7260cdb
Update tests
yihao03 Mar 20, 2026
883b5ef
Merge branch 'master' into feat/dark-mode
yihao03 Mar 20, 2026
08491f9
Merge branch 'master' into feat/dark-mode
yihao03 Mar 23, 2026
f109002
Update package lock
yihao03 Mar 23, 2026
c5ad891
Use bs vars instead of theme overrides
yihao03 Mar 23, 2026
c4af618
Refactor panel to stop using isLightBg
yihao03 Mar 23, 2026
81d0684
Remove conditional rendering in toggle vue
yihao03 Mar 23, 2026
462aa72
Merge branch 'master' into feat/dark-mode
yihao03 Mar 26, 2026
f37c491
Merge branch 'master' into feat/dark-mode
yihao03 Mar 27, 2026
2d74dea
Revert light mode highlight behavioural change
yihao03 Mar 27, 2026
e387406
Refactor inline scripts out of page.njk
yihao03 Mar 27, 2026
54ad07b
Update tests
yihao03 Mar 27, 2026
0c02d85
Merge branch 'master' into feat/dark-mode
yihao03 Mar 27, 2026
a0c16a7
Fixed thead divider regression
yihao03 Mar 27, 2026
3732cdf
Merge branch 'master' into feat/dark-mode
Harjun751 Mar 28, 2026
2d34770
Merge branch 'master' into feat/dark-mode
yihao03 Mar 28, 2026
2c73b5d
Build web
yihao03 Mar 28, 2026
adf3f93
Merge branch 'feat/dark-mode' of github.com:yihao03/markbind into fea…
yihao03 Mar 28, 2026
60352c3
Fix disappeared toggle
yihao03 Mar 30, 2026
3a9134f
Move darkmode config into style object
yihao03 Mar 30, 2026
14d0951
Add visual separator for navbar
yihao03 Mar 30, 2026
4d6f446
Build and update test
yihao03 Mar 30, 2026
22491ae
Update site/page-nav border color
yihao03 Mar 30, 2026
0978692
Use variables instead of override for Box
yihao03 Mar 30, 2026
e53e693
Merge branch 'master' into feat/dark-mode
yihao03 Mar 31, 2026
32de6a1
Build and updatetest
yihao03 Mar 31, 2026
39c1306
Add comments in page.njk
yihao03 Apr 1, 2026
05d686b
Merge branch 'master' into feat/dark-mode
yihao03 Apr 1, 2026
bf34a5e
Update docs
yihao03 Apr 1, 2026
dce7cb6
Update docs
yihao03 Apr 1, 2026
4d31eb1
Update site nav color
yihao03 Apr 1, 2026
bd89dd7
Update quizzes
yihao03 Apr 1, 2026
0860e61
Remove hardcoded white background in docs
yihao03 Apr 1, 2026
e022eb9
Enable dark mode in dg
yihao03 Apr 1, 2026
6a4dccc
Merge branch 'feat/dark-mode' of github.com:yihao03/markbind into fea…
yihao03 Apr 1, 2026
a5f8cd0
Build and update test
yihao03 Apr 1, 2026
d047194
Created user facing skills
yihao03 Apr 9, 2026
cde7589
Merge branch 'master' into feat/user-ai-skills
yihao03 Apr 9, 2026
ba2c73d
Follow best practices
yihao03 Apr 9, 2026
ff5b8d2
Add rule
yihao03 Apr 12, 2026
fef7f7a
Fix yml syntax
yihao03 Apr 12, 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
35 changes: 35 additions & 0 deletions .github/skills/markbind-authoring/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: markbind-authoring
description: Refer to this skill for MarkBind-specific authoring features and formatting when writing MarkBind pages.
paths: "*.md,*.html"
---

# MarkBind Content Authoring

## Overview

Use this skill for MarkBind-specific authoring behavior and syntax extensions.

## Essential Rules

MarkBind pages are not plain Markdown. The processing order matters:

1. **Nunjucks** (`{% ... %}`, `{{ ... }}`)
2. **MarkBind syntax** (components, include/variable tags, extensions)
3. **Markdown rendering**

- Escape literal template syntax with `{% raw %}...{% endraw %}` when needed.
- Use MarkBind text extensions only where they improve readability; avoid stacking too many styles.
- Use search/indexing annotations (`.always-index`, `.no-index`, `.keyword`) intentionally.

## Authoring References

- [reference/textStyles.md](reference/textStyles.md) - MarkBind inline style extensions (`==`, `!!`, `%%`, `++`, `--`, color syntax) and when to use them.
- [reference/codeBlocks.md](reference/codeBlocks.md) - MarkBind code block attributes (`.line-numbers`, `start-from`, `highlight-lines`, `heading`) and inline code language classes.
- [reference/headings.md](reference/headings.md) - heading anchors and search-indexing controls (`.always-index`, `.no-index`).
- [reference/paragraphs.md](reference/paragraphs.md) - MarkBind-safe line break and paragraph patterns.

## User Guide Entries

- <https://markbind.org/userGuide/authoringContents.html>
- <https://markbind.org/userGuide/markBindSyntaxOverview.html>
70 changes: 70 additions & 0 deletions .github/skills/markbind-authoring/reference/codeBlocks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Code Blocks

## Basic Syntax Highlighting

````markdown
```js
const x = 42;
```

```python
print("Hello")
```

```html
<div>HTML</div>
```
````

## Line Numbers

````markdown
```js {.line-numbers}
const x = 42;
const y = 100;
```
````

## Custom Start Line

````markdown
```js {.line-numbers start-from=10}
const x = 42;
```
````

## Highlight Lines

````markdown
```js {highlight-lines="1,3-5"}
const a = 1; // highlighted
const b = 2;
const c = 3; // highlighted
const d = 4; // highlighted
const e = 5; // highlighted
```
````

## Heading on Code Block

````markdown
```js {heading="example.js"}
console.log("Hello");
```
````

## Inline Code with Syntax

```markdown
`const x = 42;`{.js}
```

## Code Block Options Reference

| Option | Syntax | Example |
|--------|--------|---------|
| Language | First line | ```js |
| Line numbers | `{.line-numbers}` | ```js {.line-numbers} |
| Start from | `start-from=N` | ```js {.line-numbers start-from=10} |
| Highlight lines | `highlight-lines="1,3-5"` | |
| Heading | `heading="title"` | |
45 changes: 45 additions & 0 deletions .github/skills/markbind-authoring/reference/headings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Headings

## Syntax

```markdown
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
```

## Auto-generated Anchors

Headings automatically generate anchors:
- Lowercase
- Special characters removed
- Spaces replaced with hyphens

Example:
- `## My Heading` → `#my-heading`
- `## API (v2)` → `#api-v2`

## Manual Anchors

```markdown
<span id="custom-anchor"></span>
## My Heading
```

Or use Pandoc-style:
```markdown
## My Heading {#custom-anchor}
```

## Always Index / No Index

```markdown
## Important Heading {.always-index}
## Skip This Heading {.no-index}
```

Use `.always-index` to include headings below `headingIndexLevel` in search.
Use `.no-index` to exclude headings from search.
31 changes: 31 additions & 0 deletions .github/skills/markbind-authoring/reference/paragraphs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Paragraphs and Line Breaks

## Paragraphs

Separate paragraphs with one or more empty lines:

```markdown
First paragraph text.

Second paragraph text.
```

## Line Breaks

Use `<br>` tag (preferred):

```markdown
Line one<br>
Line two
```

Or end line with two or more spaces:

```markdown
Line one
Line two
```

<box type="info">
Using `<br>` is recommended as trailing spaces can be invisible and easy to miss.
</box>
64 changes: 64 additions & 0 deletions .github/skills/markbind-authoring/reference/textStyles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Text Styles

## Standard Markdown

```markdown
**Bold** or __Bold__
*Italic* or _Italic_
***Bold and Italic***
~~Strikethrough~~
`Inline code`
```

## MarkBind Extensions

```markdown
****Super Bold****
!!Underline!!
==Highlight==
%%Dim%%
++Large++
--Small--
Super^script^
Sub~script~
->Center-align<-
```

## Colored Text

```markdown
#r#Red Text## (colors: r/g/b/c/m/y/k/w)
#g#Green Text##
#b#Blue Text##
#c#Cyan Text##
#m#Magenta Text##
#y#Yellow Text##
#k#Black Text##
#w#White Text##
```

### Color Reference
| Code | Color |
|------|-------|
| `#r#...##` | Red |
| `#g#...##` | Green |
| `#b#...##` | Blue |
| `#c#...##` | Cyan |
| `#m#...##` | Magenta |
| `#y#...##` | Yellow |
| `#k#...##` | Black |
| `#w#...##` | White |

## Text Effects Reference

| Syntax | Output | Description |
|--------|--------|--------------|
| `****text****` | ****text**** | Super bold |
| `!!text!!` | !!text!! | Underline |
| `==text==` | ==text== | Highlight |
| `%%text%%` | %%text%% | Dim text |
| `++text++` | ++text++ | Large text |
| `--text--` | --text-- | Small text |
| `text^script^` | text^script^ | Superscript |
| `text~script~` | text~script~ | Subscript |
| `->text<-` | ->text<- | Center align |
96 changes: 96 additions & 0 deletions .github/skills/markbind-components/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
---
name: markbind-components
description: Use when adding MarkBind components like boxes, panels, tabs, modals, tooltips, popovers, dropdowns, navbars, search bars, cards, badges, questions, quizzes, trees, thumbnails, annotations, scroll-to-top buttons, dark mode toggles, breadcrumbs, site-nav, or page-nav to MarkBind pages
paths: "*.md,*.html"
---

# MarkBind Components

## Overview

MarkBind provides Vue.js components built on Bootstrap for creating rich, interactive pages. Use components via HTML-like tags in `.md` files.

## Essential Rules

- Prefer MarkBind components over custom HTML/JS when a component already provides the behavior.
- Keep navigation components (`navbar`, `site-nav`, `page-nav`) aligned with site layout and frontmatter/site config.
- Use semantic component choices (`box` for callouts, `panel` for collapsible sections, `tabs` for alternatives).
- Verify component content still reads well in print and search contexts.

## Component Categories

### Presentation Components
- **Box**: Highlight information with styled containers
- **Panel**: Flexible collapsible/expandable containers
- **Tabs**: Organize content into tabbed interfaces
- **CardStack**: Filterable card grid layouts

### Popup Components
- **Tooltip**: Brief explanations on hover/focus/click
- **Popover**: Rich content pop-ups with headers
- **Modal**: Full-screen overlay dialogs
- **Trigger**: Activate popups

### Navigation Components
- **Navbar**: Top navigation bar
- **Dropdown**: Dropdown menus
- **Breadcrumb**: Hierarchical navigation path
- **Site-nav**: Sidebar navigation menu
- **Page-nav**: Table of contents for current page

### Media Components
- **Picture**: Images with captions
- **Thumbnail**: Small visual elements
- **Tree**: Tree-like visualizations
- **Annotate**: Interactive annotation points
- **Badges**: Small status labels

### Interactive Components
- **Question/Quiz**: Assessment components
- **Searchbar**: Site search functionality

### Utility Components
- **Scroll-to-top**: Back to top button
- **Dark-mode-toggle**: Theme switcher

## Quick Reference

| Component | Key Attribute | Purpose |
|-----------|---------------|---------|
| `<box>` | `type="info\|warning\|tip\|success"` | Styled info containers |
| `<panel>` | `header`, `expanded`, `minimized` | Collapsible content |
| `<tabs>` | `:active`, `tab header` | Tabbed interface |
| `<tooltip>` | `content`, `trigger`, `placement` | Hover explanations |
| `<popover>` | `header`, `content` | Rich popups |
| `<modal>` | `header`, `id`, `large` | Dialog boxes |
| `<navbar>` | `type`, `highlight-on` | Top navigation |
| `<searchbar>` | `:data`, `:on-hit` | Search functionality |
| `<site-nav>` | Markdown list format | Sidebar navigation |
| `<page-nav />` | Config via frontmatter | Page TOC |

## Component References

### Presentation
- [reference/boxes.md](reference/boxes.md) - callout boxes, visual emphasis patterns, and attributes for informational/warning/tip content.
- [reference/panels.md](reference/panels.md) - collapsible/expandable sections for progressive disclosure.
- [reference/tabs.md](reference/tabs.md) - parallel content variants in tabbed UI.
- [reference/cardstacks.md](reference/cardstacks.md) - filterable card layouts for grouped content.

### Popups
- [reference/popups.md](reference/popups.md) - tooltip/popover/modal/trigger behavior and when to use each interaction type.

### Navigation
- [reference/navigation.md](reference/navigation.md) - navbar, dropdown, breadcrumb, `site-nav`, `page-nav` patterns for page/site navigation.

### Media
- [reference/media.md](reference/media.md) - media-oriented components (`pic`, thumbnails, tree, annotate, badges) for visual explanation.

### Interactive
- [reference/interactive.md](reference/interactive.md) - question/quiz/searchbar components for reader interaction and discovery.

### Utility
- [reference/utility.md](reference/utility.md) - utility components such as scroll-to-top and dark mode toggle.

## User Guide Entry

- <https://markbind.org/userGuide/usingComponents.html>
Loading
Loading