head.ts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. import fs from 'fs'
  2. import path from 'path'
  3. import { vpRoot } from '@kankan-components/build-utils'
  4. import { languages } from '../utils/lang'
  5. import type { HeadConfig } from 'vitepress'
  6. export const head: HeadConfig[] = [
  7. // [
  8. // 'link',
  9. // {
  10. // rel: 'stylesheet',
  11. // href: '//at.alicdn.com/t/c/font_2596172_5i5zp5tvfj9.css',
  12. // },
  13. // ],
  14. // [
  15. // 'script',
  16. // { id: 'scriptImporter' },
  17. // `
  18. // (function() {
  19. // var script = document.createElement("script");
  20. // script.src="//4dkk.4dage.com/v4-test/www/sdk/kankan-sdk-deps.js?v=4.6.0-alpha.10";
  21. // setTimeout(() => document.body.append(script))
  22. // script.onload = function(){
  23. // var script2 = document.createElement("script");
  24. // script2.src = "//4dkk.4dage.com/v4-test/www/sdk/kankan-sdk.js?v=4.6.0-alpha.10";
  25. // setTimeout(() => document.body.append(script2),100)
  26. // }
  27. // })();
  28. // `,
  29. // ],
  30. [
  31. 'link',
  32. {
  33. rel: 'icon',
  34. href: '/images/kankan_icon.ico',
  35. type: 'image/ico',
  36. },
  37. ],
  38. [
  39. 'link',
  40. {
  41. rel: 'apple-touch-icon',
  42. href: '/apple-touch-icon.png',
  43. sizes: '180x180',
  44. },
  45. ],
  46. [
  47. 'link',
  48. {
  49. rel: 'mask-icon',
  50. href: '/safari-pinned-tab.svg',
  51. color: '#5bbad5',
  52. },
  53. ],
  54. [
  55. 'meta',
  56. {
  57. name: 'theme-color',
  58. content: '#ffffff',
  59. },
  60. ],
  61. [
  62. 'meta',
  63. {
  64. name: 'msapplication-TileColor',
  65. content: '#409eff',
  66. },
  67. ],
  68. [
  69. 'meta',
  70. {
  71. name: 'msapplication-config',
  72. content: '/browserconfig.xml',
  73. },
  74. ],
  75. [
  76. 'script',
  77. {},
  78. `;(() => {
  79. window.supportedLangs = ${JSON.stringify(languages)}
  80. })()`,
  81. ],
  82. ['script', {}, fs.readFileSync(path.resolve(vpRoot, 'lang.js'), 'utf-8')],
  83. // [
  84. // 'script',
  85. // {
  86. // async: 'true',
  87. // src: 'https://www.googletagmanager.com/gtag/js?id=UA-175337989-1',
  88. // },
  89. // ],
  90. [
  91. 'script',
  92. {},
  93. `if ('serviceWorker' in navigator) {
  94. navigator.serviceWorker
  95. .register('/sw.js')
  96. .then(function(registration) {
  97. console.log(registration);
  98. })
  99. .catch(function(err) {
  100. console.log(err);
  101. });
  102. }`,
  103. ],
  104. // [
  105. // 'script',
  106. // {
  107. // async: 'true',
  108. // },
  109. // `window.dataLayer = window.dataLayer || [];
  110. // function gtag(){dataLayer.push(arguments);}
  111. // gtag('js', new Date());
  112. // gtag('config', 'UA-175337989-1');`,
  113. // ],
  114. // [
  115. // 'script',
  116. // {
  117. // async: 'true',
  118. // src: 'https://www.googletagmanager.com/gtag/js?id=G-M74ZHEQ1M1',
  119. // },
  120. // ],
  121. // [
  122. // 'script',
  123. // {},
  124. // `
  125. // window.dataLayer = window.dataLayer || [];
  126. // function gtag(){dataLayer.push(arguments);}
  127. // gtag('js', new Date());
  128. // gtag('config', 'G-M74ZHEQ1M1');
  129. // `,
  130. // ],
  131. // [
  132. // 'script',
  133. // {},
  134. // `(function(h,o,t,j,a,r){
  135. // h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
  136. // h._hjSettings={hjid:2894908,hjsv:6};
  137. // a=o.getElementsByTagName('head')[0];
  138. // r=o.createElement('script');r.async=1;
  139. // r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
  140. // a.appendChild(r);
  141. // })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');`,
  142. // ],
  143. [
  144. 'script',
  145. {
  146. async: 'true',
  147. },
  148. `
  149. var resource = document.createElement('link');
  150. resource.setAttribute("rel", "stylesheet");
  151. resource.setAttribute("href","//fonts.loli.net/css?family=Inter:300,400,500,600|Open+Sans:400,600;display=swap");
  152. resource.setAttribute("type","text/css");
  153. var head = document.querySelector('head');
  154. head.appendChild(resource);
  155. `,
  156. ],
  157. ]
  158. head.push(['script', {}, fs.readFileSync(path.resolve(vpRoot, 'dark-mode.js'), 'utf-8')])