123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/usr/bin/env node
- import {marked} from 'marked'
- import hljs from 'highlight.js'
- import fs from 'node:fs'
- import path from 'node:path'
- import run from './html2pdf.mjs'
- // import 'highlight.js/styles/github.css';
- marked.setOptions({
- renderer: new marked.Renderer(),
- highlight: function(code, lang) {
- const language = hljs.getLanguage(lang) ? lang : 'plaintext';
- return hljs.highlight(code, { language }).value;
- },
- langPrefix: 'hljs language-', // highlight.js css expects a top-level 'hljs' class.
- pedantic: false,
- gfm: true,
- breaks: false,
- sanitize: false,
- smartLists: true,
- smartypants: false,
- xhtml: false
- });
- const filePath = `${process.env.PWD}/${process.argv[2]}`
- const markdownString = fs.readFileSync(filePath, 'utf8')
- const fileName = `${filePath}`.replace('.md','.html')
- let html = marked.parse(markdownString)
- console.log(27, html);
- html = html.replace(/!\[\[(.*)\]\]/g, '<img src="$1" />')
- html = `
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/styles/atom-one-dark.min.css">
- <!-- <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/styles/default.min.css"> -->
- <style>
- *{
- font-family: "PingFang TC";
- }
- h2 {
- margin-bottom: 5px;
- }
- h3 {
- margin-bottom: 0;
- }
- p{
- margin: 5px 0;
- }
- ol{
- margin: 5px 0;
- }
- </style>
- <body>
- ${ html }
- </body>
- <script src="./highlight.min.js"></script>
- <script>hljs.highlightAll();</script>
- `
- // // <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/highlight.min.js"></script>
- try {
- fs.unlinkSync(fileName);
- } catch ( e ) {
- console.log(e)
- }
- fs.writeFile(fileName, html, { flag: 'a+' }, (err) => {
- if (err) throw err;
- run(fileName)
- })
- // console.log(marked.parse(markdownString));
- // import github from 'highlight.js/styles/github.css'
- // const github = fs.readFileSync('highlight.js/styles/github.css', 'utf8')
- // console.log(github)
|