Skip to content

Commit 9cf0607

Browse files
Merge pull request #17 from technote-space/release/next-v2.2.0
release: v2.2.1
2 parents 9871255 + 5a01bb6 commit 9cf0607

File tree

4 files changed

+10
-6
lines changed

4 files changed

+10
-6
lines changed

__tests__/transform-html-mode.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ describe('transform', () => {
1515
'<a href="#installation">Installation</a>',
1616
'<span>|</span>',
1717
'<a href="#api">API</a>',
18+
'<span>|</span>',
19+
'<a href="#license">^License</a>',
1820
'</p>',
1921
''],
2022
);
@@ -37,6 +39,8 @@ describe('transform', () => {
3739
'<li><a href="#installation" target="_blank">Installation</a></li>',
3840
'',
3941
'<li><a href="#api" target="_blank">API</a></li>',
42+
'',
43+
'<li><a href="#license" target="_blank">^License</a></li>',
4044
'</ul>',
4145
''],
4246
);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@technote-space/doctoc",
3-
"version": "2.2.0",
3+
"version": "2.2.1",
44
"description": "Generates TOC for markdown files of local git repo.",
55
"keywords": [
66
"github",

src/lib/get-html-headers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ const addLinenos = (lines: Array<string>, headers: Array<HeaderData>): Array<Omi
2727
});
2828
};
2929

30-
const rankify = (headers: Array<Omit<Header, 'rank'> & HeaderData>, max): Array<Header> => headers.map(header => ({
30+
const rankify = (headers: Array<Omit<Header, 'rank'> & HeaderData>, max: number): Array<Header> => headers.map(header => ({
3131
...header,
3232
// eslint-disable-next-line no-magic-numbers
3333
rank: parseInt(header.tag.slice(1), 10),

src/lib/transform.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,9 @@ const getHeaderItem = (header: HeaderWithAnchor, indentation: string, lowestRank
126126
return `${indentation.repeat(header.rank - lowestRank)}${entryPrefix} ${header.anchor}`;
127127
};
128128

129-
const getHtmlHeaderContents = (headers: Array<HeaderWithAnchor>, htmlTemplate: string | undefined, itemTemplate: string | undefined, separator: string | undefined): string => replaceVariables(htmlTemplate ?? DEFAULT_HTML_TEMPLATE, [{
129+
const getHtmlHeaderContents = (headers: Array<HeaderWithAnchor>, lowestRank: number, htmlTemplate: string | undefined, itemTemplate: string | undefined, separator: string | undefined): string => replaceVariables(htmlTemplate ?? DEFAULT_HTML_TEMPLATE, [{
130130
key: 'ITEMS',
131-
replace: `\n${headers.map(header => getHeaderItemHtml(header, itemTemplate)).join(`\n${separator ?? DEFAULT_SEPARATOR}\n`)}\n`,
131+
replace: `\n${headers.filter(header => header.rank === lowestRank).map(header => getHeaderItemHtml(header, itemTemplate)).join(`\n${separator ?? DEFAULT_SEPARATOR}\n`)}\n`,
132132
}]);
133133

134134
const getHeaderItemHtml = (header: HeaderWithAnchor, itemTemplate: string | undefined): string => {
@@ -165,7 +165,7 @@ export const transform = (
165165

166166
// only limit *HTML* headings by default
167167
// eslint-disable-next-line no-magic-numbers
168-
const maxHeaderLevelHtml = isHtml ? 1 : (maxHeaderLevel || 4);
168+
const maxHeaderLevelHtml = maxHeaderLevel || 4;
169169
const lines = content.split('\n');
170170
const info: SectionInfo = updateSection.parse(lines, matchesStart(checkOpeningComments), matchesEnd(checkClosingComments));
171171

@@ -197,7 +197,7 @@ export const transform = (
197197
const toc =
198198
inferredTitle +
199199
titleSeparator +
200-
(isHtml ? getHtmlHeaderContents(linkedHeaders, htmlTemplate, itemTemplate, separator) : getHeaderContents(linkedHeaders, indentation, lowestRank, _entryPrefix)) +
200+
(isHtml ? getHtmlHeaderContents(linkedHeaders, lowestRank, htmlTemplate, itemTemplate, separator) : getHeaderContents(linkedHeaders, indentation, lowestRank, _entryPrefix)) +
201201
'\n';
202202
const wrappedToc = (openingComment ?? OPENING_COMMENT) + '\n' + wrapToc(toc, inferredTitle, isFolding) + '\n' + (closingComment ?? CLOSING_COMMENT);
203203
if (currentToc === wrappedToc) {

0 commit comments

Comments
 (0)