index.blade.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. @php
  2. use Knuckles\Scribe\Tools\WritingUtils as u;
  3. @endphp
  4. <!doctype html>
  5. <html lang="en">
  6. <head>
  7. <meta charset="utf-8">
  8. <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
  9. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  10. <title>{!! $metadata['title'] !!}</title>
  11. <link href="https://fonts.googleapis.com/css?family=Open+Sans&display=swap" rel="stylesheet">
  12. <link rel="stylesheet" href="{!! $assetPathPrefix !!}css/theme-default.style.css" media="screen">
  13. <link rel="stylesheet" href="{!! $assetPathPrefix !!}css/theme-default.print.css" media="print">
  14. <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>
  15. <link rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@11.6.0/styles/obsidian.min.css">
  16. <script src="https://unpkg.com/@highlightjs/cdn-assets@11.6.0/highlight.min.js"></script>
  17. <script src="https://cdnjs.cloudflare.com/ajax/libs/jets/0.14.1/jets.min.js"></script>
  18. @if (isset($metadata['example_languages']))
  19. <style id="language-style">
  20. /* starts out as display none and is replaced with js later */
  21. @foreach ($metadata['example_languages'] as $lang)
  22. body .content .{{ $lang }}-example code {
  23. display: none;
  24. }
  25. @endforeach
  26. </style>
  27. @endif
  28. @if ($tryItOut['enabled'] ?? true)
  29. <script>
  30. var tryItOutBaseUrl = "{!! $tryItOut['base_url'] ?? config('app.url') !!}";
  31. var useCsrf = Boolean({!! $tryItOut['use_csrf'] ?? null !!});
  32. var csrfUrl = "{!! $tryItOut['csrf_url'] ?? null !!}";
  33. </script>
  34. <script src="{{ u::getVersionedAsset($assetPathPrefix . 'js/tryitout.js') }}"></script>
  35. @endif
  36. <script src="{{ u::getVersionedAsset($assetPathPrefix . 'js/theme-default.js') }}"></script>
  37. </head>
  38. <body data-languages="{{ json_encode($metadata['example_languages'] ?? []) }}">
  39. @include('scribe::themes.default.sidebar')
  40. <div class="page-wrapper">
  41. <div class="dark-box"></div>
  42. <div class="content">
  43. {!! $intro !!}
  44. {!! $auth !!}
  45. @include('scribe::themes.default.groups')
  46. {!! $append !!}
  47. </div>
  48. <div class="dark-box">
  49. @if (isset($metadata['example_languages']))
  50. <div class="lang-selector">
  51. @foreach ($metadata['example_languages'] as $name => $lang)
  52. @php
  53. if (is_numeric($name)) {
  54. $name = $lang;
  55. }
  56. @endphp
  57. <button type="button" class="lang-button"
  58. data-language-name="{{ $lang }}">{{ $name }}</button>
  59. @endforeach
  60. </div>
  61. @endif
  62. </div>
  63. </div>
  64. </body>
  65. <script src="{{ asset('vendor/scribe/js/tryitout-4.38.0.js') }}"></script>
  66. <script src="{{ asset('vendor/scribe/js/theme-default-4.38.0.js') }}"></script>
  67. {{-- 添加自定义脚本 --}}
  68. <script type="text/javascript">
  69. document.querySelectorAll('.tocify-header .level-1 a').forEach(link => {
  70. const parentLi = link.closest('li');
  71. const nextUl = parentLi.nextElementSibling;
  72. if (nextUl && nextUl.tagName === 'UL') {
  73. link.addEventListener('click', function(e) {
  74. e.preventDefault();
  75. nextUl.classList.toggle('visible');
  76. });
  77. }
  78. });
  79. </script>
  80. </html>