@docsector/docsector-reader 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/.eslintrc.cjs +42 -0
  2. package/LICENSE.md +9 -0
  3. package/README.md +175 -0
  4. package/bin/docsector.js +129 -0
  5. package/docsector.config.js +54 -0
  6. package/index.html +20 -0
  7. package/jsconfig.json +16 -0
  8. package/package.json +99 -0
  9. package/postcss.config.cjs +5 -0
  10. package/public/Docsphere/flags/abkhazia.png +0 -0
  11. package/public/Docsphere/flags/afghanistan.png +0 -0
  12. package/public/Docsphere/flags/aland-islands.png +0 -0
  13. package/public/Docsphere/flags/albania.png +0 -0
  14. package/public/Docsphere/flags/algeria.png +0 -0
  15. package/public/Docsphere/flags/american-samoa.png +0 -0
  16. package/public/Docsphere/flags/andorra.png +0 -0
  17. package/public/Docsphere/flags/angola.png +0 -0
  18. package/public/Docsphere/flags/anguilla.png +0 -0
  19. package/public/Docsphere/flags/antigua-and-barbuda.png +0 -0
  20. package/public/Docsphere/flags/argentina.png +0 -0
  21. package/public/Docsphere/flags/armenia.png +0 -0
  22. package/public/Docsphere/flags/aruba.png +0 -0
  23. package/public/Docsphere/flags/australia.png +0 -0
  24. package/public/Docsphere/flags/austria.png +0 -0
  25. package/public/Docsphere/flags/azerbaijan.png +0 -0
  26. package/public/Docsphere/flags/azores-islands.png +0 -0
  27. package/public/Docsphere/flags/bahamas.png +0 -0
  28. package/public/Docsphere/flags/bahrain.png +0 -0
  29. package/public/Docsphere/flags/balearic-islands.png +0 -0
  30. package/public/Docsphere/flags/bangladesh.png +0 -0
  31. package/public/Docsphere/flags/barbados.png +0 -0
  32. package/public/Docsphere/flags/basque-country.png +0 -0
  33. package/public/Docsphere/flags/belarus.png +0 -0
  34. package/public/Docsphere/flags/belgium.png +0 -0
  35. package/public/Docsphere/flags/belize.png +0 -0
  36. package/public/Docsphere/flags/benin.png +0 -0
  37. package/public/Docsphere/flags/bermuda.png +0 -0
  38. package/public/Docsphere/flags/bhutan-1.png +0 -0
  39. package/public/Docsphere/flags/bhutan.png +0 -0
  40. package/public/Docsphere/flags/bolivia.png +0 -0
  41. package/public/Docsphere/flags/bonaire.png +0 -0
  42. package/public/Docsphere/flags/bosnia-and-herzegovina.png +0 -0
  43. package/public/Docsphere/flags/botswana.png +0 -0
  44. package/public/Docsphere/flags/brazil.png +0 -0
  45. package/public/Docsphere/flags/british-columbia.png +0 -0
  46. package/public/Docsphere/flags/british-indian-ocean-territory.png +0 -0
  47. package/public/Docsphere/flags/british-virgin-islands.png +0 -0
  48. package/public/Docsphere/flags/brunei.png +0 -0
  49. package/public/Docsphere/flags/bulgaria.png +0 -0
  50. package/public/Docsphere/flags/burkina-faso.png +0 -0
  51. package/public/Docsphere/flags/burundi.png +0 -0
  52. package/public/Docsphere/flags/cambodia.png +0 -0
  53. package/public/Docsphere/flags/cameroon.png +0 -0
  54. package/public/Docsphere/flags/canada.png +0 -0
  55. package/public/Docsphere/flags/canary-islands.png +0 -0
  56. package/public/Docsphere/flags/cape-verde.png +0 -0
  57. package/public/Docsphere/flags/cayman-islands.png +0 -0
  58. package/public/Docsphere/flags/central-african-republic.png +0 -0
  59. package/public/Docsphere/flags/ceuta.png +0 -0
  60. package/public/Docsphere/flags/chad.png +0 -0
  61. package/public/Docsphere/flags/chile.png +0 -0
  62. package/public/Docsphere/flags/china.png +0 -0
  63. package/public/Docsphere/flags/christmas-island.png +0 -0
  64. package/public/Docsphere/flags/cocos-island.png +0 -0
  65. package/public/Docsphere/flags/colombia.png +0 -0
  66. package/public/Docsphere/flags/comoros.png +0 -0
  67. package/public/Docsphere/flags/cook-islands.png +0 -0
  68. package/public/Docsphere/flags/corsica.png +0 -0
  69. package/public/Docsphere/flags/costa-rica.png +0 -0
  70. package/public/Docsphere/flags/croatia.png +0 -0
  71. package/public/Docsphere/flags/cuba.png +0 -0
  72. package/public/Docsphere/flags/curacao.png +0 -0
  73. package/public/Docsphere/flags/cyprus.png +0 -0
  74. package/public/Docsphere/flags/czech-republic.png +0 -0
  75. package/public/Docsphere/flags/democratic-republic-of-congo.png +0 -0
  76. package/public/Docsphere/flags/denmark.png +0 -0
  77. package/public/Docsphere/flags/djibouti.png +0 -0
  78. package/public/Docsphere/flags/dominica.png +0 -0
  79. package/public/Docsphere/flags/dominican-republic.png +0 -0
  80. package/public/Docsphere/flags/east-timor.png +0 -0
  81. package/public/Docsphere/flags/ecuador.png +0 -0
  82. package/public/Docsphere/flags/egypt.png +0 -0
  83. package/public/Docsphere/flags/england.png +0 -0
  84. package/public/Docsphere/flags/equatorial-guinea.png +0 -0
  85. package/public/Docsphere/flags/eritrea.png +0 -0
  86. package/public/Docsphere/flags/estonia.png +0 -0
  87. package/public/Docsphere/flags/ethiopia.png +0 -0
  88. package/public/Docsphere/flags/european-union.png +0 -0
  89. package/public/Docsphere/flags/falkland-islands.png +0 -0
  90. package/public/Docsphere/flags/faroe-islands.png +0 -0
  91. package/public/Docsphere/flags/fiji.png +0 -0
  92. package/public/Docsphere/flags/finland.png +0 -0
  93. package/public/Docsphere/flags/france.png +0 -0
  94. package/public/Docsphere/flags/french-polynesia.png +0 -0
  95. package/public/Docsphere/flags/gabon.png +0 -0
  96. package/public/Docsphere/flags/galapagos-islands.png +0 -0
  97. package/public/Docsphere/flags/gambia.png +0 -0
  98. package/public/Docsphere/flags/georgia.png +0 -0
  99. package/public/Docsphere/flags/germany.png +0 -0
  100. package/public/Docsphere/flags/ghana.png +0 -0
  101. package/public/Docsphere/flags/gibraltar.png +0 -0
  102. package/public/Docsphere/flags/greece.png +0 -0
  103. package/public/Docsphere/flags/greenland.png +0 -0
  104. package/public/Docsphere/flags/grenada.png +0 -0
  105. package/public/Docsphere/flags/guam.png +0 -0
  106. package/public/Docsphere/flags/guatemala.png +0 -0
  107. package/public/Docsphere/flags/guernsey.png +0 -0
  108. package/public/Docsphere/flags/guinea-bissau.png +0 -0
  109. package/public/Docsphere/flags/guinea.png +0 -0
  110. package/public/Docsphere/flags/guyana.png +0 -0
  111. package/public/Docsphere/flags/haiti.png +0 -0
  112. package/public/Docsphere/flags/hawaii.png +0 -0
  113. package/public/Docsphere/flags/honduras.png +0 -0
  114. package/public/Docsphere/flags/hong-kong.png +0 -0
  115. package/public/Docsphere/flags/hungary.png +0 -0
  116. package/public/Docsphere/flags/iceland.png +0 -0
  117. package/public/Docsphere/flags/india.png +0 -0
  118. package/public/Docsphere/flags/indonesia.png +0 -0
  119. package/public/Docsphere/flags/iran.png +0 -0
  120. package/public/Docsphere/flags/iraq.png +0 -0
  121. package/public/Docsphere/flags/ireland.png +0 -0
  122. package/public/Docsphere/flags/isle-of-man.png +0 -0
  123. package/public/Docsphere/flags/israel.png +0 -0
  124. package/public/Docsphere/flags/italy.png +0 -0
  125. package/public/Docsphere/flags/ivory-coast.png +0 -0
  126. package/public/Docsphere/flags/jamaica.png +0 -0
  127. package/public/Docsphere/flags/japan.png +0 -0
  128. package/public/Docsphere/flags/jersey.png +0 -0
  129. package/public/Docsphere/flags/jordan.png +0 -0
  130. package/public/Docsphere/flags/kazakhstan.png +0 -0
  131. package/public/Docsphere/flags/kenya.png +0 -0
  132. package/public/Docsphere/flags/kiribati.png +0 -0
  133. package/public/Docsphere/flags/kosovo.png +0 -0
  134. package/public/Docsphere/flags/kuwait.png +0 -0
  135. package/public/Docsphere/flags/kyrgyzstan.png +0 -0
  136. package/public/Docsphere/flags/laos.png +0 -0
  137. package/public/Docsphere/flags/latvia.png +0 -0
  138. package/public/Docsphere/flags/lebanon.png +0 -0
  139. package/public/Docsphere/flags/lesotho.png +0 -0
  140. package/public/Docsphere/flags/liberia.png +0 -0
  141. package/public/Docsphere/flags/libya.png +0 -0
  142. package/public/Docsphere/flags/liechtenstein.png +0 -0
  143. package/public/Docsphere/flags/lithuania.png +0 -0
  144. package/public/Docsphere/flags/luxembourg.png +0 -0
  145. package/public/Docsphere/flags/macao.png +0 -0
  146. package/public/Docsphere/flags/madagascar.png +0 -0
  147. package/public/Docsphere/flags/madeira.png +0 -0
  148. package/public/Docsphere/flags/malawi.png +0 -0
  149. package/public/Docsphere/flags/malaysia.png +0 -0
  150. package/public/Docsphere/flags/maldives.png +0 -0
  151. package/public/Docsphere/flags/mali.png +0 -0
  152. package/public/Docsphere/flags/malta.png +0 -0
  153. package/public/Docsphere/flags/marshall-island.png +0 -0
  154. package/public/Docsphere/flags/martinique.png +0 -0
  155. package/public/Docsphere/flags/mauritania.png +0 -0
  156. package/public/Docsphere/flags/mauritius.png +0 -0
  157. package/public/Docsphere/flags/melilla.png +0 -0
  158. package/public/Docsphere/flags/mexico.png +0 -0
  159. package/public/Docsphere/flags/micronesia.png +0 -0
  160. package/public/Docsphere/flags/moldova.png +0 -0
  161. package/public/Docsphere/flags/monaco.png +0 -0
  162. package/public/Docsphere/flags/mongolia.png +0 -0
  163. package/public/Docsphere/flags/montenegro.png +0 -0
  164. package/public/Docsphere/flags/montserrat.png +0 -0
  165. package/public/Docsphere/flags/morocco.png +0 -0
  166. package/public/Docsphere/flags/mozambique.png +0 -0
  167. package/public/Docsphere/flags/myanmar.png +0 -0
  168. package/public/Docsphere/flags/namibia.png +0 -0
  169. package/public/Docsphere/flags/nato.png +0 -0
  170. package/public/Docsphere/flags/nauru.png +0 -0
  171. package/public/Docsphere/flags/nepal.png +0 -0
  172. package/public/Docsphere/flags/netherlands.png +0 -0
  173. package/public/Docsphere/flags/new-zealand.png +0 -0
  174. package/public/Docsphere/flags/nicaragua.png +0 -0
  175. package/public/Docsphere/flags/niger.png +0 -0
  176. package/public/Docsphere/flags/nigeria.png +0 -0
  177. package/public/Docsphere/flags/niue.png +0 -0
  178. package/public/Docsphere/flags/norfolk-island.png +0 -0
  179. package/public/Docsphere/flags/north-korea.png +0 -0
  180. package/public/Docsphere/flags/northen-cyprus.png +0 -0
  181. package/public/Docsphere/flags/northern-marianas-islands.png +0 -0
  182. package/public/Docsphere/flags/norway.png +0 -0
  183. package/public/Docsphere/flags/oman.png +0 -0
  184. package/public/Docsphere/flags/orkney-islands.png +0 -0
  185. package/public/Docsphere/flags/ossetia.png +0 -0
  186. package/public/Docsphere/flags/pakistan.png +0 -0
  187. package/public/Docsphere/flags/palau.png +0 -0
  188. package/public/Docsphere/flags/palestine.png +0 -0
  189. package/public/Docsphere/flags/panama.png +0 -0
  190. package/public/Docsphere/flags/papua-new-guinea.png +0 -0
  191. package/public/Docsphere/flags/paraguay.png +0 -0
  192. package/public/Docsphere/flags/peru.png +0 -0
  193. package/public/Docsphere/flags/philippines.png +0 -0
  194. package/public/Docsphere/flags/pitcairn-islands.png +0 -0
  195. package/public/Docsphere/flags/portugal.png +0 -0
  196. package/public/Docsphere/flags/puerto-rico.png +0 -0
  197. package/public/Docsphere/flags/qatar.png +0 -0
  198. package/public/Docsphere/flags/rapa-nui.png +0 -0
  199. package/public/Docsphere/flags/republic-of-macedonia.png +0 -0
  200. package/public/Docsphere/flags/republic-of-poland.png +0 -0
  201. package/public/Docsphere/flags/republic-of-the-congo.png +0 -0
  202. package/public/Docsphere/flags/romania.png +0 -0
  203. package/public/Docsphere/flags/russia.png +0 -0
  204. package/public/Docsphere/flags/rwanda.png +0 -0
  205. package/public/Docsphere/flags/saba-island.png +0 -0
  206. package/public/Docsphere/flags/saint-kitts-and-nevis.png +0 -0
  207. package/public/Docsphere/flags/salvador.png +0 -0
  208. package/public/Docsphere/flags/samoa.png +0 -0
  209. package/public/Docsphere/flags/san-marino.png +0 -0
  210. package/public/Docsphere/flags/sao-tome-and-principe.png +0 -0
  211. package/public/Docsphere/flags/sardinia.png +0 -0
  212. package/public/Docsphere/flags/saudi-arabia.png +0 -0
  213. package/public/Docsphere/flags/scotland.png +0 -0
  214. package/public/Docsphere/flags/senegal.png +0 -0
  215. package/public/Docsphere/flags/serbia.png +0 -0
  216. package/public/Docsphere/flags/seychelles.png +0 -0
  217. package/public/Docsphere/flags/sierra-leone.png +0 -0
  218. package/public/Docsphere/flags/singapore.png +0 -0
  219. package/public/Docsphere/flags/sint-eustatius.png +0 -0
  220. package/public/Docsphere/flags/sint-maarten.png +0 -0
  221. package/public/Docsphere/flags/slovakia.png +0 -0
  222. package/public/Docsphere/flags/slovenia.png +0 -0
  223. package/public/Docsphere/flags/solomon-islands.png +0 -0
  224. package/public/Docsphere/flags/somalia.png +0 -0
  225. package/public/Docsphere/flags/somaliland.png +0 -0
  226. package/public/Docsphere/flags/south-africa.png +0 -0
  227. package/public/Docsphere/flags/south-korea.png +0 -0
  228. package/public/Docsphere/flags/south-sudan.png +0 -0
  229. package/public/Docsphere/flags/spain.png +0 -0
  230. package/public/Docsphere/flags/sri-lanka.png +0 -0
  231. package/public/Docsphere/flags/st-barts.png +0 -0
  232. package/public/Docsphere/flags/st-lucia.png +0 -0
  233. package/public/Docsphere/flags/st-vincent-and-the-grenadines.png +0 -0
  234. package/public/Docsphere/flags/sudan.png +0 -0
  235. package/public/Docsphere/flags/suriname.png +0 -0
  236. package/public/Docsphere/flags/swaziland.png +0 -0
  237. package/public/Docsphere/flags/sweden.png +0 -0
  238. package/public/Docsphere/flags/switzerland.png +0 -0
  239. package/public/Docsphere/flags/syria.png +0 -0
  240. package/public/Docsphere/flags/taiwan.png +0 -0
  241. package/public/Docsphere/flags/tajikistan.png +0 -0
  242. package/public/Docsphere/flags/tanzania.png +0 -0
  243. package/public/Docsphere/flags/thailand.png +0 -0
  244. package/public/Docsphere/flags/tibet.png +0 -0
  245. package/public/Docsphere/flags/togo.png +0 -0
  246. package/public/Docsphere/flags/tokelau.png +0 -0
  247. package/public/Docsphere/flags/tonga.png +0 -0
  248. package/public/Docsphere/flags/transnistria.png +0 -0
  249. package/public/Docsphere/flags/trinidad-and-tobago.png +0 -0
  250. package/public/Docsphere/flags/tunisia.png +0 -0
  251. package/public/Docsphere/flags/turkey.png +0 -0
  252. package/public/Docsphere/flags/turkmenistan.png +0 -0
  253. package/public/Docsphere/flags/turks-and-caicos.png +0 -0
  254. package/public/Docsphere/flags/tuvalu.png +0 -0
  255. package/public/Docsphere/flags/uganda.png +0 -0
  256. package/public/Docsphere/flags/ukraine.png +0 -0
  257. package/public/Docsphere/flags/united-arab-emirates.png +0 -0
  258. package/public/Docsphere/flags/united-kingdom.png +0 -0
  259. package/public/Docsphere/flags/united-nations.png +0 -0
  260. package/public/Docsphere/flags/united-states-of-america.png +0 -0
  261. package/public/Docsphere/flags/uruguay.png +0 -0
  262. package/public/Docsphere/flags/uzbekistn.png +0 -0
  263. package/public/Docsphere/flags/vanuatu.png +0 -0
  264. package/public/Docsphere/flags/vatican-city.png +0 -0
  265. package/public/Docsphere/flags/venezuela.png +0 -0
  266. package/public/Docsphere/flags/vietnam.png +0 -0
  267. package/public/Docsphere/flags/virgin-islands.png +0 -0
  268. package/public/Docsphere/flags/wales.png +0 -0
  269. package/public/Docsphere/flags/western-sahara.png +0 -0
  270. package/public/Docsphere/flags/yemen.png +0 -0
  271. package/public/Docsphere/flags/zambia.png +0 -0
  272. package/public/Docsphere/flags/zimbabwe.png +0 -0
  273. package/public/favicon.ico +0 -0
  274. package/public/images/flags/brazil.png +0 -0
  275. package/public/images/flags/united-states-of-america.png +0 -0
  276. package/public/images/logo.png +0 -0
  277. package/public/logo.png +0 -0
  278. package/public/robots.txt +2 -0
  279. package/public/sad.svg +1 -0
  280. package/quasar.config.js +117 -0
  281. package/src/App.vue +235 -0
  282. package/src/boot/QZoom.js +7 -0
  283. package/src/boot/axios.js +11 -0
  284. package/src/boot/i18n.js +15 -0
  285. package/src/boot/store.js +26 -0
  286. package/src/components/DH1.vue +42 -0
  287. package/src/components/DH2.vue +36 -0
  288. package/src/components/DH3.vue +36 -0
  289. package/src/components/DH4.vue +26 -0
  290. package/src/components/DH5.vue +26 -0
  291. package/src/components/DH6.vue +26 -0
  292. package/src/components/DMenu.vue +446 -0
  293. package/src/components/DMenuItem.vue +127 -0
  294. package/src/components/DPage.vue +222 -0
  295. package/src/components/DPageAnchor.vue +123 -0
  296. package/src/components/DPageBlockquote.vue +19 -0
  297. package/src/components/DPageMeta.vue +203 -0
  298. package/src/components/DPageSection.vue +243 -0
  299. package/src/components/DPageSourceCode.vue +376 -0
  300. package/src/components/DSubpage.vue +33 -0
  301. package/src/components/QZoom.js +278 -0
  302. package/src/components/QZoom.styl +43 -0
  303. package/src/composables/useNavigator.js +113 -0
  304. package/src/css/app.sass +279 -0
  305. package/src/css/quasar.variables.scss +24 -0
  306. package/src/i18n/index.js +126 -0
  307. package/src/i18n/languages/en-US.hjson +98 -0
  308. package/src/i18n/languages/pt-BR.hjson +97 -0
  309. package/src/i18n/tags.hjson +44 -0
  310. package/src/index.js +99 -0
  311. package/src/layouts/DefaultLayout.vue +95 -0
  312. package/src/layouts/SystemLayout.vue +4 -0
  313. package/src/pages/@/404Page.vue +15 -0
  314. package/src/pages/@/BootPage.vue +106 -0
  315. package/src/pages/boot.js +10 -0
  316. package/src/pages/guide/configuration.overview.en-US.md +107 -0
  317. package/src/pages/guide/configuration.overview.pt-BR.md +107 -0
  318. package/src/pages/guide/deployment.overview.en-US.md +49 -0
  319. package/src/pages/guide/deployment.overview.pt-BR.md +49 -0
  320. package/src/pages/guide/getting-started.overview.en-US.md +59 -0
  321. package/src/pages/guide/getting-started.overview.pt-BR.md +59 -0
  322. package/src/pages/guide/i18n-and-markdown.overview.en-US.md +77 -0
  323. package/src/pages/guide/i18n-and-markdown.overview.pt-BR.md +77 -0
  324. package/src/pages/guide/pages-and-routing.overview.en-US.md +85 -0
  325. package/src/pages/guide/pages-and-routing.overview.pt-BR.md +85 -0
  326. package/src/pages/guide/plugins.overview.en-US.md +3 -0
  327. package/src/pages/guide/plugins.overview.pt-BR.md +3 -0
  328. package/src/pages/guide/theming.overview.en-US.md +55 -0
  329. package/src/pages/guide/theming.overview.pt-BR.md +55 -0
  330. package/src/pages/index.js +385 -0
  331. package/src/pages/manual/components/d-headings.overview.en-US.md +54 -0
  332. package/src/pages/manual/components/d-headings.overview.pt-BR.md +54 -0
  333. package/src/pages/manual/components/d-headings.showcase.en-US.md +32 -0
  334. package/src/pages/manual/components/d-headings.showcase.pt-BR.md +32 -0
  335. package/src/pages/manual/components/d-menu.overview.en-US.md +59 -0
  336. package/src/pages/manual/components/d-menu.overview.pt-BR.md +59 -0
  337. package/src/pages/manual/components/d-page-anchor.overview.en-US.md +49 -0
  338. package/src/pages/manual/components/d-page-anchor.overview.pt-BR.md +49 -0
  339. package/src/pages/manual/components/d-page-blockquote.overview.en-US.md +44 -0
  340. package/src/pages/manual/components/d-page-blockquote.overview.pt-BR.md +44 -0
  341. package/src/pages/manual/components/d-page-blockquote.showcase.en-US.md +27 -0
  342. package/src/pages/manual/components/d-page-blockquote.showcase.pt-BR.md +27 -0
  343. package/src/pages/manual/components/d-page-meta.overview.en-US.md +51 -0
  344. package/src/pages/manual/components/d-page-meta.overview.pt-BR.md +51 -0
  345. package/src/pages/manual/components/d-page-section.overview.en-US.md +55 -0
  346. package/src/pages/manual/components/d-page-section.overview.pt-BR.md +55 -0
  347. package/src/pages/manual/components/d-page-section.showcase.en-US.md +43 -0
  348. package/src/pages/manual/components/d-page-section.showcase.pt-BR.md +43 -0
  349. package/src/pages/manual/components/d-page-source-code.overview.en-US.md +54 -0
  350. package/src/pages/manual/components/d-page-source-code.overview.pt-BR.md +54 -0
  351. package/src/pages/manual/components/d-page-source-code.showcase.en-US.md +50 -0
  352. package/src/pages/manual/components/d-page-source-code.showcase.pt-BR.md +50 -0
  353. package/src/pages/manual/components/d-page.overview.en-US.md +56 -0
  354. package/src/pages/manual/components/d-page.overview.pt-BR.md +56 -0
  355. package/src/pages/manual/components/d-page.showcase.en-US.md +35 -0
  356. package/src/pages/manual/components/d-page.showcase.pt-BR.md +35 -0
  357. package/src/pages/manual/components/d-subpage.overview.en-US.md +56 -0
  358. package/src/pages/manual/components/d-subpage.overview.pt-BR.md +56 -0
  359. package/src/pages/manual/components/q-zoom.overview.en-US.md +71 -0
  360. package/src/pages/manual/components/q-zoom.overview.pt-BR.md +71 -0
  361. package/src/pages/manual/composables/use-navigator.overview.en-US.md +89 -0
  362. package/src/pages/manual/composables/use-navigator.overview.pt-BR.md +89 -0
  363. package/src/pages/manual/store/modules.overview.en-US.md +96 -0
  364. package/src/pages/manual/store/modules.overview.pt-BR.md +96 -0
  365. package/src/router/index.js +30 -0
  366. package/src/router/routes.js +93 -0
  367. package/src/store/App.js +43 -0
  368. package/src/store/I18n.js +22 -0
  369. package/src/store/Layout.js +124 -0
  370. package/src/store/Page.js +103 -0
  371. package/src/store/Settings.js +18 -0
  372. package/src/store/index.js +24 -0
