From 4f697e33e76b2e6fa8a95d4a72aca68851124840 Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Sun, 31 Jul 2022 17:38:36 +0800 Subject: [PATCH] chore: use @halo-dev/astro-halo-theme-integration package Signed-off-by: Ryan Wang --- astro.config.mjs | 62 +-------------------------- package.json | 4 +- pnpm-lock.yaml | 101 +++----------------------------------------- templates/post.html | 2 +- 4 files changed, 11 insertions(+), 158 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index 6ee1eb7..8e9525c 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,58 +1,11 @@ import { defineConfig } from "astro/config"; import vue from "@astrojs/vue"; import tailwind from "@astrojs/tailwind"; -import fs from "fs"; -import { load } from "cheerio"; - -function thymeleafAssetsProcessor() { - return { - name: "thymeleaf-assets-processor", - hooks: { - "astro:build:done": async ({ dir, routes, pages }) => { - const pageRoutes = routes.filter((route) => route.type === "page"); - - for (let i = 0; i < pageRoutes.length; i++) { - const route = pageRoutes[i]; - - const pathname = route.distURL?.pathname; - - const inputHTML = await fs.promises.readFile(pathname, { - encoding: "utf-8", - }); - - const $ = load(inputHTML); - - $("link").each((_, el) => { - const href = $(el).attr("href"); - - if (href.startsWith("/assets")) { - $(el).attr("th:href", `@{${href}}`); - } - }); - - $("astro-island").each((_, el) => { - const componentUrl = $(el).attr("component-url"); - const rendererUrl = $(el).attr("renderer-url"); - - if (componentUrl && componentUrl.startsWith("/assets")) { - $(el).attr("th:component-url", `@{${componentUrl}}`); - } - - if (rendererUrl && rendererUrl.startsWith("/assets")) { - $(el).attr("th:renderer-url", `@{${rendererUrl}}`); - } - }); - - await fs.promises.writeFile(pathname, $.html()); - } - }, - }, - }; -} +import astroHaloThemeIntegration from "@halo-dev/astro-halo-theme-integration"; // https://astro.build/config export default defineConfig({ - integrations: [vue(), tailwind(), thymeleafAssetsProcessor()], + integrations: [vue(), tailwind(), astroHaloThemeIntegration()], outDir: "./templates", build: { format: "file", @@ -60,15 +13,4 @@ export default defineConfig({ server: { port: 4000, }, - vite: { - build: { - rollupOptions: { - output: { - entryFileNames: "assets/[name].[hash].js", - chunkFileNames: "assets/chunks/[name].[hash].js", - assetFileNames: "assets/[name].[hash][extname]", - }, - }, - }, - }, }); diff --git a/package.json b/package.json index 7d3a46f..0dc5009 100644 --- a/package.json +++ b/package.json @@ -17,12 +17,12 @@ "@vue/eslint-config-typescript": "^11.0.0", "@vue/tsconfig": "^0.1.3", "astro": "^1.0.0-rc.2", - "cheerio": "1.0.0-rc.12", "eslint": "^8.20.0", "eslint-plugin-vue": "^9.3.0", "prettier": "^2.7.1", "prettier-plugin-tailwindcss": "^0.1.13", - "vue": "^3.2.37" + "vue": "^3.2.37", + "@halo-dev/astro-halo-theme-integration": "^0.0.1" }, "dependencies": { "@headlessui/vue": "^1.6.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6abb1ce..c15d119 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,6 +3,7 @@ lockfileVersion: 5.4 specifiers: '@astrojs/tailwind': ^0.2.5 '@astrojs/vue': ^0.5.0 + '@halo-dev/astro-halo-theme-integration': ^0.0.1 '@headlessui/vue': ^1.6.7 '@rushstack/eslint-patch': ^1.1.4 '@types/node': '16' @@ -10,7 +11,6 @@ specifiers: '@vue/eslint-config-typescript': ^11.0.0 '@vue/tsconfig': ^0.1.3 astro: ^1.0.0-rc.2 - cheerio: 1.0.0-rc.12 dayjs: ^1.11.4 eslint: ^8.20.0 eslint-plugin-vue: ^9.3.0 @@ -25,13 +25,13 @@ dependencies: devDependencies: '@astrojs/tailwind': 0.2.5 '@astrojs/vue': 0.5.0_vue@3.2.37 + '@halo-dev/astro-halo-theme-integration': 0.0.1 '@rushstack/eslint-patch': 1.1.4 '@types/node': 16.11.46 '@vue/eslint-config-prettier': 7.0.0_vvfpqh5kol6rhqy7beehv5uezq '@vue/eslint-config-typescript': 11.0.0_bu6pzweaepnqqz4ai64ugihjt4 '@vue/tsconfig': 0.1.3_@types+node@16.11.46 astro: 1.0.0-rc.2 - cheerio: 1.0.0-rc.12 eslint: 8.20.0 eslint-plugin-vue: 9.3.0_eslint@8.20.0 prettier: 2.7.1 @@ -420,6 +420,10 @@ packages: - supports-color dev: true + /@halo-dev/astro-halo-theme-integration/0.0.1: + resolution: {integrity: sha512-8ZIDOjyvbs9BhDPlOGyvNk7eCrEniGBcuF/5ZZh/8pYwym61UB/nuLmpfdqI92AQ/2CPLRpGqm/o9xxYdhwbHw==} + dev: true + /@headlessui/vue/1.6.7_vue@3.2.37: resolution: {integrity: sha512-5sTCBpkUoFE7zhANn/6Z+pf3PUA7MD6BBaTsJcQybq9E4fnNiMM9agOJI9meXbtcawE6Dm8EeB5A8HAJEnZCbQ==} engines: {node: '>=10'} @@ -1231,30 +1235,6 @@ packages: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} dev: true - /cheerio-select/2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - dependencies: - boolbase: 1.0.0 - css-select: 5.1.0 - css-what: 6.1.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.0.1 - dev: true - - /cheerio/1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.0.1 - htmlparser2: 8.0.1 - parse5: 7.0.0 - parse5-htmlparser2-tree-adapter: 7.0.0 - dev: true - /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -1344,21 +1324,6 @@ packages: which: 2.0.2 dev: true - /css-select/5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.0.1 - nth-check: 2.1.1 - dev: true - - /css-what/6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - dev: true - /cssesc/3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -1464,33 +1429,6 @@ packages: esutils: 2.0.3 dev: true - /dom-serializer/2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.3.1 - dev: true - - /domelementtype/2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: true - - /domhandler/5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - dev: true - - /domutils/3.0.1: - resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - dev: true - /dset/3.1.2: resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} engines: {node: '>=4'} @@ -1519,11 +1457,6 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /entities/4.3.1: - resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==} - engines: {node: '>=0.12'} - dev: true - /eol/0.9.1: resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==} dev: true @@ -2399,15 +2332,6 @@ packages: resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} dev: true - /htmlparser2/8.0.1: - resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.0.1 - entities: 4.3.1 - dev: true - /human-signals/3.0.1: resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} engines: {node: '>=12.20.0'} @@ -3511,23 +3435,10 @@ packages: unist-util-visit-children: 1.1.4 dev: true - /parse5-htmlparser2-tree-adapter/7.0.0: - resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} - dependencies: - domhandler: 5.0.3 - parse5: 7.0.0 - dev: true - /parse5/6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true - /parse5/7.0.0: - resolution: {integrity: sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==} - dependencies: - entities: 4.3.1 - dev: true - /path-browserify/1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: true diff --git a/templates/post.html b/templates/post.html index 6b5535b..1fb15cc 100644 --- a/templates/post.html +++ b/templates/post.html @@ -10,7 +10,7 @@ Post Links -
+
Hello Halo