Skip to content

Commit

Permalink
docs: set snippets copiable
Browse files Browse the repository at this point in the history
  • Loading branch information
jjangga0214 committed Nov 8, 2023
1 parent c5b3d46 commit b652f33
Show file tree
Hide file tree
Showing 9 changed files with 261 additions and 200 deletions.
54 changes: 33 additions & 21 deletions packages/docs/pages/apis/cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,24 +31,30 @@ You may want to install `@haetae/cli{:ts}` and its `peerDependencies` all at onc
<br/>

<PkgManagerTabs>
```bash
# As dependencies
<>
```bash copy filename="dependency"
npx install-peerdeps @haetae/cli
# As devDependencies
```
```bash copy filename="devDependency"
npx install-peerdeps --dev @haetae/cli
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
npx install-peerdeps --yarn @haetae/cli
# As devDependencies
```
```bash copy filename="devDependency"
npx install-peerdeps --yarn --dev @haetae/cli
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
npx install-peerdeps --pnpm @haetae/cli
# As devDependencies
```
```bash copy filename="devDependency"
npx install-peerdeps --pnpm --dev @haetae/cli
```
</>
</PkgManagerTabs>

### To manually handle the installation
Expand All @@ -59,30 +65,36 @@ First, install `@haetae/cli` itself.
<br/>

<PkgManagerTabs>
```bash
# As dependencies
<>
```bash copy filename="dependency"
npm install @haetae/cli
# As devDependencies
```
```bash copy filename="devDependency"
npm install --save-dev @haetae/cli
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
yarn add @haetae/cli
# As devDependencies
```
```bash copy filename="devDependency"
yarn add --dev @haetae/cli
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
pnpm add @haetae/cli
# As devDependencies
```
```bash copy filename="devDependency"
pnpm add --save-dev @haetae/cli
```
</>
</PkgManagerTabs>

Then, check out `peerDependencies` and manually handle them.<br/>
(e.g. Install them as `dependencies` or set them as `peerDependencies`)

```bash
```bash copy filename="Terminal"
# This does not install, but just shows peerDependencies.
npm info @haetae/cli peerDependencies
```
Expand Down Expand Up @@ -118,7 +130,7 @@ Let's say you want to create a CLI `your-command{:sh}` and `yc{:sh}` (short for

Note that you should add [shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) for nodejs.

```js
```js copy
#!/usr/bin/env node
import { run } from '@haetae/cli'
// Or `import { cli: { run } } from 'haetae'`
Expand All @@ -128,7 +140,7 @@ run()

**package.json** of `@your/package`

```json
```json copy
{
"name": "@your/package",
"files": [
Expand Down
24 changes: 15 additions & 9 deletions packages/docs/pages/apis/core.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,24 +33,30 @@ Just purely installing `@haetae/core{:ts}` itself is enough.
<br/>

<PkgManagerTabs>
```bash
# As dependencies
<>
```bash copy filename="dependency"
npm install @haetae/core
# As devDependencies
```
```bash copy filename="devDependency"
npm install --save-dev @haetae/core
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
yarn add @haetae/core
# As devDependencies
```
```bash copy filename="devDependency"
yarn add --dev @haetae/core
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
pnpm add @haetae/core
# As devDependencies
```
```bash copy filename="devDependency"
pnpm add --save-dev @haetae/core
```
</>
</PkgManagerTabs>

## API
Expand Down
50 changes: 31 additions & 19 deletions packages/docs/pages/apis/git.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,24 +37,30 @@ You may want to install `@haetae/git{:ts}` and its `peerDependencies` all at onc
<br/>

