diff --git a/package-lock.json b/package-lock.json index ed710f7..340742f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,10 +29,10 @@ "@astrojs/check": "^0.9.4", "@biomejs/biome": "^1.9.4", "@napi-rs/canvas": "^0.1.65", - "@shikijs/transformers": "^1.25.1", - "@types/lodash": "^4.17.13", + "@shikijs/transformers": "^1.26.1", + "@types/lodash": "^4.17.14", "@types/luxon": "^3.4.2", - "@types/node": "^22.10.4", + "@types/node": "^22.10.5", "@types/pg": "^8.11.10", "@types/qrcode-svg": "^1.1.5", "@types/unist": "^3.0.3", @@ -2030,82 +2030,82 @@ ] }, "node_modules/@shikijs/core": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.25.1.tgz", - "integrity": "sha512-0j5k3ZkLTQViOuNzPVyWGoW1zgH3kiFdUT/JOCkTm7TU74mz+dF+NID+YoiCBzHQxgsDpcGYPjKDJRcuVLSt4A==", + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.26.1.tgz", + "integrity": "sha512-yeo7sG+WZQblKPclUOKRPwkv1PyoHYkJ4gP9DzhFJbTdueKR7wYTI1vfF/bFi1NTgc545yG/DzvVhZgueVOXMA==", "license": "MIT", "dependencies": { - "@shikijs/engine-javascript": "1.25.1", - "@shikijs/engine-oniguruma": "1.25.1", - "@shikijs/types": "1.25.1", - "@shikijs/vscode-textmate": "^9.3.1", + "@shikijs/engine-javascript": "1.26.1", + "@shikijs/engine-oniguruma": "1.26.1", + "@shikijs/types": "1.26.1", + "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "node_modules/@shikijs/engine-javascript": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.25.1.tgz", - "integrity": "sha512-zQ7UWKnRCfD/Q1M+XOSyjsbhpE0qv8LUnmn82HYCeOsgAHgUZGEDIQ63bbuK3kU5sQg+2CtI+dPfOqD/mjSY9w==", + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.26.1.tgz", + "integrity": "sha512-CRhA0b8CaSLxS0E9A4Bzcb3LKBNpykfo9F85ozlNyArxjo2NkijtiwrJZ6eHa+NT5I9Kox2IXVdjUsP4dilsmw==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.25.1", - "@shikijs/vscode-textmate": "^9.3.1", + "@shikijs/types": "1.26.1", + "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "0.10.0" } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.25.1.tgz", - "integrity": "sha512-iKPMh3H+0USHtWfZ1irfMTH6tGmIUFSnqt3E2K8BgI1VEsqiPh0RYkG2WTwzNiM1/WHN4FzYx/nrKR7PDHiRyw==", + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.26.1.tgz", + "integrity": "sha512-F5XuxN1HljLuvfXv7d+mlTkV7XukC1cawdtOo+7pKgPD83CAB1Sf8uHqP3PK0u7njFH0ZhoXE1r+0JzEgAQ+kg==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.25.1", - "@shikijs/vscode-textmate": "^9.3.1" + "@shikijs/types": "1.26.1", + "@shikijs/vscode-textmate": "^10.0.1" } }, "node_modules/@shikijs/langs": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-1.25.1.tgz", - "integrity": "sha512-hdYjq9aRJplAzGe2qF51PR9IDgEoyGb4IkXvr3Ts6lEdg4Z8M/kdknKRo2EIuv3IR/aKkJXTlBQRM+wr3t20Ew==", + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-1.26.1.tgz", + "integrity": "sha512-oz/TQiIqZejEIZbGtn68hbJijAOTtYH4TMMSWkWYozwqdpKR3EXgILneQy26WItmJjp3xVspHdiUxUCws4gtuw==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.25.1" + "@shikijs/types": "1.26.1" } }, "node_modules/@shikijs/themes": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.25.1.tgz", - "integrity": "sha512-JO0lDn4LgGqg5QKvgich5ScUmC2okK+LxM9a3iLUH7YMeI2c8UGXThuJv6sZduS7pdJbYQHPrvWq9t/V4GhpbQ==", + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.26.1.tgz", + "integrity": "sha512-JDxVn+z+wgLCiUhBGx2OQrLCkKZQGzNH3nAxFir4PjUcYiyD8Jdms9izyxIogYmSwmoPTatFTdzyrRKbKlSfPA==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.25.1" + "@shikijs/types": "1.26.1" } }, "node_modules/@shikijs/transformers": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.25.1.tgz", - "integrity": "sha512-uIwVJk9NnoHtEyF0zeL6kDygNh1FDkFXJvKOGieiilS1qa8KHtOwG2hGYOLkFjd2FRMhZSJKjOC94PCzY5xR+w==", + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.26.1.tgz", + "integrity": "sha512-IRLJEP7YxkRMsHo367+7qDlpWjsUu6O79pdlUlkcbF1A5TrF1Ln0FBNrgHA/i9p+IKXiiKNATURa6WXh3iq7Uw==", "dev": true, "license": "MIT", "dependencies": { - "shiki": "1.25.1" + "shiki": "1.26.1" } }, "node_modules/@shikijs/types": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.25.1.tgz", - "integrity": "sha512-dceqFUoO95eY4tpOj3OGq8wE8EgJ4ey6Me1HQEu5UbwIYszFndEll/bjlB8Kp9wl4fx3uM7n4+y9XCYuDBmcXA==", + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.26.1.tgz", + "integrity": "sha512-d4B00TKKAMaHuFYgRf3L0gwtvqpW4hVdVwKcZYbBfAAQXspgkbWqnFfuFl3MDH6gLbsubOcr+prcnsqah3ny7Q==", "license": "MIT", "dependencies": { - "@shikijs/vscode-textmate": "^9.3.1", + "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "node_modules/@shikijs/vscode-textmate": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.1.tgz", - "integrity": "sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.1.tgz", + "integrity": "sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==", "license": "MIT" }, "node_modules/@types/acorn": { @@ -2157,9 +2157,9 @@ } }, "node_modules/@types/lodash": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", - "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-jsxagdikDiDBeIRaPYtArcT8my4tN1og7MtMRquFT3XNA6axxyHDRUemqDz/taRDdOUn0GnGHRCuff4q48sW9A==", "dev": true, "license": "MIT" }, @@ -2201,9 +2201,9 @@ } }, "node_modules/@types/node": { - "version": "22.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.4.tgz", - "integrity": "sha512-99l6wv4HEzBQhvaU/UGoeBoCK61SCROQaCCGyQSgX2tEQ3rKkNZ2S7CEWnS/4s1LV+8ODdK21UeyR1fHP2mXug==", + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", + "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", "devOptional": true, "license": "MIT", "dependencies": { @@ -4001,9 +4001,9 @@ } }, "node_modules/hast-util-to-estree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", - "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.1.tgz", + "integrity": "sha512-IWtwwmPskfSmma9RpzCappDUitC8t5jhAynHhc1m2+5trOgsrp7txscUSavc5Ic8PATyAjfrCK1wgtxh2cICVQ==", "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", @@ -4019,7 +4019,7 @@ "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", + "style-to-object": "^1.0.0", "unist-util-position": "^5.0.0", "zwitch": "^2.0.0" }, @@ -4028,21 +4028,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", - "license": "MIT" - }, - "node_modules/hast-util-to-estree/node_modules/style-to-object": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", - "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, "node_modules/hast-util-to-html": { "version": "9.0.4", "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.4.tgz", @@ -4624,9 +4609,9 @@ } }, "node_modules/mdast-util-find-and-replace": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", - "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", @@ -7189,18 +7174,18 @@ } }, "node_modules/shiki": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.25.1.tgz", - "integrity": "sha512-/1boRvNYwRW3GLG9Y6dXdnZ/Ha+J5T/5y3hV7TGQUcDSBM185D3FCbXlz2eTGNKG2iWCbWqo+P0yhGKZ4/CUrw==", + "version": "1.26.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.26.1.tgz", + "integrity": "sha512-Gqg6DSTk3wYqaZ5OaYtzjcdxcBvX5kCy24yvRJEgjT5U+WHlmqCThLuBUx0juyxQBi+6ug53IGeuQS07DWwpcw==", "license": "MIT", "dependencies": { - "@shikijs/core": "1.25.1", - "@shikijs/engine-javascript": "1.25.1", - "@shikijs/engine-oniguruma": "1.25.1", - "@shikijs/langs": "1.25.1", - "@shikijs/themes": "1.25.1", - "@shikijs/types": "1.25.1", - "@shikijs/vscode-textmate": "^9.3.1", + "@shikijs/core": "1.26.1", + "@shikijs/engine-javascript": "1.26.1", + "@shikijs/engine-oniguruma": "1.26.1", + "@shikijs/langs": "1.26.1", + "@shikijs/themes": "1.26.1", + "@shikijs/types": "1.26.1", + "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, diff --git a/package.json b/package.json index 9587d97..807da1a 100644 --- a/package.json +++ b/package.json @@ -62,10 +62,10 @@ "@astrojs/check": "^0.9.4", "@biomejs/biome": "^1.9.4", "@napi-rs/canvas": "^0.1.65", - "@shikijs/transformers": "^1.25.1", - "@types/lodash": "^4.17.13", + "@shikijs/transformers": "^1.26.1", + "@types/lodash": "^4.17.14", "@types/luxon": "^3.4.2", - "@types/node": "^22.10.4", + "@types/node": "^22.10.5", "@types/pg": "^8.11.10", "@types/qrcode-svg": "^1.1.5", "@types/unist": "^3.0.3", diff --git a/public/images/2025/01/2025010422014800.jpg b/public/images/2025/01/2025010422014800.jpg new file mode 100644 index 0000000..9ecc692 Binary files /dev/null and b/public/images/2025/01/2025010422014800.jpg differ diff --git a/public/images/2025/01/2025010422201000.jpg b/public/images/2025/01/2025010422201000.jpg new file mode 100644 index 0000000..2091f8b Binary files /dev/null and b/public/images/2025/01/2025010422201000.jpg differ diff --git a/public/images/2025/01/2025010422201900.jpg b/public/images/2025/01/2025010422201900.jpg new file mode 100644 index 0000000..947a0d1 Binary files /dev/null and b/public/images/2025/01/2025010422201900.jpg differ diff --git a/public/images/2025/01/2025010422203000.jpg b/public/images/2025/01/2025010422203000.jpg new file mode 100644 index 0000000..9a5d70a Binary files /dev/null and b/public/images/2025/01/2025010422203000.jpg differ diff --git a/src/content/posts/2025/2025-01-04-stop-publication-of-hard-copy-journal.mdx b/src/content/posts/2025/2025-01-04-stop-publication-of-hard-copy-journal.mdx new file mode 100644 index 0000000..befe3a7 --- /dev/null +++ b/src/content/posts/2025/2025-01-04-stop-publication-of-hard-copy-journal.mdx @@ -0,0 +1,34 @@ +--- +title: 消失的文学杂志 +slug: stop-publication-of-hard-copy-journal +date: 2025-01-04 21:49:32 +updated: 2025-01-04 21:57:21 +tags: + - 随感 + - 读书 +category: 文章 +summary: 悼念这一报两刊的停刊,缅怀它们曾带来的愉悦与思考,但文学本身不会“停刊”。愿文学继续照亮我们的生命与灵魂。 +cover: /images/2025/01/2025010422014800.jpg +--- + +![海へ、ふたたび - やじるし](/images/2025/01/2025010422201000.jpg) + + + +继《文学报》停刊之后,《书城》杂志也宣布休刊,而《上海文化》也已无法订阅。这一报两刊作为上海文学的重镇,自创刊至今已逾四十年,遗憾未能挺过 2025 年的新年钟声。我是它们的读者,21 年开始居家办公后,逐渐养成订阅的习惯。每周四下午到小区门卫取《文学报》,内心充满欣慰。在这个纸质书逐渐淡出日常的当下,一份文学报显得如此珍贵且不合时宜,而它坚持到了今天,我倍感欣慰。 + +《书城》以各类知识性的随笔散文见长,是我每年都珍藏的杂志。与《读书》和《读库》相比,它更注重趣味性,随笔体的风格读来令人愉悦。而《上海文化》则是我心中极为敬重的纯文学评论杂志,聚焦当代文学,尤其对新人的关注令人钦佩,远胜《小说评论》。其编辑张定浩、黄德海等人以开放多元的文学趣味,不断捕捉文坛动态,在批评与理论中别具一格,展现了鲜明的海派风格。 + +一报两刊的停刊,昭示着纯文学市场的进一步萎缩,以及电子化阅读的全面普及。作为纸质书的爱好者,我或许正成为时代中的少数派。资讯的发达与文学阅读的无纸化已是大势所趋,这并非悲哀,而是现实。毕竟,如今的读物不是稀缺,而是过剩。报刊杂志塑造了我们对文学的理解,甚至激发了读者的创作冲动。 + +![境界 - やじるし](/images/2025/01/2025010422201900.jpg) + +当文学以物质形态退出生活,是否意味着文学已无处不在?《文学报》虽然不复存在,但文学依然延续,只不过转移到了手机等电子设备上。这种转移将塑造出怎样的文学形式,我难以预料。纸质书与报刊的存在,带给人们沉浸与珍视,而在屏幕上的滑动与点击却容易使人匆匆掠过。尽管信息更加丰富,但信息的过载是否也成了一种压迫?纸质文学的舒朗与留白,像有规律的饮食,是否更有助于心灵的平静与滋养?我不得而知。 + +今天的人们在现代生活中奔波忙碌,留给纯文学的时间愈发稀少。20 年前,或许因经济拮据无法购书,而如今在电子化时代,图书种类繁多且获取便捷,却反而有人不再阅读。时代的错位让我们跳过了一些东西,这种改变究竟是好是坏,我无从判断。 + +悼念这一报两刊的停刊,缅怀它们曾带来的愉悦与思考,但文学本身不会“停刊”。 + +愿文学继续照亮我们的生命与灵魂。 + +![Look book - やじるし](/images/2025/01/2025010422203000.jpg)