From bdccba325f43cb6dad7329e43d6781b3c5dff8ab Mon Sep 17 00:00:00 2001 From: Technote Date: Sat, 31 Aug 2019 12:36:22 +0900 Subject: [PATCH] feat: add title setting (#9) --- README.md | 3 +++ __tests__/utils/misc.test.ts | 13 +++++++------ action.yml | 3 +++ src/utils/misc.ts | 5 ++++- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 9e565363..5ee1a321 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,9 @@ Just run [DocToc](https://github.com/thlorenz/doctoc) and commit to branch if ch ### TARGET_PATHS Target file path. (Comma separated, [Detail](https://github.com/thlorenz/doctoc#adding-toc-to-individual-files)) default: `'README.md'` +### TOC_TITLE +TOC Title. +default: `'**Table of Contents**'` ### COMMIT_MESSAGE Commit message. default: `'docs: Update TOC'` diff --git a/__tests__/utils/misc.test.ts b/__tests__/utils/misc.test.ts index 7e10135c..38175237 100644 --- a/__tests__/utils/misc.test.ts +++ b/__tests__/utils/misc.test.ts @@ -1,5 +1,5 @@ import path from 'path'; -import {getContext, getApiFixture, disableNetConnect, testEnv} from '../util'; +import {getContext, testEnv} from '../util'; import { isTargetEvent, getBuildVersion, @@ -66,15 +66,16 @@ describe('getBuildVersion', () => { describe('getDocTocArgs', () => { testEnv(); - it('should get default DocToc args', () => { + it('should get DocToc args', () => { process.env.GITHUB_WORKSPACE = '/tmp/workspace'; - expect(getDocTocArgs()).toBe('/tmp/workspace/.work/README.md'); + process.env.INPUT_TARGET_PATHS = 'README.md,.github/CONTRIBUTING.md'; + process.env.INPUT_TOC_TITLE = '**Table of Contents**'; + expect(getDocTocArgs()).toBe('/tmp/workspace/.work/README.md /tmp/workspace/.work/.github/CONTRIBUTING.md --title **Table of Contents**'); }); - it('should get DocToc args', () => { + it('should get default DocToc args', () => { process.env.GITHUB_WORKSPACE = '/tmp/workspace'; - process.env.INPUT_TARGET_PATHS = 'README.md,.github/CONTRIBUTING.md'; - expect(getDocTocArgs()).toBe('/tmp/workspace/.work/README.md /tmp/workspace/.work/.github/CONTRIBUTING.md'); + expect(getDocTocArgs()).toBe('/tmp/workspace/.work/README.md --notitle'); }); }); diff --git a/action.yml b/action.yml index 8ee657af..aaefc399 100644 --- a/action.yml +++ b/action.yml @@ -8,6 +8,9 @@ inputs: TARGET_PATHS: description: Target file path. (Comma separated, @see https://github.com/thlorenz/doctoc#adding-toc-to-individual-files) default: 'README.md' + TOC_TITLE: + description: TOC Title + default: '**Table of Contents**' COMMIT_MESSAGE: description: Commit message. default: 'docs: Update TOC' diff --git a/src/utils/misc.ts b/src/utils/misc.ts index 496d84f9..4a985e52 100644 --- a/src/utils/misc.ts +++ b/src/utils/misc.ts @@ -29,9 +29,12 @@ const getTargetPaths = (): string[] => [...new Set((getInput('TARGET_PAT export const getDocTocArgs = () => { const workDir = getWorkDir(); - return getTargetPaths().map(item => path.resolve(workDir, item)).join(' '); + const title = getTocTitle().replace('\'', '\\\'').replace('"', '\\"'); + return getTargetPaths().map(item => path.resolve(workDir, item)).join(' ') + (title ? ` --title ${title}` : ' --notitle'); }; +const getTocTitle = (): string => getInput('TOC_TITLE') || ''; + const getWorkspace = (): string => process.env.GITHUB_WORKSPACE || ''; export const getWorkDir = () => path.resolve(getWorkspace(), '.work');