diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 5c5bb8f..0000000 --- a/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -dist -node_modules -.github \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 7af3aa9..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,72 +0,0 @@ -module.exports = { - env: { - node: true, - es2022: true, - browser: true, - }, - extends: ['eslint:recommended', 'plugin:astro/recommended'], - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - }, - rules: { - // General best practices - 'no-console': ['warn', { allow: ['warn', 'error'] }], - 'no-debugger': 'warn', - 'prefer-const': 'error', - 'no-var': 'error', - }, - overrides: [ - { - files: ['*.js'], - rules: { - 'no-mixed-spaces-and-tabs': ['error', 'smart-tabs'], - }, - }, - { - files: ['*.astro'], - parser: 'astro-eslint-parser', - parserOptions: { - parser: '@typescript-eslint/parser', - extraFileExtensions: ['.astro'], - }, - rules: { - 'no-mixed-spaces-and-tabs': ['error', 'smart-tabs'], - }, - }, - { - files: ['*.ts', '*.tsx'], - parser: '@typescript-eslint/parser', - extends: ['plugin:@typescript-eslint/recommended'], - rules: { - // TypeScript specific rules - '@typescript-eslint/no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - destructuredArrayIgnorePattern: '^_', - }, - ], - '@typescript-eslint/no-explicit-any': 'warn', - '@typescript-eslint/no-non-null-assertion': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/prefer-optional-chain': 'error', - '@typescript-eslint/prefer-nullish-coalescing': 'warn', - '@typescript-eslint/no-unnecessary-condition': 'warn', - - // Code quality - 'no-console': ['warn', { allow: ['warn', 'error'] }], - 'prefer-const': 'error', - 'no-var': 'error', - }, - }, - { - // Define the configuration for ` diff --git a/src/components/widgets/FAQs.astro b/src/components/widgets/FAQs.astro index f6b45f8..cdf1c85 100644 --- a/src/components/widgets/FAQs.astro +++ b/src/components/widgets/FAQs.astro @@ -5,61 +5,68 @@ import { ScrollReveal } from '~/components/ui/cyber'; const items = [ [ { - question: '猫头鹰实验室对参与者有什么要求吗?', - answer: `猫头鹰实验室强调开放性,不设学业门槛,不要求前置知识。只要你有好奇心、有想法、有问题,就欢迎参与。我们相信每个人都有创新的潜力。`, + questionKey: 'faq.q1', + answerKey: 'faq.a1', }, { - question: '实验室的课程体系是如何设置的?', - answer: `我们采用进阶分级课程体系:B0级"科研探索"侧重兴趣激发;B1级"科研体验"让学生体验完整科研流程;B2级"科研挑战"面对真实前沿问题;B3级"长期研究项目"开展深度研究。这种阶梯式设计尊重学生的个体差异,提供清晰的成长路径。`, + questionKey: 'faq.q2', + answerKey: 'faq.a2', }, { - question: '猫头鹰实验室与传统实验室有什么不同?', - answer: `与传统专业实验室不同,猫头鹰实验室强调开放、包容、跨学科融合。我们没有严格的门槛,鼓励"天马行空"的想法,包容失败,重视探索过程胜过最终结果。同一空间内可能有学生在编程、做生物实验、设计艺术装置。`, + questionKey: 'faq.q3', + answerKey: 'faq.a3', }, ], [ { - question: '如何评价学生在实验室的表现?', - answer: `我们采用多维人才评价模型,不仅看最终成果,更关注学生在探究过程中展现的好奇心、坚韧性、创造力、协作能力、反思能力等多个维度。我们认为创新人才的特质是多元的,避免单一标准。`, + questionKey: 'faq.q4', + answerKey: 'faq.a4', }, { - question: '实验室对失败的态度是什么?', - answer: `在猫头鹰实验室,失败也可以获得勋章!失败意味着你敢于尝试、勇于探索。这种包容失败的文化对于培养学生的创新精神和坚毅品质至关重要。我们相信,创新往往诞生于多次尝试和失败之后。`, + questionKey: 'faq.q5', + answerKey: 'faq.a5', }, { - question: '如何加入猫头鹰实验室?', - answer: `欢迎联系我们!目前我们在深圳坪山、深圳南山、清华大学设有空间。具体参与方式和项目信息,请通过我们的官方渠道联系,我们会根据你的兴趣和背景提供相应的参与机会。`, + questionKey: 'faq.q6', + answerKey: 'faq.a6', }, ], ]; --- -
+
-
-

+
+

常见问题

-
+
{ items.map((subitems, colIndex) => (
- {subitems.map(({ question, answer }, itemIndex) => ( + {subitems.map(({ questionKey, answerKey }, itemIndex) => ( -
-

- - {question} +

+

+ +

-
- {answer.split('\n\n').map((paragraph) => ( -

- ))} +

+

diff --git a/src/components/widgets/Features2.astro b/src/components/widgets/Features2.astro index 5333339..61bd2ba 100644 --- a/src/components/widgets/Features2.astro +++ b/src/components/widgets/Features2.astro @@ -5,56 +5,54 @@ const items = [ { titleKey: 'pillars.curriculum.title', descKey: 'pillars.curriculum.desc', - titleDefault: '进阶研究分级课程体系', - descDefault: 'B0科研探索、B1科研体验、B2科研挑战、B3长期研究项目。阶梯式设计既尊重学生的个体差异,也为他们提供了清晰的成长路径。', icon: 'flat-color-icons:graduation-cap', }, { titleKey: 'pillars.evaluation.title', descKey: 'pillars.evaluation.desc', - titleDefault: '多维人才评价模型', - descDefault: '打破单一标准的束缚,关注学生在探究过程中展现的好奇心、坚韧性、创造力、协作能力、反思能力等多个维度。', icon: 'flat-color-icons:multiple-inputs', }, { titleKey: 'pillars.teacher.title', descKey: 'pillars.teacher.desc', - titleDefault: '创新师资培训体系', - descDefault: '通过参与式行动研究(PAR)培训教师,让他们从"答案贩卖机"转变为"想象力守护者",从知识权威转变为学生的"共同研究者"。', icon: 'flat-color-icons:conference-call', }, { titleKey: 'pillars.space.title', descKey: 'pillars.space.desc', - titleDefault: '数字与物理空间融合', - descDefault: '物理空间采用"去中心化"设计,配合在线协作平台、知识库、项目管理工具,创造出一种既有温度又有效率的创新场域。', icon: 'flat-color-icons:business-contact', }, ]; ---
- -
+ +
-

培养体系

-

- 四大支柱体系 +

+

+

-

- 经过多年实践,形成了一套系统性的创新人才培养体系,四大支柱相互支撑、协同发力 +

-
+
{ - items.map(({ titleKey, descKey, titleDefault, descDefault, icon }) => ( -
-
- -
{titleDefault}
+ items.map(({ titleKey, descKey, icon }) => ( +
+
+ +
-

{descDefault}

+

)) } diff --git a/src/components/widgets/Header.astro b/src/components/widgets/Header.astro index b5a7feb..00a4ec3 100644 --- a/src/components/widgets/Header.astro +++ b/src/components/widgets/Header.astro @@ -9,10 +9,10 @@ import { getHomePermalink, getBlogPermalink, getPermalink } from '~/utils/permal ---