Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
b562e69
Add website package with Astro and Tailwind integration
Nowely Nov 22, 2025
ce81f55
Update documentation and configuration for Marked Input
Nowely Nov 22, 2025
b7d900f
Update project branding and documentation for Markput
Nowely Nov 22, 2025
e7f9a81
Enhance documentation structure and update configuration for Markput
Nowely Nov 22, 2025
e58377b
Implement comprehensive documentation overhaul for Markput
Nowely Nov 22, 2025
a71191e
Remove outdated DOCUMENTATION_PLAN.md file as all phases of the docum…
Nowely Nov 22, 2025
1f25700
Update documentation to include versioning for all guides and examples
Nowely Nov 22, 2025
c2e7456
Refactor performance documentation for clarity and conciseness
Nowely Nov 22, 2025
2b76db1
Enhance performance documentation for Markput applications
Nowely Nov 23, 2025
69e107f
Revamp README.md for Markput Documentation Website
Nowely Nov 23, 2025
a304dad
Add installation guide for Markput documentation
Nowely Nov 23, 2025
a2d4848
Update documentation structure and content for Markput
Nowely Nov 23, 2025
e56ea76
Update package dependencies in website project
Nowely Nov 23, 2025
aae09b7
Update documentation and configuration for Markput
Nowely Nov 23, 2025
79420fc
Enhance API documentation and configuration for Markput
Nowely Nov 23, 2025
6279f80
Remove outdated RFC and documentation files; update Astro configurati…
Nowely Nov 23, 2025
0eaf144
Refactor Astro configuration by replacing mjs with ts and enhancing s…
Nowely Nov 23, 2025
0f92e98
Update documentation links to point to the 'next' branch and add git …
Nowely Nov 23, 2025
677d9ee
Update documentation to remove FAQ section and add Comparisons guide
Nowely Nov 23, 2025
4efedb9
Refactor documentation to remove 'Getting Help' section and update su…
Nowely Nov 23, 2025
e5ac545
Remove Architecture Overview section from 'Why Markput' documentation…
Nowely Nov 23, 2025
10ba621
Refactor documentation by removing 'Quick Start' guide and updating '…
Nowely Nov 23, 2025
e597b27
Remove 'Framework Integration' guide from documentation and update si…
Nowely Nov 23, 2025
0b87b2a
Refactor documentation by removing 'Next Steps' sections from multipl…
Nowely Nov 23, 2025
26d8790
Update comparisons documentation by removing accessibility feature me…
Nowely Nov 23, 2025
b34a4b2
Refactor documentation by removing 'Further Reading' section from 'Co…
Nowely Nov 23, 2025
f0f33ee
Update documentation to enhance clarity and focus on key features of …
Nowely Nov 23, 2025
fc93d03
Enhance MarkedInput documentation and refactor API references
Nowely Nov 24, 2025
766df5e
Refactor ConfiguredMarkedInput type and update documentation references
Nowely Nov 24, 2025
f4ad308
Update 'Why Markput' documentation to enhance clarity and focus on fe…
Nowely Nov 24, 2025
0ea0d25
Add comprehensive glossary of Markput terminology
Nowely Nov 24, 2025
c70e35f
Update documentation terminology to replace 'annotations' with 'marks…
Nowely Nov 24, 2025
ff5fd6f
Update 'Why Markput' documentation to reflect new example and enhance…
Nowely Nov 24, 2025
c495c64
Enhance 'Why Markput' documentation with updated descriptions and exa…
Nowely Nov 24, 2025
18d8709
Revise 'Why Markput' documentation to enhance clarity and feature des…
Nowely Nov 25, 2025
65bbad1
Refactor 'Why Markput' feature descriptions for improved clarity and …
Nowely Nov 25, 2025
3f2fa22
Refine 'Why Markput' feature descriptions for enhanced clarity and en…
Nowely Nov 25, 2025
4f83454
Refine feature descriptions in 'Why Markput' for improved clarity and…
Nowely Nov 25, 2025
acf7fc0
Revise 'Why Markput' documentation to enhance design principles and u…
Nowely Nov 25, 2025
ad881e7
Revise 'Why Markput' documentation to clarify functionality and enhan…
Nowely Nov 25, 2025
1fbc738
Update 'Why Markput' documentation to clarify API usage and enhance f…
Nowely Nov 25, 2025
ef1439d
Update 'Why Markput' documentation to improve clarity in feature desc…
Nowely Nov 25, 2025
72614d1
Refine 'Why Markput' documentation for improved clarity and consistency
Nowely Nov 25, 2025
1d80bf1
Revise 'Why Markput' documentation to enhance use case clarity and or…
Nowely Nov 25, 2025
8a15884
Remove badge from 'Why Markput?' documentation entry for consistency …
Nowely Nov 25, 2025
d978235
Update 'Why Markput' documentation to clarify support channels for us…
Nowely Nov 25, 2025
ff2b4e1
Revise 'Getting Started' documentation for improved clarity and engag…
Nowely Nov 25, 2025
105206d
Integrate React support and enhance documentation with demo components
Nowely Nov 25, 2025
eb602eb
Refactor demo components and update documentation for improved clarity
Nowely Nov 25, 2025
12294f8
Remove BasicDemo component and introduce CodePreview for enhanced dem…
Nowely Nov 25, 2025
9265ebe
Refactor demo components to enhance functionality and clarity
Nowely Nov 25, 2025
baf55e9
Enhance Step3Demo with user search functionality and custom overlay
Nowely Nov 25, 2025
d73542a
Refactor Step3Demo component for improved styling and layout
Nowely Nov 25, 2025
4d4c130
Update 'Getting Started' documentation to clarify terminology and imp…
Nowely Nov 25, 2025
3c1eff8
Refactor sidebar configuration and enhance documentation structure
Nowely Nov 25, 2025
04e4b63
Enhance 'Getting Started' documentation with detailed explanations of…
Nowely Nov 25, 2025
336f179
Remove outdated sections from 'Getting Started' documentation to stre…
Nowely Nov 25, 2025
3572c5f
Remove outdated call to action from 'Getting Started' documentation t…
Nowely Nov 25, 2025
41c09a2
Update 'Getting Started' documentation to improve clarity and engagement
Nowely Nov 25, 2025
e006711
Update styles.css to change position property from absolute to fixed …
Nowely Nov 26, 2025
11c2e70
Remove WIP badge from 'Getting Started' section in sidebar configurat…
Nowely Nov 26, 2025
390c6fb
Enhance 'Getting Started' documentation for clarity and accuracy
Nowely Nov 26, 2025
d493c9d
Revise 'Getting Started' documentation for improved clarity and engag…
Nowely Nov 26, 2025
e29de3a
Refactor Step1Demo and Step2Demo components for improved readability …
Nowely Nov 26, 2025
a91d6b4
Refactor Step3Demo component and update 'Getting Started' documentati…
Nowely Nov 26, 2025
e20ca77
Refactor Step1Demo component for improved clarity
Nowely Nov 26, 2025
8779579
Revise 'Getting Started' documentation for improved clarity and consi…
Nowely Nov 26, 2025
87469a1
Update sidebar configuration and enhance documentation titles with WI…
Nowely Nov 27, 2025
3ff3870
Refactor Step2Demo component and update 'Getting Started' documentati…
Nowely Nov 27, 2025
9fa21df
Enhance documentation and add new features for improved user experience
Nowely Nov 27, 2025
fc3c5e1
Update pnpm-lock.yaml, add Vercel configuration, and enhance Astro setup
Nowely Nov 27, 2025
39daaee
Refactor and enhance documentation for improved clarity and consistency
Nowely Nov 27, 2025
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
718 changes: 2 additions & 716 deletions README.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
"build:all": "pnpm -r run build",
"storybook:dev": "pnpm -F sb run dev",
"storybook:build": "pnpm -F sb run build",
"website:dev": "pnpm -F website run dev",
"website:build": "pnpm -F website run build",
"clean:git": "git clean -xdf",
"clean:git:dry": "git clean -xdn",
"lint": "oxlint .",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
max-height: 186px;
overflow-y: auto;
padding-left: 0;
position: absolute;
position: fixed;
background: white;
width: fit-content;
min-width: 100px;
Expand Down
3 changes: 3 additions & 0 deletions packages/markput/src/components/MarkedInput.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,7 @@ export const _MarkedInput = (props: MarkedInputProps, ref: ForwardedRef<MarkedIn
)
}

