Skip to content

Commit

Permalink
chore(website): add empty "docs" folder to prevent build crash
Browse files Browse the repository at this point in the history
  • Loading branch information
donskov committed Nov 14, 2023
1 parent 97673f2 commit b9f5e0f
Show file tree
Hide file tree
Showing 24 changed files with 9,199 additions and 89 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ build
coverage
.vs
.vscode
docs

bundle.js
test/browser/*.js
Expand Down
6 changes: 2 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
"url": "git://github.com/PeculiarVentures/PKI.js.git"
},
"devDependencies": {
"@peculiar/webcrypto": "^1.4.0",
"@peculiar/webcrypto": "^1.4.3",
"@rollup/plugin-alias": "^3.1.9",
"@rollup/plugin-commonjs": "^22.0.1",
"@rollup/plugin-node-resolve": "^13.3.0",
"@types/mocha": "^9.1.1",
"@types/node": "^18.6.3",
"@types/node": "^18.18.9",
"@typescript-eslint/eslint-plugin": "^5.32.0",
"@typescript-eslint/parser": "^5.32.0",
"assert": "^2.0.0",
Expand All @@ -34,7 +34,6 @@
"rollup-plugin-dts": "^4.2.2",
"rollup-plugin-typescript2": "^0.32.1",
"ts-node": "^10.9.1",
"typedoc": "^0.23.10",
"typescript": "^4.7.4"
},
"dependencies": {
Expand All @@ -50,7 +49,6 @@
"scripts": {
"build": "rollup -c",
"build:examples": "rollup -c examples/rollup.config.js",
"build:docs": "typedoc",
"lint": "eslint . --ext .ts",
"lint:fix": "eslint --fix . --ext .ts",
"coverage": "nyc npm test",
Expand Down
2 changes: 1 addition & 1 deletion src/OtherKeyAttribute.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ export class OtherKeyAttribute extends PkiObject implements IOtherKeyAttribute {
* @param memberName String name for a class member
* @param memberValue Value to compare with default value
*/
public static compareWithDefault<T>(memberName: string, memberValue: T): memberValue is T {
public static compareWithDefault<T extends object>(memberName: string, memberValue: T): memberValue is T {
switch (memberName) {
case KEY_ATTR_ID:
return (typeof memberValue === "string" && memberValue === EMPTY_STRING);
Expand Down
1 change: 1 addition & 0 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"experimentalDecorators": true
},
"exclude": [
"website",
"build/*.ts"
]
}
8 changes: 0 additions & 8 deletions typedoc.json

This file was deleted.

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

# Production
/build

# Generated files
.docusaurus
.cache-loader

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

npm-debug.log*
yarn-debug.log*
yarn-error.log*

**/docs/**/*.md
**/docs/**/*.yml
41 changes: 41 additions & 0 deletions website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# 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.

### Deployment

Using SSH:

```
$ USE_SSH=true yarn deploy
```

Not using SSH:

```
$ GIT_USER=<Your GitHub username> yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
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')],
};
Empty file added website/docs/.gitkeep
Empty file.
86 changes: 86 additions & 0 deletions website/docusaurus.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
import type {Config} from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';

const config: Config = {
title: 'pki.js',
tagline: 'pki.js',
favicon: 'img/favicon.ico',

// Set the production url of your site here
url: 'https://pkijs.org',
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: '/',

onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',

// Even if you don't use internationalization, you can use this field to set
// useful metadata like html lang. For example, if your site is Chinese, you
// may want to replace "en" with "zh-Hans".
i18n: {
defaultLocale: 'en',
locales: ['en'],
},

presets: [
[
'classic',
{
theme: {
customCss: './src/css/custom.css',
},
} satisfies Preset.Options,
],
],

plugins: [
[
'docusaurus-plugin-typedoc',
{
entryPoints: ['../src/index.ts'],
tsconfig: '../tsconfig.json',
disableSources: true,
hideInPageTOC: true,
},
],
'docusaurus-plugin-sass',
],

themeConfig: {
colorMode: {
defaultMode: 'light',
disableSwitch: true,
respectPrefersColorScheme: false,
},
// Replace with your project's social card
image: 'img/docusaurus-social-card.jpg',
navbar: {
style: 'dark',
logo: {
alt: 'pki.js',
src: '/img/logo.svg',
width: 80,
},
items: [
{
label: 'API',
to: '/docs/api',
position: 'right',
},
{
href: 'https://github.com/PeculiarVentures/PKI.js',
position: 'right',
className: 'header-github-link',
'aria-label': 'GitHub repository',
},
],
},
footer: {
style: 'dark',
copyright: 'Made with ❤️ across the globe',
},
} satisfies Preset.ThemeConfig,
};

export default config;
52 changes: 52 additions & 0 deletions website/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"name": "website",
"version": "0.0.0",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "3.0.0",
"@docusaurus/preset-classic": "3.0.0",
"@mdx-js/react": "^3.0.0",
"clsx": "^1.2.1",
"prism-react-renderer": "^2.1.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.0.0",
"@docusaurus/tsconfig": "3.0.0",
"@docusaurus/types": "3.0.0",
"docusaurus-plugin-sass": "^0.2.5",
"docusaurus-plugin-typedoc": "^0.21.0",
"sass": "^1.69.5",
"typedoc": "^0.25.3",
"typedoc-plugin-markdown": "^3.17.1",
"typescript": "~5.2.2"
},
"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"
}
}
31 changes: 31 additions & 0 deletions website/sidebars.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';

/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
const sidebars: SidebarsConfig = {
// By default, Docusaurus generates a sidebar from the docs folder structure
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],

// But you can create a sidebar manually
/*
tutorialSidebar: [
'intro',
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
*/
};

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;
}
39 changes: 39 additions & 0 deletions website/src/pages/_features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<li>

#### Certificates

The creation and validation of X.509 certificates ([RFC 5280](https://datatracker.ietf.org/doc/html/rfc5280)) is used by all certificate-enabled applications.

</li>

<li>

#### Enrollment

PKCS#10 ([RFC 2986](https://datatracker.ietf.org/doc/html/rfc2986)) is the most commonly used enrollment data structure used by X.509 applications. It enables the requestor to prove control of a given public key.

</li>

<li>

#### Signing

Cryptographic Message Syntax ([RFC 5652](https://datatracker.ietf.org/doc/html/rfc5652)) is the most commonly used data structure for signing data in X.509 applications. CMS makes it easy to both sign and represent all of the data needed to verify a signature.

</li>

<li>

#### Encryption

Cryptographic Message Syntax ([RFC 5652](https://datatracker.ietf.org/doc/html/rfc5652)) is also the most commonly used data structure for encrypting data in X.509 applications. CMS makes it easy to provide interoperable data encryption.

</li>

<li>

#### Timestamping

Time-Stamp Protocol ([RFC 3161](https://www.ietf.org/rfc/rfc3161.txt)) is the most commonly used protocol for proving that data existed before a particular time. It is commonly used in signing applications to ensure signatures are verifiable long into the future.

</li>
3 changes: 3 additions & 0 deletions website/src/pages/_preview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# PKIjs provides a Typescript implementation of the most common formats and algorithms needed to build PKI-enabled applications.

We created PKIjs to make it easy to build modern web applications that can interoperate with existing X.509 solutions. It is built on top of Web Crypto so that these applications get to rely on the quality cryptographic implementations provided by browsers and Node.js.
Loading

0 comments on commit b9f5e0f

Please sign in to comment.