@@ -0,0 +1,222 @@
1
+ <script setup>
2
+ import { ref, computed, onMounted } from 'vue'
3
+ import { useStore } from 'vuex'
4
+ import { useRoute, useRouter } from 'vue-router'
5
+ import { useQuasar } from 'quasar'
6
+
7
+ import useNavigator from 'src/composables/useNavigator'
8
+
9
+ import DPageAnchor from 'components/DPageAnchor.vue'
10
+ import DPageMeta from 'components/DPageMeta.vue'
11
+
12
+ const store = useStore()
13
+ const router = useRouter()
14
+ const route = useRoute()
15
+ const $q = useQuasar()
16
+
17
+ const { scrolling, navigate } = useNavigator()
18
+
19
+ const props = defineProps({
20
+ disableNav: {
21
+ type: Boolean,
22
+ default: false
23
+ }
24
+ })
25
+
26
+ const pageScrollArea = ref(null)
27
+
28
+ const overview = computed(() => route.matched[0].path)
29
+ const showcase = computed(() => {
30
+ const showcase = route.matched[0].meta.subpages.showcase
31
+ return showcase ? overview.value + '/showcase' : false
32
+ })
33
+ const vs = computed(() => {
34
+ const vs = route.matched[0].meta.subpages.vs
35
+ return vs ? overview.value + '/vs' : false
36
+ })
37
+ const layoutMeta = computed({
38
+ get: () => store.state.layout.meta,
39
+ set: (value) => store.commit('layout/setMeta', value)
40
+ })
41
+ const main = computed(() => {
42
+ switch (store.state.page.relative) {
43
+ case '/showcase':
44
+ return 'showcase'
45
+ case '/vs':
46
+ return 'vs'
47
+ default:
48
+ return 'overview'
49
+ }
50
+ })
51
+
52
+ const toggleSectionsTree = () => {
53
+ layoutMeta.value = !layoutMeta.value
54
+ }
55
+
56
+ const pActive = (relative) => {
57
+ if (relative === '/' && (store.state.page.relative === relative || store.state.page.relative === '')) {
58
+ return 'active'
59
+ } else if (store.state.page.relative === relative) {
60
+ return 'active'
61
+ }
62
+ return null
63
+ }
64
+
65
+ const subroute = (to) => {
66
+ const base = '/' + store.state.page.base
67
+ const relative = store.state.page.relative
68
+ let path = base
69
+
70
+ if (to !== '/') {
71
+ path += to
72
+ }
73
+
74
+ if (relative === to) {
75
+ if (to !== '/showcase') {
76
+ return router.push({ hash: '#0' })
77
+ } else {
78
+ return router.push({ hash: '#1' })
79
+ }
80
+ }
81
+
82
+ router.push(path)
83
+ return true
84
+ }
85
+
86
+ const resetPageScroll = () => {
87
+ if (pageScrollArea.value !== null) {
88
+ pageScrollArea.value.setScrollPosition('vertical', 0, 0)
89
+ }
90
+ }
91
+
92
+ onMounted(() => {
93
+ router.beforeEach((to, from, next) => {
94
+ resetPageScroll()
95
+
96
+ if (to.hash === '' && from.path !== to.path) {
97
+ store.commit('page/resetAnchor')
98
+ store.commit('page/resetAnchors')
99
+ store.commit('page/resetNodes')
100
+ }
101
+
102
+ next()
103
+ })
104
+ })
105
+ </script>
106
+
107
+ <template>
108
+ <q-page-container id="page-container">
109
+ <q-toolbar id="submenu" class="bg-grey-8 text-white">
110
+ <q-toolbar-title class="toolbar-container">
111
+ <q-btn-group :class="$q.screen.lt.md ? 'mobile' : null">
112
+ <q-btn
113
+ v-if="overview && (showcase || vs)"
114
+ no-caps flat
115
+ :class="pActive('/overview')"
116
+ :label="$t('submenu.overview')" icon="pageview"
117
+ @click="subroute('/overview')"
118
+ />
119
+ <q-btn
120
+ v-if="showcase"
121
+ no-caps flat
122
+ :class="pActive('/showcase')"
123
+ :label="$t('submenu.showcase')" icon="play_circle_filled"
124
+ @click="subroute('/showcase')"
125
+ />
126
+ <q-btn
127
+ v-if="vs"
128
+ no-caps flat
129
+ :class="pActive('/vs')"
130
+ :label="$t('submenu.versus')" icon="compare"
131
+ @click="subroute('/vs')"
132
+ />
133
+ </q-btn-group>
134
+ </q-toolbar-title>
135
+ <q-btn @click="toggleSectionsTree" icon="account_tree" />
136
+ </q-toolbar>
137
+
138
+ <q-page id="page">
139
+ <q-scroll-area class="content" :class="main" ref="pageScrollArea">
140
+ <div id="scroll-container">
141
+ <slot />
142
+ </div>
143
+ <d-page-meta v-if="!disableNav" />
144
+ <q-scroll-observer @scroll="scrolling" :debounce="300" />
145
+ </q-scroll-area>
146
+ </q-page>
147
+
148
+ <q-drawer elevated show-if-above side="right" v-model="layoutMeta">
149
+ <d-page-anchor id="anchor" />
150
+ </q-drawer>
151
+ </q-page-container>
152
+ </template>
153
+
154
+ <style lang="sass">
155
+ #page-container
156
+ padding-bottom: 0 !important
157
+
158
+ .content,
159
+ .content > div.scroll
160
+ min-height: calc(100vh - 86px)
161
+
162
+ .content:not(.no-padding) > div.scroll > div.q-scrollarea__content
163
+ padding: 15px
164
+
165
+ #page
166
+ min-height: calc(100vh - 86px) !important
167
+
168
+ #scroll-container
169
+ max-width: 1200px
170
+ margin: auto
171
+
172
+ #submenu
173
+ min-height: 36px
174
+ padding: 0
175
+ box-shadow: 0 2px 4px -1px rgba(0,0,0,0.2), 0 4px 5px rgba(0,0,0,0.14), 0 1px 6px rgba(0,0,0,0.12)
176
+ overflow: visible
177
+
178
+ .on-left
179
+ margin-right: 5px
180
+ .toolbar-container
181
+ overflow: visible
182
+ .q-btn-group
183
+ box-shadow: none
184
+ &.mobile
185
+ .q-btn-inner
186
+ div
187
+ display: none
188
+ .q-btn-inner
189
+ .q-icon
190
+ margin: 0
191
+ div
192
+ &:not(.focus-helper)
193
+ margin-left: 6px
194
+
195
+ #submenu a,
196
+ #submenu button
197
+ border-radius: 0
198
+ padding: 6px 12px
199
+
200
+ // * Coloring
201
+ // Light
202
+ body.body--light
203
+ #submenu a.active,
204
+ #submenu button.active
205
+ background-color: #fff !important
206
+ color: #000
207
+ box-shadow: 0 10px 0 0 #fff
208
+ // Dark
209
+ body.body--dark
210
+ #submenu a.active,
211
+ #submenu button.active
212
+ background-color: var(--q-dark-page) !important
213
+ color: #fff
214
+ box-shadow: 0 10px 0 0 var(--q-dark-page)
215
+
216
+ body.mobile.body--dark
217
+ .q-drawer--right
218
+ background: rgba(18, 0, 0, 0.7)
219
+ body.mobile
220
+ .q-drawer--right
221
+ background: rgba(255, 255, 255, 0.7)
222
+ </style>
@@ -0,0 +1,123 @@
1
+ <script setup>
2
+ import { computed, onMounted, onBeforeUnmount } from 'vue'
3
+ import { useStore } from 'vuex'
4
+ import { useQuasar } from 'quasar'
5
+ import { useRoute } from "vue-router";
6
+
7
+ import useNavigator from 'src/composables/useNavigator'
8
+
9
+ const store = useStore()
10
+ const $q = useQuasar()
11
+ const route = useRoute()
12
+ const { navigate, anchor, selected: navigatorSelected } = useNavigator()
13
+
14
+ const nodes = computed(() => store.getters['page/nodes'])
15
+ const expanded = computed({
16
+ get() {
17
+ return store.getters['page/nodesExpanded']
18
+ },
19
+ set(value) {
20
+ // console.log(value)
21
+ }
22
+ })
23
+ const selected = computed({
24
+ get() {
25
+ let anchor = store.state.page.anchor
26
+
27
+ if (store.state.page.relative !== '' && anchor === 0) {
28
+ anchor = anchor + 1
29
+ }
30
+
31
+ return anchor
32
+ },
33
+ set(value) {
34
+ navigate(value)
35
+ }
36
+ })
37
+
38
+ navigatorSelected.value = selected.value
39
+
40
+ const stylize = computed(() => {
41
+ if ($q.platform.is.mobile && !$q.screen.lt.lg) {
42
+ return 'fixed'
43
+ } else {
44
+ return 'q-ma-xs'
45
+ }
46
+ })
47
+
48
+ onMounted(() => {
49
+ store.commit('layout/setMetaToggle', true)
50
+
51
+ setTimeout(() => {
52
+ store.commit('page/setScrolling', true)
53
+ }, 1000)
54
+
55
+ const id = route.hash.replace(/^#+/g, '')
56
+ if (id) {
57
+ setTimeout(() => {
58
+ anchor(id)
59
+ }, 500)
60
+ }
61
+ })
62
+
63
+ onBeforeUnmount(() => {
64
+ store.commit('layout/setMetaToggle', false)
65
+
66
+ store.commit('page/resetAnchor')
67
+ store.commit('page/resetAnchors')
68
+ store.commit('page/resetNodes')
69
+
70
+ store.commit('page/setScrolling', false)
71
+ })
72
+ </script>
73
+
74
+ <template>
75
+ <q-tree
76
+ v-model:selected="selected"
77
+ v-model:expanded="expanded"
78
+ default-expand-all
79
+ :class="stylize"
80
+ :nodes="nodes"
81
+ node-key="id"
82
+ >
83
+ <template v-slot:default-header="props">
84
+ <b v-if="props.node.label">{{ props.node.label }}</b>
85
+ <b v-else>{{ $t(`_.${$store.state.i18n.base}._`) }}</b>
86
+ </template>
87
+ </q-tree>
88
+ </template>
89
+
90
+ <style lang="sass">
91
+ #anchor
92
+ .q-tree
93
+ padding-top: 12px
94
+ width: 100%
95
+ .q-tree-node-header
96
+ margin: 0
97
+ border-radius: 0
98
+ b
99
+ font-size: 15px
100
+
101
+ body.body--light
102
+ #anchor
103
+ b
104
+ color: #1A496B
105
+
106
+ .q-tree__node-header
107
+ &.q-tree__node--selected
108
+ background-color: var(--q-primary)
109
+
110
+ b, i
111
+ color: white !important
112
+ body.body--dark
113
+ #anchor
114
+ b
115
+ color: #42B0FF
116
+
117
+ .q-tree__node-header
118
+ &.q-tree__node--selected
119
+ background-color: var(--q-primary)
120
+
121
+ b, i
122
+ color: white !important
123
+ </style>
@@ -0,0 +1,19 @@
1
+ <script setup>
2
+ // defineProps is a compiler macro in <script setup>, no import needed
3
+
4
+ const props = defineProps({
5
+ message: {
6
+ type: String,
7
+ default: ''
8
+ }
9
+ })
10
+ </script>
11
+
12
+ <template>
13
+ <blockquote>
14
+ <strong v-if="message === 'important'">Important</strong>
15
+ <strong v-else-if="message === 'warning'">Warning</strong>
16
+ <strong v-else-if="message === 'note'">Note</strong>
17
+ <slot />
18
+ </blockquote>
19
+ </template>
@@ -0,0 +1,203 @@
1
+ <script setup>
2
+ import { computed } from 'vue'
3
+ import { useRoute, useRouter } from 'vue-router'
4
+ import { useStore } from 'vuex'
5
+ import { openURL } from 'quasar'
6
+ import { useI18n } from 'vue-i18n'
7
+
8
+ import docsectorConfig from 'docsector.config.js'
9
+
10
+ const store = useStore()
11
+ const route = useRoute()
12
+ const router = useRouter()
13
+ const { t, locale, availableLocales, te, tm } = useI18n()
14
+
15
+ const base = docsectorConfig.github?.editBaseUrl || ''
16
+
17
+ const status = computed(() => route.meta.status)
18
+ const URL = computed(() => {
19
+ const path = route.path.replace(/\/([^/]*)$/, '.$1')
20
+ return `${base}${path}.${locale.value}.md`
21
+ })
22
+ const color = computed(() => {
23
+ if (status.value === 'done') {
24
+ return 'white'
25
+ } else if (status.value === 'draft') {
26
+ return 'warning'
27
+ } else {
28
+ return 'red-6'
29
+ }
30
+ })
31
+ const icon = computed(() => {
32
+ if (status.value === 'done') {
33
+ return 'edit'
34
+ } else if (status.value === 'draft') {
35
+ return 'border_color'
36
+ } else {
37
+ return 'note_add'
38
+ }
39
+ })
40
+
41
+ const progress = computed(() => {
42
+ const i18nPathAbsolute = store.state.i18n.absolute
43
+
44
+ if (!i18nPathAbsolute) {
45
+ return '?%'
46
+ }
47
+
48
+ const defaultLang = docsectorConfig.defaultLanguage || 'en-US'
49
+ const currentLang = locale.value
50
+
51
+ // Count headers (## and ###) in the default language source
52
+ const defaultSourcePath = `_.${i18nPathAbsolute}.source`
53
+ const defaultSource = te(defaultSourcePath, defaultLang) ? tm(defaultSourcePath, defaultLang) : ''
54
+
55
+ if (!defaultSource || typeof defaultSource !== 'string') {
56
+ return '?%'
57
+ }
58
+
59
+ const headerRegex = /^#{2,6}\s+.+/gm
60
+ const defaultHeaders = (defaultSource.match(headerRegex) || []).length
61
+
62
+ if (defaultHeaders === 0) {
63
+ return '100%'
64
+ }
65
+
66
+ // If current lang is the default, progress is always 100%
67
+ if (currentLang === defaultLang) {
68
+ return '100%'
69
+ }
70
+
71
+ // Count headers in the current language source
72
+ const currentSource = te(defaultSourcePath, currentLang) ? tm(defaultSourcePath, currentLang) : ''
73
+
74
+ if (!currentSource || typeof currentSource !== 'string') {
75
+ return '0%'
76
+ }
77
+
78
+ const currentHeaders = (currentSource.match(headerRegex) || []).length
79
+ const percent = Math.min(100, Math.floor((currentHeaders / defaultHeaders) * 100))
80
+
81
+ return `${percent}%`
82
+ })
83
+
84
+ const languages = computed(() => {
85
+ const i18nPathAbsolute = store.state.i18n.absolute
86
+ const translations = `_.${i18nPathAbsolute}._translations`
87
+ const i18nLocales = availableLocales
88
+ let fallbackLastUpdated = null
89
+
90
+ if (te(translations, 'en-US')) {
91
+ fallbackLastUpdated = tm(translations, 'en-US')
92
+ }
93
+
94
+ let i18nLocalesAvailable = 0
95
+ if (fallbackLastUpdated) {
96
+ for (let i = 0; i < i18nLocales.length; i++) {
97
+ if (t(translations, i18nLocales[i]) !== fallbackLastUpdated) {
98
+ i18nLocalesAvailable++
99
+ }
100
+ }
101
+ } else {
102
+ i18nLocalesAvailable = 1
103
+ }
104
+
105
+ return `${i18nLocalesAvailable}/${i18nLocales.length}`
106
+ })
107
+
108
+ const prev = computed(() => {
109
+ const base = store.state.page.base
110
+ const routes = router.options.routes.slice(0, -2)
111
+
112
+ for (let i = 0; i < routes.length; i++) {
113
+ if ('/' + base === routes[i].path) {
114
+ if (i > 0) {
115
+ return routes[i - 1].path
116
+ }
117
+ }
118
+ }
119
+
120
+ return ''
121
+ })
122
+
123
+ const next = computed(() => {
124
+ const base = store.state.page.base
125
+ const routes = router.options.routes.slice(0, -2)
126
+
127
+ for (let i = 0; i < routes.length; i++) {
128
+ if ('/' + base === routes[i].path) {
129
+ if (typeof routes[i + 1] !== 'undefined') {
130
+ return routes[i + 1].path
131
+ }
132
+ }
133
+ }
134
+
135
+ return ''
136
+ })
137
+ </script>
138
+
139
+ <template>
140
+ <div id="d-page-meta">
141
+ <div class="row justify-between q-mt-lg">
142
+ <div id="d-page-edit" class="col">
143
+ <q-btn dense no-caps text-color="black" :color="color" @click="openURL(URL)" aria-label="Edit page on Github">
144
+ <q-icon class="q-mr-xs" name="fab fa-github" size="20px" />
145
+ <span class="hm" v-if="status === 'done'">{{ $t('page.edit.github.edit') }}</span>
146
+ <span class="hm" v-else-if="status === 'draft'">{{ $t('page.edit.github.complete') }}</span>
147
+ <span class="hm" v-else-if="status === 'empty'">{{ $t('page.edit.github.start') }}</span>
148
+ </q-btn>
149
+ </div>
150
+ <div id="d-page-translation" class="col-auto">
151
+ <q-chip class="languages-progress q-mr-xs q-ml-none" dense square>
152
+ <q-icon class="q-mr-xs" name="translate" size="20px" />
153
+ <span>{{ $i18n.locale }}:<b>{{ ' ' + progress }}</b></span>
154
+ <q-tooltip anchor="top middle" self="bottom middle" :offset="[10, 10]">{{ $t('page.edit.progress') }}</q-tooltip>
155
+ </q-chip>
156
+
157
+ <q-chip class="languages-available q-ma-none" dense square>
158
+ <q-icon class="q-mr-xs" name="language" size="20px" />
159
+ <span>{{ '#' + languages }}</span>
160
+ <q-tooltip anchor="top end" self="bottom end" :offset="[10, 10]">{{ $t('page.edit.translations') }}</q-tooltip>
161
+ </q-chip>
162
+ </div>
163
+ </div>
164
+
165
+ <nav id="d-page-nav" class="row">
166
+ <router-link class="link col" v-if="prev" :to="`${prev}/overview`">
167
+ <div class="text-caption">{{ $t('page.nav.prev') }}</div>
168
+ <q-icon name="navigate_before" />
169
+ <span>{{ $t(`_${prev.replace(/_$/, '').replace(/\//g, '.')}._`) }}</span>
170
+ </router-link>
171
+ <router-link class="link col" v-if="next" :to="`${next}/overview`">
172
+ <div class="text-caption">{{ $t('page.nav.next') }}</div>
173
+ <span>{{ $t(`_${next.replace(/_$/, '').replace(/\//g, '.')}._`) }}</span>
174
+ <q-icon name="navigate_next" />
175
+ </router-link>
176
+ </nav>
177
+ </div>
178
+ </template>
179
+
180
+ <style lang="sass">
181
+ #d-page-meta
182
+ max-width: 1200px
183
+ display: block
184
+ width: 100%
185
+ min-height: 36px
186
+ margin: 24px auto 40px auto
187
+ border-top: 3px solid #e0e0e0
188
+
189
+ #d-page-translation
190
+ .q-chip
191
+ padding: 16px 0.4em
192
+ margin-top: 0
193
+ margin-bottom: 0
194
+
195
+ #d-page-nav
196
+ &:first-child
197
+ margin-top: calc(100vh - 200px)
198
+
199
+ .link
200
+ margin-top: 20px
201
+ border: 1px solid #e0e0e0
202
+ padding: 15px !important
203
+ </style>