/**
* @function
*/
export const MarkedInput = forwardRef(_MarkedInput) as MarkedInputComponent
5 changes: 2 additions & 3 deletions packages/markput/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,8 @@ export interface Option<TMarkProps = MarkProps, TOverlayProps = OverlayProps> ex
}
}

export type ConfiguredMarkedInput<TMarkProps = MarkProps, TOverlayProps = OverlayProps> = FunctionComponent<
MarkedInputProps<TMarkProps, TOverlayProps>
>
export interface ConfiguredMarkedInput<TMarkProps = MarkProps, TOverlayProps = OverlayProps>
extends FunctionComponent<MarkedInputProps<TMarkProps, TOverlayProps>> {}

/**
* Available slots for customizing MarkedInput internal components
Expand Down
4 changes: 2 additions & 2 deletions vercel.json → packages/storybook/vercel.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"$schema": "https://openapi.vercel.sh/vercel.json",
"framework": "vite",
"installCommand": "pnpm install --frozen-lockfile",
"buildCommand": "pnpm run storybook:build",
"outputDirectory": "packages/storybook/dist"
"buildCommand": "pnpm run build",
"outputDirectory": "dist"
}
22 changes: 22 additions & 0 deletions packages/website/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# build output
dist/
.vercel/
# generated types
.astro/

# dependencies
node_modules/

# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*


# environment variables
.env
.env.production

# macOS-specific files
.DS_Store
4 changes: 4 additions & 0 deletions packages/website/.vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}
11 changes: 11 additions & 0 deletions packages/website/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}
256 changes: 256 additions & 0 deletions packages/website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,256 @@
# Markput Documentation Website

[![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build)

Documentation site for Markput, built with [Astro](https://astro.build) and [Starlight](https://starlight.astro.build).

## 📚 Tech Stack Overview

### Astro Framework

- **Server-first rendering**: Components render on the server, sending minimal JavaScript to the browser
- **Zero JavaScript by default**: Astro automatically removes unused JavaScript
- **Content Collections**: Type-safe content management with frontmatter validation
- **File-based routing**: Each file in `src/content/docs/` becomes a route
- **Multi-framework support**: Can use React, Vue, Svelte, or other frameworks alongside Astro components

### Starlight Documentation Framework

- **Built on Astro**: Inherits all Astro performance benefits
- **Documentation-focused**: Pre-configured navigation, search, SEO, and accessibility
- **i18n ready**: Built-in internationalization support
- **Dark mode**: Automatic light/dark theme switching
- **Markdown/MDX**: Supports `.md` and `.mdx` with component integration

### Tailwind CSS

- Utility-first CSS framework for custom styling
- Configured in `src/styles/global.css`

## 🗂️ Project Structure

```
packages/website/
├── public/ # Static assets (favicons, images)
├── src/
│ ├── assets/ # Images and media files (optimized by Astro)
│ ├── content/
│ │ └── docs/ # Documentation pages (.md/.mdx)
│ ├── styles/
│ │ └── global.css # Tailwind configuration and global styles
│ └── content.config.ts # Content Collections schema
├── astro.config.mjs # Astro and Starlight configuration
├── package.json
└── tsconfig.json
```

## 🧞 Commands

Run from the project root:

| Command | Action |
| :--------------------- | :----------------------------------------------- |
| `pnpm install` | Installs dependencies |
| `pnpm dev` | Starts local dev server at `localhost:4321` |
| `pnpm build` | Build production site to `./dist/` |
| `pnpm preview` | Preview build locally before deploying |
| `pnpm astro ...` | Run CLI commands like `astro add`, `astro check` |
| `pnpm astro -- --help` | Get help using the Astro CLI |

## 📝 Content Development Guidelines

### Creating Documentation Pages

1. **Location**: All docs go in `src/content/docs/`
2. **Format**: Use `.md` for simple pages, `.mdx` for pages with components
3. **Routing**: File path determines URL
- `src/content/docs/guide.md` → `/guide`
- `src/content/docs/api/overview.md` → `/api/overview`

### Frontmatter Schema

Every doc page should include frontmatter:

```yaml
---
title: Page Title
description: Brief description for SEO and previews
---
```

Additional optional fields (configured in `content.config.ts`):

- `sidebar`: Custom sidebar configuration
- `tableOfContents`: Control TOC visibility
- `editUrl`: Override edit link
- `lastUpdated`: Custom date override

### Working with Images

**Optimized images** (recommended):

```md
![Alt text](../../assets/image.png)
```

- Stored in `src/assets/`
- Automatically optimized by Astro
- Responsive and format-converted

**Static images**:

```md
![Alt text](/static-image.png)
```

- Stored in `public/`
- Served as-is without optimization

### Using MDX Components

MDX allows importing and using components:

```mdx
---
title: Example
---

import MyComponent from '../../components/MyComponent.astro'

# Content

<MyComponent prop="value" />
```

## 🎨 Styling Guidelines

### Tailwind CSS

- Global styles: `src/styles/global.css`
- Use Tailwind utility classes in MDX:
```mdx
<div class="bg-blue-500 text-white p-4 rounded">Styled content</div>
```

### Custom CSS

Add custom styles in `global.css`:

```css
@tailwind base;
@tailwind components;
@tailwind utilities;

/* Custom styles */
.custom-class {
/* ... */
}
```

## ⚙️ Configuration

### Astro Config (`astro.config.mjs`)

Key configuration points:

- **Starlight settings**: Site title, navigation, sidebar
- **Integrations**: Add UI frameworks or other integrations
- **Build settings**: Output directory, adapters for deployment

### Content Collections (`content.config.ts`)

- Define content schemas with Zod
- Add type-safety to frontmatter
- Validate content at build time

## 🚀 Development Best Practices

### 1. Server-First Mindset

- Astro renders on the server by default
- Only add client-side JavaScript when necessary
- Use `client:*` directives sparingly for interactivity

### 2. Content Organization

- Group related pages in folders
- Use index.md for section overviews
- Keep file names URL-friendly (lowercase, hyphens)

### 3. Performance

- Prefer `src/assets/` for images (auto-optimization)
- Minimize client-side JavaScript
- Use Astro's View Transitions for smooth navigation

### 4. Type Safety

- Define content schemas in `content.config.ts`
- Use TypeScript for components
- Validate frontmatter at build time

### 5. Navigation Structure

- Configure sidebar in `astro.config.mjs`
- Use consistent heading hierarchy (H1 → H2 → H3)
- Include descriptions for better SEO

## 🔧 Common Patterns

### Adding a New Documentation Section

1. Create folder in `src/content/docs/`
2. Add `index.md` as section overview
3. Add pages within the folder
4. Update sidebar in `astro.config.mjs`

### Creating Reusable Components

1. Create `.astro` component in `src/components/`
2. Import in MDX files
3. Pass props for customization

### Customizing Starlight

Starlight can be extended with:

- Custom CSS in `global.css`
- Astro integrations
- Custom components overriding defaults
- Plugins for additional functionality

## 📚 Resources

- [Starlight Documentation](https://starlight.astro.build/)
- [Astro Documentation](https://docs.astro.build/)
- [Astro Discord](https://astro.build/chat)
- [Tailwind CSS Documentation](https://tailwindcss.com/docs)

## 🎯 Quick Reference for AI Assistant

When working on this project:

1. **File Operations**:
- Docs: `src/content/docs/` (.md/.mdx files)
- Images: `src/assets/` (optimized) or `public/` (static)
- Config: `astro.config.mjs`, `content.config.ts`
- Styles: `src/styles/global.css`

2. **Architecture**:
- Server-side rendering (SSR) by default
- Zero JS baseline, hydrate components only when needed
- Type-safe content collections
- File-based routing

3. **Don't**:
- Add unnecessary client-side JavaScript
- Bypass content collections for documentation
- Ignore frontmatter schema validation
- Create routes outside `src/content/docs/`

4. **Do**:
- Use Astro components for reusable UI
- Leverage content collections for type safety
- Optimize images through `src/assets/`
- Follow Starlight conventions for consistency
- Use Tailwind utilities for styling
Loading
Loading