pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/TheAlgorithms/JavaScript/commit/6d5e641e6e6dafdd0dead76c3225430ea7ca01ab

ink crossorigen="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-12d60eb17c94521c.css" /> merge: tweak `DIRECTORY.md` generation (#999) · TheAlgorithms/JavaScript@6d5e641 · GitHub
Skip to content

Commit 6d5e641

Browse files
authored
merge: tweak DIRECTORY.md generation (#999)
* tests: change extention of helper file * chore: revert previous change * chore: ignore dirs with name "test" * docs: update directory styling Removed headings from `DIRECTORY.md` generation. * refactor: make code more idiomatic * docs: format directories to be bold * chore: change char conting method * fix: add 1 to ident count
1 parent 2e18fbb commit 6d5e641

1 file changed

Lines changed: 14 additions & 32 deletions

File tree

.github/workflows/UpdateDirectory.mjs

Lines changed: 14 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,24 @@ import path from 'path'
22
import fs from 'fs'
33
import { globby } from 'globby'
44

5-
const URL_BASE = 'https://github.com/TheAlgorithms/Javascript/blob/master'
6-
75
function pathPrefix (i) {
8-
if (i) {
9-
const res = ' '.repeat(i)
10-
return res + '*'
11-
} else {
12-
return '\n##'
13-
}
6+
const res = ' '.repeat(i)
7+
return res + '*'
148
}
159

1610
function printPath (oldPath, newPath, output) {
1711
const oldParts = oldPath.split(path.sep)
1812
const newParts = newPath.split(path.sep)
13+
1914
for (let i = 0; i < newParts.length; ++i) {
2015
const newPart = newParts[i]
2116
if (i + 1 > oldParts.length || oldParts[i] !== newPart) {
2217
if (newPart) {
23-
output.push(`${pathPrefix(i)} ${newPart.replace('_', ' ')}`)
18+
output.push(`${pathPrefix(i)} **${newPart.replace('_', ' ')}**`)
2419
}
2520
}
2621
}
22+
2723
return newPath
2824
}
2925

@@ -36,38 +32,23 @@ function pathsToMarkdown (filePaths) {
3632
if (a.toLowerCase() > b.toLowerCase()) return 1
3733
return 0
3834
})
35+
3936
for (let filepath of filePaths) {
40-
const file = filepath.split(path.sep)
41-
let filename = ''
42-
if (file.length === 1) {
43-
filepath = ''
44-
filename = file[0]
45-
} else {
46-
const total = file.length
47-
filename = file[total - 1]
48-
filepath = file.splice(0, total - 1).join(path.sep)
49-
}
37+
let filename = path.basename(filepath)
38+
filepath = path.dirname(path.sep)
39+
5040
if (filepath !== oldPath) {
5141
oldPath = printPath(oldPath, filepath, output)
5242
}
53-
let indent = 0
54-
for (let i = 0; i < filepath.length; ++i) {
55-
if (filepath[i] === path.sep) {
56-
++indent
57-
}
58-
}
59-
if (filepath) {
60-
++indent
61-
}
43+
44+
let indent = filepath.split(path.sep).length
6245

6346
// prepare the markdown-esque prefix to the file's line
6447
const prefix = pathPrefix(indent)
6548

6649
// remove extension from filename
67-
const name = filename.split('.')[0]
68-
69-
// create URL to the actual file on github
70-
const url = encodeURI([URL_BASE, filepath, filename].join('/'))
50+
const name = path.basename(filename, ".js")
51+
const url = path.join(filepath, filename)
7152

7253
output.push(`${prefix} [${name}](${url})`)
7354
}
@@ -79,6 +60,7 @@ function pathsToMarkdown (filePaths) {
7960
globby([
8061
'**/*.js',
8162
'!(node_modules|.github)/**/*',
63+
"!**/test/**/*",
8264
'!**/*.test.js',
8365
'!**/*.manual-test.js',
8466
'!babel.config.js'

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy