index.mjs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env node
  2. import {marked} from 'marked'
  3. import hljs from 'highlight.js'
  4. import fs from 'node:fs'
  5. import path from 'node:path'
  6. import run from './html2pdf.mjs'
  7. // import 'highlight.js/styles/github.css';
  8. marked.setOptions({
  9. renderer: new marked.Renderer(),
  10. highlight: function(code, lang) {
  11. const language = hljs.getLanguage(lang) ? lang : 'plaintext';
  12. return hljs.highlight(code, { language }).value;
  13. },
  14. langPrefix: 'hljs language-', // highlight.js css expects a top-level 'hljs' class.
  15. pedantic: false,
  16. gfm: true,
  17. breaks: false,
  18. sanitize: false,
  19. smartLists: true,
  20. smartypants: false,
  21. xhtml: false
  22. });
  23. const key = process.argv[2]
  24. const filePath = process.argv[3]
  25. // console.log(22, filePath)
  26. const markdownString = fs.readFileSync(filePath, 'utf8')
  27. let html = marked.parse(markdownString)
  28. // <link rel="stylesheet"
  29. // href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/default.min.css">
  30. console.log(html)
  31. path.
  32. html = `<link rel="stylesheet"
  33. href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/github.min.css">${html}`
  34. fs.writeFileSync('index.html', html, { flag: 'a+' })
  35. run()
  36. // console.log(marked.parse(markdownString));
  37. // import github from 'highlight.js/styles/github.css'
  38. // const github = fs.readFileSync('highlight.js/styles/github.css', 'utf8')
  39. // console.log(github)