markdown_view.blade.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. {{-- 代码高亮工具 --}}
  2. {{--<link rel="stylesheet" href="{{ asset_cdn('sass/vendor/markdown.scss') }}">--}}
  3. {{--<link rel="stylesheet" href="{{ assert_cdns('/ext/prism/prism.css') }}">--}}
  4. {{--<link rel="stylesheet" href="{{ assert_cdns('/ext/jquery/jquery.tocify/jquery.tocify.css') }}">--}}
  5. {{--<script src="{{ assert_cdns('/ext/prism/prism.js') }}"></script>--}}
  6. {{--<script src="{{ assert_cdns('/ext/jquery/jquery-ui/jquery-ui.min.js') }}"></script>--}}
  7. {{--<script src="{{ assert_cdns('/ext/jquery/jquery.tocify/jquery.tocify.min.js') }}"></script>--}}
  8. {{--
  9. <script type="text/javascript">
  10. /** 代码高亮工具 */
  11. class MarkdownBody {
  12. constructor(){
  13. this.bodyClass = '.markdown-body';
  14. this.codeClass = '.markdown-body pre';
  15. this.addLineNumber();
  16. this.addThreePoints();
  17. this.addTitleNav();
  18. }
  19. /** 增加行号 */
  20. addLineNumber(){
  21. $(this.codeClass).addClass("line-numbers").css("white-space", "pre-wrap");
  22. }
  23. /** 增加 三个点 漂亮样式 */
  24. addThreePoints(){
  25. var html = '<div class="window-controls"><i class="red"></i><i class="yellow"></i><i class="green"></i></div>';
  26. $(this.codeClass).prepend(html);
  27. }
  28. /** 增加标题导航 tocify */
  29. addTitleNav(){
  30. var self = this;
  31. var selectors = ['h1', 'h2', 'h3', 'h4'];
  32. var selectorsTmp = [];
  33. selectors.forEach((item)=> {
  34. if ($(self.bodyClass).find(item).length > 0) {
  35. selectorsTmp.push(item);
  36. }
  37. });
  38. if (selectorsTmp.length > 0) {
  39. selectorsTmp = selectorsTmp.join(', ');
  40. } else {
  41. selectorsTmp = '';
  42. }
  43. /** #markdown-tocify */
  44. $("#markdown-tocify").tocify({
  45. context: self.bodyClass, // 任意可用的jQuery选择器
  46. selectors: selectorsTmp, // 文章节点,可以关联生成目录
  47. showAndHide: false, // 是否展示二级目录结构
  48. showEffect:'show', // 目录展示效果:"none", "fadeIn", "show", or "slideDown"
  49. hashGenerator: function (a,b) {
  50. // 返回随机数
  51. return Math.random().toString(36).substr(2,10);
  52. }
  53. });
  54. }
  55. }
  56. $(function () {
  57. new MarkdownBody();
  58. });
  59. </script>
  60. --}}