Skip to content

Commit

Permalink
feat: Add Docusaurus docs website
Browse files Browse the repository at this point in the history
  • Loading branch information
dmytro587 committed Sep 11, 2024
1 parent 541460b commit 1647dc4
Show file tree
Hide file tree
Showing 25 changed files with 9,694 additions and 956 deletions.
12 changes: 5 additions & 7 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,10 @@ jobs:
run: yarn

- name: Build docs
run: npm run docs
run: yarn --cwd website build

- name: Deploy
uses: JamesIves/[email protected]
- name: Deploy to gh-pages
uses: peaceiris/actions-gh-pages@v3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: docs
CLEAN: true
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: website/build
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ jobs:
run: yarn

- name: Run linter
run: npm run lint
run: yarn lint

- name: Run test with coverage
run: npm run coverage
run: yarn coverage

- name: Coveralls
uses: coverallsapp/github-action@v1
Expand Down
3 changes: 0 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,13 @@
"types": "build/index.d.ts",
"scripts": {
"test": "mocha",
"clear": "rimraf build/* docs",
"lint": "eslint --ext .ts src/ test/",
"lint:fix": "eslint --fix --ext .ts src/ test/",
"build": "npm run build:module",
"build:module": "rollup -c",
"rebuild": "npm run clear && npm run build",
"coverage": "nyc npm test",
"coveralls": "nyc report --reporter=text-lcov | coveralls",
"docs": "typedoc",
"pub": "npm run pub:patch",
"pub:patch": "npm version patch && npm run git:push",
"pub:minor": "npm version minor && npm run git:push",
Expand Down Expand Up @@ -88,7 +86,6 @@
"rollup-plugin-dts": "^6.1.1",
"rollup-plugin-typescript2": "^0.36.0",
"ts-node": "^10.9.2",
"typedoc": "^0.25.13",
"typescript": "^5.4.5"
},
"dependencies": {
Expand Down
2 changes: 2 additions & 0 deletions rollup.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ const main = {
},
exclude: [
"test",
"website",
],
},
}),
Expand Down Expand Up @@ -73,6 +74,7 @@ const browser = [
},
exclude: [
"test",
"website",
],
}
}),
Expand Down
8 changes: 6 additions & 2 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,9 @@
"importHelpers": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true
}
}
},
"exclude": [
"website",
"build/*.ts"
]
}
5 changes: 0 additions & 5 deletions typedoc.json

This file was deleted.

21 changes: 21 additions & 0 deletions website/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Dependencies
/node_modules

# Production
/build

# Generated files
.docusaurus
.cache-loader
/docs/api/

# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
25 changes: 25 additions & 0 deletions website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Website

This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.

### Installation

```
$ yarn
```

### Local Development

```
$ yarn start
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

### Build

```
$ yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.
3 changes: 3 additions & 0 deletions website/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};
134 changes: 134 additions & 0 deletions website/docusaurus.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
import type { Config } from "@docusaurus/types";
import type * as Preset from "@docusaurus/preset-classic";
import { themes as prismThemes } from "prism-react-renderer";
import npm2yarn from "@docusaurus/remark-plugin-npm2yarn";
import packageJSON from "../package.json";

const config: Config = {
title: "@peculiar/x509",
tagline: "@peculiar/x509",
favicon: "img/favicon.ico",
url: "https://peculiarventures.github.io",
baseUrl: "/x509",
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",
i18n: {
defaultLocale: "en",
locales: ["en"],
},
customFields: {
description: packageJSON.description,
},
presets: [
[
"classic",
{
docs: {
path: "docs",
sidebarPath: "./sidebars.ts",
remarkPlugins: [npm2yarn],
},
theme: {
customCss: "./src/css/custom.css",
},
blog: false,
} satisfies Preset.Options,
],
],

plugins: [
[
"docusaurus-plugin-typedoc",
{
entryPoints: ["../src/index.ts"],
tsconfig: "../tsconfig.json",
disableSources: true,
membersWithOwnFile: ["Class", "Enum", "Interface"],
readme: "none",
sidebar: {
pretty: true,
autoConfiguration: true,
},
textContentMappings: {
"title.memberPage": "{name}",
},
},
],
"docusaurus-plugin-sass",
],

themeConfig: {
prism: {
theme: prismThemes.oneDark,
},
image: "img/card.png",
colorMode: {
defaultMode: "light",
disableSwitch: true,
respectPrefersColorScheme: false,
},
navbar: {
style: "dark",
logo: {
alt: "x509",
src: "/img/logo.svg",
width: 120,
},
items: [
{
type: "docSidebar",
position: "right",
sidebarId: "docs",
label: "Docs",
},
{
href: "https://github.com/PeculiarVentures/x509",
position: "right",
className: "header-github-link",
"aria-label": "GitHub repository",
},
],
},
footer: {
style: "dark",
copyright: "Made with ❤️ across the globe",
links: [
{
title: "Learn",
items: [
{
label: "Installation",
to: "/docs/installation",
},
{
label: "Usage",
to: "/docs/usage",
},
{
label: "API",
to: "/docs/api",
},
],
},
{
title: "More",
items: [
{
label: "GitHub",
href: "https://github.com/PeculiarVentures/x509",
},
{
label: "Contact us",
href: "mailto:[email protected]",
}
],
},
{
title: `Version: ${packageJSON.version}`,
},
],
},
} satisfies Preset.ThemeConfig,
};

export default config;
47 changes: 47 additions & 0 deletions website/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"name": "website",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "docusaurus start",
"build": "docusaurus build",
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "3.5.2",
"@docusaurus/preset-classic": "3.5.2",
"@docusaurus/remark-plugin-npm2yarn": "3.5.2",
"@mdx-js/react": "^3.0.1",
"clsx": "^2.1.1",
"prism-react-renderer": "^2.4.0",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.5.2",
"@docusaurus/tsconfig": "3.5.2",
"@docusaurus/types": "3.5.2",
"docusaurus-plugin-sass": "^0.2.5",
"docusaurus-plugin-typedoc": "1.0.5",
"raw-loader": "^4.0.2",
"sass": "^1.78.0",
"typedoc": "0.26.7",
"typedoc-plugin-markdown": "4.2.7",
"typescript": "~5.5.4"
},
"browserslist": {
"production": [
">0.5%",
"not dead",
"not op_mini all"
],
"development": [
"last 3 chrome version",
"last 3 firefox version",
"last 5 safari version"
]
},
"engines": {
"node": ">=18.0"
}
}
21 changes: 21 additions & 0 deletions website/sidebars.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
const sidebars = {
docs: [
"installation",
"usage",
{
type: "category",
label: "API",
collapsed: false,
items: [
{
type: "doc",
id: "api/index",
label: "Exports",
},
...require("./docs/api/typedoc-sidebar.cjs"),
],
},
],
};

export default sidebars;
26 changes: 26 additions & 0 deletions website/src/css/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&display=swap');

:root {
--ifm-font-family-base: 'Open Sans', Arial, sans-serif;
}

.header-github-link:hover {
opacity: 0.6;
}

.header-github-link:before {
content: '';
width: 24px;
height: 24px;
display: flex;
background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")
no-repeat;
}

.navbar--dark {
--ifm-navbar-background-color: #293033;
}

.footer--dark {
--ifm-footer-background-color: #293033;
}
Loading

0 comments on commit 1647dc4

Please sign in to comment.