diff --git a/src/content/posts/whats-new-in-flutter-3-24.md b/src/content/posts/whats-new-in-flutter-3-24.md index a3fdb4d56f..6c6f374ea0 100644 --- a/src/content/posts/whats-new-in-flutter-3-24.md +++ b/src/content/posts/whats-new-in-flutter-3-24.md @@ -127,7 +127,7 @@ Flutter GPU 扩展了 Flutter 的直接渲染能力,实现高级图形和 3D 要深入了解 Flutter GPU 并了解如何在项目中利用它,请查看详细的 [Flutter GPU 博客文章](https://medium.com/flutter/getting-started-with-flutter-gpu-f33d497b7c11)。无论你是创建游戏还是复杂图形,Flutter 的新 GPU 功能都使其成为你的产品的强大选择。 -## Web 端 +## Web ### 多视图嵌入 @@ -160,7 +160,7 @@ Flutter Web 应用现在可以利用多视图嵌入,允许开发者同时将 资源: [插件指南](https://pub.flutter-io.cn/packages/interactive_media_ads)、[示例应用](https://pub.flutter-io.cn/packages/interactive_media_ads/example)、[Git 仓库](https://github.com/flutter/packages/tree/main/packages/interactive_media_ads) -## iOS 端 +## iOS ### Swift Package Manager 初步支持 diff --git a/tool/translator/gulpfile.js b/tool/translator/gulpfile.js index c274263eef..d8336b899a 100644 --- a/tool/translator/gulpfile.js +++ b/tool/translator/gulpfile.js @@ -4,6 +4,17 @@ const replace = require('gulp-replace'); // 为了翻译工具能正确匹配, // 需要为一些结构格式做出调整。 +// 适用路径 +const gulpSrc = [ + '../../_site/**/*.html', + '../../_site/!(about|community|disclaimer|posts|tutorials)/**/!(*_cn).html', + '!../../_site/{about,disclaimer,posts}/**/*.html', + '!../../_site/community/tutorials/**/*.html', + '../../_site/community/china/index.html', + '../../_site/*/index.html', + '../../_site/index.html', +]; + // 去掉中文标点与中文间的空格 gulp.task('remove-space', () => { return gulp.src(['../../_site/**/*.html']) @@ -14,23 +25,23 @@ gulp.task('remove-space', () => { // 匹配替换目录相关格式 gulp.task('mark-side-toc', () => { // 宽显示屏右侧目录 正则匹配 - const wideRegexp = /
  • \s*(?!.*[\u4e00-\u9fa5])(.*?)<\/a>\s*<\/li>\s*
  • \s*(?=.*[\u4e00-\u9fa5])(.*?)<\/a>/g; + const wideRegexp = /
  • \s*(?!.*[\u4e00-\u9fa5])(.*?)<\/a>\s*<\/li>\s*
  • \s*(?=.*[\u4e00-\u9fa5])(.*?)<\/a>/g; // 移动端显示屏顶部目录 正则匹配 - const mobileRegexp = /
  • \s*(?!.*[\u4e00-\u9fa5])(.*?)<\/a>\s*<\/li>\s*
  • \s*(?=.*[\u4e00-\u9fa5])(.*?)<\/a>/g; + const mobileRegexp = /
  • \s*(?!.*[\u4e00-\u9fa5])(.*?)<\/a>\s*<\/li>\s*
  • \s*(?=.*[\u4e00-\u9fa5])(.*?)<\/a>/g; - return gulp.src(['../../_site/**/*.html']) + return gulp.src(gulpSrc) // 宽显示屏右侧目录 .pipe( - replace(wideRegexp, (match, p1, p2, p3, p4, p5, p6) => { + replace(wideRegexp, (match, p1, p2, p3, p4, p5) => { // 注意:不能以
  • 结尾,避免分级标题混乱 - return `
  • ${p3}${p6}`; + return `
  • ${p3}${p5}`; }) ) // 移动端显示屏顶部目录 .pipe( - replace(mobileRegexp, (match, p1, p2, p3, p4, p5, p6) => { + replace(mobileRegexp, (match, p1, p2, p3, p4, p5) => { // 注意:不能以
  • 结尾,避免分级标题混乱 - return `
  • ${p3}${p6}`; + return `
  • ${p3}${p5}`; }) ) .pipe(gulp.dest('../../_site')); @@ -39,29 +50,29 @@ gulp.task('mark-side-toc', () => { // 匹配替换正文分级标题相关格式 gulp.task('mark-side-level-title', () => { // 正文分级标题 正则匹配 - const titleRegexp = /
    \s*(?!.*[\u4e00-\u9fa5])(.*?)<\/h(\d)>\s*#<\/a>\s*<\/div>\s*