<PkgManagerTabs>
```bash
# As dependencies
<>
```bash copy filename="dependency"
npx install-peerdeps @haetae/git
# As devDependencies
```
```bash copy filename="devDependency"
npx install-peerdeps --dev @haetae/git
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
npx install-peerdeps --yarn @haetae/git
# As devDependencies
```
```bash copy filename="devDependency"
npx install-peerdeps --yarn --dev @haetae/git
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
npx install-peerdeps --pnpm @haetae/git
# As devDependencies
```
```bash copy filename="devDependency"
npx install-peerdeps --pnpm --dev @haetae/git
```
</>
</PkgManagerTabs>

### To manually handle the installation
Expand All @@ -65,30 +71,36 @@ First, install `@haetae/git{:ts}` itself.
<br/>

<PkgManagerTabs>
```bash
# As dependencies
<>
```bash copy filename="dependency"
npm install @haetae/git
# As devDependencies
```
```bash copy filename="devDependency"
npm install --save-dev @haetae/git
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
yarn add @haetae/git
# As devDependencies
```
```bash copy filename="devDependency"
yarn add --dev @haetae/git
```
```bash
# As dependencies
</>
<>
```bash copy filename="dependency"
pnpm add @haetae/git
# As devDependencies
```
```bash copy filename="devDependency"
pnpm add --save-dev @haetae/git
```
</>
</PkgManagerTabs>

Then, check out `peerDependencies` and manually handle them.<br/>
(e.g. Install them as `dependencies` or set them as `peerDependencies`)

```bash
```bash copy filename="Terminal"
# This does not install, but just shows peerDependencies.
npm info @haetae/git peerDependencies
```
Expand Down
10 changes: 5 additions & 5 deletions packages/docs/pages/apis/haetae.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ Unlike other `@haetae/*{:ts}` packages, `haetae{:ts}` does not have `peerDepende
<br/>

<PkgManagerTabs>
```bash
```bash copy filename="Terminal"
npm install --save-dev haetae
```
```bash
```bash copy filename="Terminal"
yarn add --dev haetae
```
```bash
```bash copy filename="Terminal"
pnpm add --save-dev haetae
```
</PkgManagerTabs>
Expand All @@ -59,7 +59,7 @@ Its source code is _roughly_ like the snippet below.
"'@haetae/git'": './git',
"'@haetae/cli'": './cli',
}}>
```ts
```js copy
export * as core from '@haetae/core'
export * as utils from '@haetae/utils'
export * as js from '@haetae/javascript'
Expand All @@ -72,7 +72,7 @@ export const pkg = { ... }
So you probably use `haetae` on the config file like this.

<TokenLinkCode tokens={{'configure': './haetae#configure'}}>
```js filename="haetae.config.js"
```js copy filename="haetae.config.js"
import { configure, utils, js, git, cli, pkg } from 'haetae'

export default configure({
Expand Down
12 changes: 6 additions & 6 deletions packages/docs/pages/apis/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ For example, trailing `?{:ts}` means an optional field.

Some APIs depend on common utility types.

```ts
```ts copy
type PromiseOr<T> = Promise<T> | T
type RecScalar = string | number | boolean | null | undefined
interface Rec {
Expand All @@ -62,7 +62,7 @@ Any functions linked to from here by <Memoized/> label satisfy the principles be
To clear the memoization cache, you can call `<function>.clear(){:ts}`.
For example, [`core.getConfig{:ts}`](./core#getconfig) is a memoized function, and `getConfig.clear(){:ts}` would clear its cache.

```ts
```js copy
import { getConfig } from '@haetae/core'

// `getConfig` is executed.
Expand Down Expand Up @@ -90,7 +90,7 @@ const config5 = await getConfig({ filename: '/foo/haetae.config.js' })

The memoization cache is based on shallow copy.

```ts
```js copy
// `config1` and `config2` would have same memory address.
const config1 = await getConfig()
const config2 = await getConfig()
Expand Down Expand Up @@ -120,7 +120,7 @@ Any functions linked to from here by <PathPrinciples/> label satisfy the princip
Returned file or directory path is always **absolute** path (NOT relative).<br/>

<TokenLinkCode tokens={{ '.glob': './utils#glob' }}>
```ts
```js copy
import { utils } from 'haetae'

const files = await utils.glob(['**/*.test.ts', '**/*.test.tsx'])
Expand Down Expand Up @@ -154,7 +154,7 @@ This is a better decision for convenience of usage and development.
For example, let's assume the package version is ***`1.2.3-beta.4`***.<br/>
Then the value would be like this.

```ts
```js copy
const { pkg } = require('haetae' /* or '@haetae/<package>' */)

pkg.name // 'haetae' or '@haetae/<package>'
Expand All @@ -170,7 +170,7 @@ pkg.version.untilPatch // '1.2.3'
`pkg.version.*{:ts}` could be a good choice for `env`.

<TokenLinkCode tokens={{ 'configure': './haetae#configure' }}>
```js filename="haetae.config.js"
```js copy filename="haetae.config.js"
import { configure, pkg, git, utils } from 'haetae'

export default configure({
Expand Down
Loading

1 comment on commit b652f33

@vercel
Copy link

@vercel vercel bot commented on b652f33 Nov 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.