Skip to content

docs: create vitepress site #848

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 36 commits into from
Jul 17, 2023
Merged
Show file tree
Hide file tree
Changes from 33 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
0221d7a
docs: create vitepress site
Lehoczky Jun 7, 2023
32071cb
docs: fix changelog url
Lehoczky Jun 7, 2023
30d1738
docs: fix editLink
Lehoczky Jun 7, 2023
c178c79
docs: shorten title
Lehoczky Jun 7, 2023
ee75d85
chore(deps-dev): bump @typescript-eslint/parser from 5.59.9 to 5.59.11
dependabot[bot] Jun 12, 2023
0362911
chore(deps-dev): bump @types/node from 20.2.5 to 20.3.0
dependabot[bot] Jun 12, 2023
f11f720
chore(deps): bump aria-query from 5.1.3 to 5.2.0
dependabot[bot] Jun 12, 2023
b1e2891
chore(deps): bump vue-eslint-parser from 9.3.0 to 9.3.1
dependabot[bot] Jun 12, 2023
f28edfd
chore(deps-dev): bump np from 8.0.2 to 8.0.4
dependabot[bot] Jun 13, 2023
a47054a
chore(deps): bump aria-query from 5.2.0 to 5.2.1
dependabot[bot] Jun 13, 2023
530c6dd
chore(deps-dev): bump @types/node from 20.3.0 to 20.3.1
dependabot[bot] Jun 13, 2023
98d4f9f
chore(deps-dev): bump eslint from 8.42.0 to 8.43.0
dependabot[bot] Jun 16, 2023
3b5e47a
chore(deps-dev): bump @types/node from 20.3.1 to 20.3.2
dependabot[bot] Jun 26, 2023
3f9fc30
chore(deps): bump aria-query from 5.2.1 to 5.3.0
dependabot[bot] Jun 26, 2023
b308fcd
chore(deps-dev): bump typescript from 5.1.3 to 5.1.5
dependabot[bot] Jun 27, 2023
8268c57
chore(deps-dev): bump typescript from 5.1.5 to 5.1.6
dependabot[bot] Jun 28, 2023
513144e
chore(deps-dev): bump @types/node from 20.3.2 to 20.3.3
dependabot[bot] Jun 30, 2023
46720aa
chore(deps-dev): bump jest from 29.5.0 to 29.6.0
dependabot[bot] Jul 4, 2023
fe4e7cd
chore(deps-dev): bump ts-jest from 29.1.0 to 29.1.1
dependabot[bot] Jul 4, 2023
042c208
chore(deps-dev): bump prettier from 2.8.8 to 3.0.0
dependabot[bot] Jul 5, 2023
da8a0f7
chore(deps-dev): bump @types/node from 20.3.3 to 20.4.0
dependabot[bot] Jul 5, 2023
e9a0c9f
chore(deps-dev): bump jest from 29.6.0 to 29.6.1
dependabot[bot] Jul 6, 2023
bd80809
chore(deps-dev): bump @types/node from 20.4.0 to 20.4.1
dependabot[bot] Jul 7, 2023
f11efd7
chore(deps-dev): bump @types/jest from 29.5.2 to 29.5.3
dependabot[bot] Jul 10, 2023
dd3b15d
chore(deps): bump semver from 6.3.0 to 6.3.1
dependabot[bot] Jul 10, 2023
badc841
chore(deps-dev): bump @types/node from 20.4.1 to 20.4.2
dependabot[bot] Jul 13, 2023
68d93f8
chore: update vitepress
Lehoczky Jul 15, 2023
f67e2fe
refactor(docs): use description from package.json
Lehoczky Jul 16, 2023
d9092c9
docs: add website url, add icons to README
Lehoczky Jul 16, 2023
d1fd013
ci: setup documentation deployment
Lehoczky Jul 16, 2023
c3254b6
chore: update lockfile
Lehoczky Jul 16, 2023
e900781
chore: update lockfile
Lehoczky Jul 16, 2023
59833e7
ci: use newest node lts version
Lehoczky Jul 16, 2023
76f66a1
fix: downgrade `aria-query` to v5.1.x
Lehoczky Jul 16, 2023
3ac3b3b
Merge remote-tracking branch 'upstream/main'
Jul 17, 2023
7257b3e
chore: revert `aria-query` downgrade
Jul 17, 2023
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/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Docs

on:
workflow_dispatch: {}
push:
branches:
- main

jobs:
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Build docs
run: npm run docs:build

# https://github.com/crazy-max/ghaction-github-pages
- name: Deploy to GitHub Pages
uses: crazy-max/ghaction-github-pages@v3
with:
target_branch: gh-pages
build_dir: docs/.vitepress/dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@master
- uses: actions/setup-node@v3
with:
node-version: 14.x
node-version: 18
cache: yarn
- name: Lint and test
run: |
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@
/.idea/
/dist/
/node_modules/
/docs/.vitepress/dist
/docs/.vitepress/cache
52 changes: 7 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,53 +5,15 @@

An `eslint` plugin for checking accessibility rules from within `.vue` files.

## Installation
## 📚 Documentation

If you're using `yarn`:
Please refer to the [official website](https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/).

```bash
yarn add --dev eslint-plugin-vuejs-accessibility
```

or if you're using `npm`:

```bash
npm install --save-dev eslint-plugin-vuejs-accessibility
```

