@dimerapp/utils

Handy utilities to keep all other repos DRY and consistent

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
10Aug 29, 2018Jul 26, 2018Minified + gzip package size for @dimerapp/utils in KB

Readme

Dimer App

Dimer is an open source project and CMS to help you publish your documentation online.


We believe every project/product is incomplete without documentation.
We want to help you publish user facing documentation, without worrying about tools or code to write.


DimerApp utils

Handy utilities to keep all other repos DRY and consistent

The utils library provides a handful of methods to be used across multiple dimer repos.

Installation

npm i @dimerapp/utils

# Yarn
yarn add @dimerapp/utils

Usage

const utils = require('@dimerapp/utils')

const basePath = __dirname
const distPath = 'dist' // optional

const paths = utils.paths(basePath, distPath)
const permalink = utils.permalink
const validator = utils.validator

nodeToString(node)

Convert Dimer content JSON node to a plain string

const { nodeToString } = require('@dimerapp/utils')
nodeToString(node)

Classes

Paths
Permalinks
Validator

Functions

configFile()String

Returns path to the config file

docsPath(versionRelativePath)String

Returns path for a given version inside the docs folder

distPath()String

Returns path to the dist folder

apiPath()String

Returns path to the API folder

assetsPath()String

Returns path to the assets directory

zonePath(zoneSlug)String

Returns path to a given zone directory inside the api folder

versionPath(zoneSlug, versioNo)String

Returns path to a given version inside the api folder

metaFile()String

Returns path to the meta file inside the api folder

searchIndexFile(zoneSlug, versionNo)String

Returns path to the search index file inside the api folder

docPath(zoneSlug, versionNo, jsonPath)String

Returns path to the doc json file

makeJsonPath(filePath)String

Makes the json path from the doc file path. Also it makes sure to keep the slashes consistent for deployment on unix systems

generateFromFileName(fileName)String

Generates the permalink from the base name of a given file

normalize(permalink)String

Normalize permalink by removing slashes around it. Must be used when matching two permalinks

validate(permalink)void

Validate permalink to ensure the value is URL friendly

isSame(lhs, rhs)Boolean

Returns a boolean telling if 2 permalinks are same. They will be normalized before the check

validateZoneSlug(slug)void

Validates the zone slug to make sure it's URL and folder name friendly

validateVersionNumber(no)void

Validates the version number to make sure it's URL and folder name friendly

Paths

Kind: global class

new Paths(basePath, [distPath])

Returns paths to certain directories, required by dimer

Param Type Default
basePath String
[distPath] String 'dist'

Permalinks

Kind: global class

new Permalinks()

Generate, normalize and validate permalinks

Validator

Kind: global class

new Validator()

Exposes validation methods to validate different parts of the user input.

configFile() ⇒ String

Returns path to the config file

Kind: global function

docsPath(versionRelativePath) ⇒ String

Returns path for a given version inside the docs folder

Kind: global function

Param Type
versionRelativePath String

distPath() ⇒ String

Returns path to the dist folder

Kind: global function

apiPath() ⇒ String

Returns path to the API folder

Kind: global function

assetsPath() ⇒ String

Returns path to the assets directory

Kind: global function

zonePath(zoneSlug) ⇒ String

Returns path to a given zone directory inside the api folder

Kind: global function

Param Type
zoneSlug String

versionPath(zoneSlug, versioNo) ⇒ String

Returns path to a given version inside the api folder

Kind: global function

Param Type
zoneSlug String
versioNo String

metaFile() ⇒ String

Returns path to the meta file inside the api folder

Kind: global function

searchIndexFile(zoneSlug, versionNo) ⇒ String

Returns path to the search index file inside the api folder

Kind: global function

Param Type
zoneSlug String
versionNo String

docPath(zoneSlug, versionNo, jsonPath) ⇒ String

Returns path to the doc json file

Kind: global function

Param Type
zoneSlug String
versionNo String
jsonPath String

makeJsonPath(filePath) ⇒ String

Makes the json path from the doc file path. Also it makes sure to keep the slashes consistent for deployment on unix systems

Kind: global function

Param Type
filePath String

generateFromFileName(fileName) ⇒ String

Generates the permalink from the base name of a given file

Kind: global function

Param Type
fileName String

normalize(permalink) ⇒ String

Normalize permalink by removing slashes around it. Must be used when matching two permalinks

Kind: global function

Param Type
permalink String

validate(permalink) ⇒ void

Validate permalink to ensure the value is URL friendly

Kind: global function

Param Type
permalink String

isSame(lhs, rhs) ⇒ Boolean

Returns a boolean telling if 2 permalinks are same. They will be normalized before the check

Kind: global function

Param Type
lhs String
rhs String

validateZoneSlug(slug) ⇒ void

Validates the zone slug to make sure it's URL and folder name friendly

Kind: global function
Throws:

  • Error If slug has unallowed chars
Param Type
slug String

validateVersionNumber(no) ⇒ void

Validates the version number to make sure it's URL and folder name friendly

Kind: global function
Throws:

  • Error If version no has unallowed chars
Param Type
no String

Change log

The change log can be found in the CHANGELOG.md file.

Contributing

Everyone is welcome to contribute. Please take a moment to review the contributing guidelines.

Authors & License

thetutlage and contributors.

MIT License, see the included MIT file.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.