## Usage

Add `vuejs-accessibility` to the plugins section of your `eslint` configuration. You can omit the `eslint-plugin-` prefix:

```json
{
"plugins": ["vuejs-accessibility"]
}
```

Then configure the rules you want to use under the rules section.

```json
{
"rules": {
"vuejs-accessibility/rule-name": "error"
}
}
```

You can also enable all the recommended rules at once. Add `plugin:vuejs-accessibility/recommended` in extends:

```json
{
"extends": ["plugin:vuejs-accessibility/recommended"]
}
```

## Development
## 💻 Development

Ensure you have `node` and `yarn` installed on your system. Then run `yarn` in the root of the repository to install the dependencies.

### Adding a new rule
### 🔧 Adding a new rule

To add a new rule, you need to take the following steps:

Expand All @@ -60,15 +22,15 @@ To add a new rule, you need to take the following steps:
- Add the corresponding test in `src/rules/__tests__`.
- Add the corresponding documentation in `docs/rules`.

## Contributing
## 👨‍💻 Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility.

## License
## 📄 License

The code is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).

## Credit
## 🏆 Credit

The work for this plugin was largely based on previous work done on [eslint-plugin-vue-a11y](https://github.com/maranran/eslint-plugin-vue-a11y), as well as various other tools, including:

Expand Down
54 changes: 54 additions & 0 deletions docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import { defineConfig } from "vitepress";
import { rules } from "./rulesForSidebar";
import { description, version } from "../../package.json";

// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "eslint-plugin-vuejs-a11y",
base: "/eslint-plugin-vuejs-accessibility/",
description,
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
nav: [
{
text: version,
items: [
{
text: "Changelog",
link: "https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility/blob/main/CHANGELOG.md"
}
]
}
],

sidebar: [
{
text: "Introduction",
items: [
{ text: "Getting Started", link: "/" },
{ text: "Rule Overview", link: "/rule-overview/index" }
]
},
{
text: "Rules",
items: rules
}
],

editLink: {
pattern:
"https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility/edit/master/docs/:path"
},

socialLinks: [
{
icon: "github",
link: "https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility"
}
],

search: {
provider: "local"
}
}
});
34 changes: 34 additions & 0 deletions docs/.vitepress/rulesForSidebar.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { join, parse } from "node:path";
import { Dirent, readdirSync } from "node:fs";

export const rules = getRulesForSideBar();

function getRulesForSideBar() {
const rulesDirectory = join(__dirname, "../", "rules");
return readdirSync(rulesDirectory, { withFileTypes: true })
.filter(isFile)
.filter(isMarkdown)
.map(fileNameWithoutExtension)
.map(ruleToSidebarItem);
}

function isFile(dirent: Dirent) {
return !dirent.isDirectory();
}

function isMarkdown(dirent: Dirent) {
return dirent.name.endsWith(".md");
}

function fileNameWithoutExtension(file: Dirent) {
const parsedFileName = parse(file.name);
const nameWithoutExtension = parsedFileName.name;
return nameWithoutExtension;
}

function ruleToSidebarItem(ruleName: string) {
return {
text: ruleName,
link: `/rules/${ruleName}`
};
}
43 changes: 0 additions & 43 deletions docs/aria-role.md

This file was deleted.

25 changes: 0 additions & 25 deletions docs/iframe-has-title.md

This file was deleted.

49 changes: 49 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Getting Started

An `eslint` plugin for checking accessibility rules from within `.vue` files.

## 💿 Installation

::: code-group

```bash [yarn]
yarn add --dev eslint-plugin-vuejs-accessibility
```

```bash [npm]
npm install --save-dev eslint-plugin-vuejs-accessibility
```

```bash [pnpm]
pnpm add -D eslint-plugin-vuejs-accessibility
```

:::

## 📖 Usage

Add `vuejs-accessibility` to the plugins section of your `eslint` configuration. You can omit the `eslint-plugin-` prefix:

```json
{
"plugins": ["vuejs-accessibility"]
}
```

Then configure the rules you want to use under the rules section.

```json
{
"rules": {
"vuejs-accessibility/rule-name": "error"
}
}
```

You can also enable all the recommended rules at once. Add `plugin:vuejs-accessibility/recommended` in extends:

```json
{
"extends": ["plugin:vuejs-accessibility/recommended"]
}
```
40 changes: 40 additions & 0 deletions docs/rule-overview/RuleTable.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<script setup lang="ts">
import { data as rules } from "./rule-overview.data";
</script>

<template>
<div class="rule-table-container">
<div>✅ - Recommended</div>

<table>
<tr>
<th>Rule</th>
<th></th>
</tr>

<tr v-for="{ name, link, recommended } of rules">
<td>
<a :href="link">{{ name }}</a>
</td>

<td v-if="recommended">✅</td>
<td v-else></td>
</tr>
</table>
</div>
</template>

<style scoped>
.rule-table-container {
margin-top: 24px;
}

table {
width: 100%;
display: table;
}

td:last-of-type {
width: 50px;
}
</style>
16 changes: 16 additions & 0 deletions docs/rule-overview/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
prev:
text: Getting Started
link: /
next:
text: alt-text
link: /rules/alt-text
---

<script setup lang="ts">
import RuleTable from './RuleTable.vue'
</script>

# Rule Overview

<RuleTable />
Loading