diff --git a/docs/contributing.md b/docs/contributing.md index ae3a111..6209a1e 100755 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -18,4 +18,4 @@ - 尽量不去调用饭否的 jQuery / YUI - 使用图片素材时应考虑到 HiDPI 显示器的适配 - SVG 图片应该使用 [svgo](https://github.com/svg/svgo) 作优化处理 -- 在 merge pull request 时应选择“Squash and merge” +- 在 merge pull request 时应选择「Squash and merge」 diff --git a/docs/publish.md b/docs/publish.md index 3806684..d2d21f7 100755 --- a/docs/publish.md +++ b/docs/publish.md @@ -10,13 +10,13 @@ ### 更新历史的显示位置 -- “设置” → “更新历史”,显示完整的更新历史 +- 「设置」→「更新历史」,显示完整的更新历史 - 扩展启动时弹出通知,显示本次版本更新内容的概要(如果刚刚升级到了新版本、开启了相关设置,并且 `versionHistory` 中包含了该版本的更新内容) ### 如何编写更新历史内容 - 更新历史应该介绍该版本在功能、设计及用户体验方面新引入或修正的内容 -- 应该避免无意义的文字,如“修正了一些 bug”,尽量不打扰用户 +- 应该避免无意义的文字,如「修正了一些 bug」,尽量不打扰用户 - 如果更新内容过多,可以在前面写一行概要,用于作为桌面通知内容显示 ### 如何发布新版? diff --git a/src/background/environment/messaging.js b/src/background/environment/messaging.js index af683a1..c1d4ba2 100644 --- a/src/background/environment/messaging.js +++ b/src/background/environment/messaging.js @@ -29,7 +29,7 @@ function createMessageHandler(port) { port.postMessage({ senderId, message: respondedMessage }) } } else { - throw new Error(`未知消息类型 “${message.action}”`) + throw new Error(`未知消息类型 「${message.action}」`) } } } @@ -49,7 +49,7 @@ const messaging = { registerHandler(actionType, handler) { if (messageHandlers[actionType]) { - throw new Error(`重复注册 “${actionType}” 类型的消息处理器`) + throw new Error(`重复注册 「${actionType}」 类型的消息处理器`) } else { messageHandlers[actionType] = handler } @@ -57,7 +57,7 @@ const messaging = { unregisterHandler(actionType) { if (!delete messageHandlers[actionType]) { - throw new Error(`不存在 “${actionType}” 类型的消息处理器,因此取消注册失败`) + throw new Error(`不存在 「${actionType}」 类型的消息处理器,因此取消注册失败`) } }, diff --git a/src/background/environment/settings.js b/src/background/environment/settings.js index ba35467..852fcba 100755 --- a/src/background/environment/settings.js +++ b/src/background/environment/settings.js @@ -68,8 +68,8 @@ function mergeSettings(map) { async function migrateSettings() { // 下面被注释掉的有两种情况: - // 1. 已经转换成 soldered feature(不提供设置项,强制开启),使用“*”标记 - // 2. 不打算再实现了或者设置项被去掉了,使用“-”标记 + // 1. 已经转换成 soldered feature(不提供设置项,强制开启),使用「*」标记 + // 2. 不打算再实现了或者设置项被去掉了,使用「-」标记 const optionNameMap = { // * 'advanced_sidebar': true, 'auto_pager': 'auto-pager', diff --git a/src/features/auto-pager/script(page).js b/src/features/auto-pager/script(page).js index 4176296..3c584a6 100644 --- a/src/features/auto-pager/script(page).js +++ b/src/features/auto-pager/script(page).js @@ -4,7 +4,7 @@ import { isPublicTimelinePage } from '@libs/pageDetect' import every from '@libs/promiseEvery' import neg from '@libs/neg' -// “更多”按钮与可视区域底部距离缩小到该值时即自动加载 +// 「更多」按钮与可视区域底部距离缩小到该值时即自动加载 const BUFFER = 500 const SCROLL_DEBOUNCE_WAIT = 250 diff --git a/src/features/check-saved-searches/script(background)[service].js b/src/features/check-saved-searches/script(background)[service].js index a608ad7..753171b 100755 --- a/src/features/check-saved-searches/script(background)[service].js +++ b/src/features/check-saved-searches/script(background)[service].js @@ -117,7 +117,7 @@ export default context => { ? extractStatusTime(latestStatusMatchingKeyword) : 0 // 表示没有任何消息,但是也没有报错 } catch (error) { - log.info(`获取关键字“${keyword}”的搜索结果出错`, error) + log.info(`获取关键字「${keyword}」的搜索结果出错`, error) // 返回 undefined,将无法通过 isValidTimestamp() 检查 } } @@ -214,7 +214,7 @@ export default context => { notification.create({ id: `saved-searches/${userId}/${keyword}`, - message: `您关注的话题“${keyword}”有了新消息`, + message: `您关注的话题「${keyword}」有了新消息`, onClick, buttonDefs: [ { title: '查看', diff --git a/src/features/enrich-statuses/style(page).less b/src/features/enrich-statuses/style(page).less index 7dee934..589dd6f 100644 --- a/src/features/enrich-statuses/style(page).less +++ b/src/features/enrich-statuses/style(page).less @@ -1,4 +1,4 @@ -// 我们插入 timeline 的外站图片,点击缩略图查看大图时,其右上角的“去相册查看”链接地址是无效的 +// 我们插入 timeline 的外站图片,点击缩略图查看大图时,其右上角的「去相册查看」链接地址是无效的 // 所以直接隐藏之 #ZoomToAlbum > a[href="null"] { display: none; diff --git a/src/features/favorite-fanfouers/script(page)[home].js b/src/features/favorite-fanfouers/script(page)[home].js index afa6d1b..c9ce7bb 100755 --- a/src/features/favorite-fanfouers/script(page)[home].js +++ b/src/features/favorite-fanfouers/script(page)[home].js @@ -15,7 +15,7 @@ const USER_GUIDE = [ '1. 在用户个人页面通过点击名字右方的星形图标添加饭友到列表', '2. 拖拽头像重新排序', '3. 按住 Shift 键点击头像删除', - '4. 右击“有爱饭友”清空列表', + '4. 右击「有爱饭友」清空列表', ].join('\n') const CONFIRMING_MESSAGE = '确定要清空有爱饭友列表吗?请注意这个操作无法撤回。' const CLASSNAME_ITEM = 'sf-favorite-fanfouer-item' @@ -271,8 +271,8 @@ export default context => { const { friends } = elementCollection.getAll() unmount = preactRender(, root => { - // 插入到“我关注的人”之前 - // 因为假定“有爱饭友”的使用频率更高,所以显示靠前一些这样更方便 + // 插入到「我关注的人」之前 + // 因为假定「有爱饭友」的使用频率更高,所以显示靠前一些这样更方便 friends.before(root) }) }, diff --git a/src/features/process-unread-statuses/script(page)[scroll-to-show].js b/src/features/process-unread-statuses/script(page)[scroll-to-show].js index e9d7977..dd2d32f 100644 --- a/src/features/process-unread-statuses/script(page)[scroll-to-show].js +++ b/src/features/process-unread-statuses/script(page)[scroll-to-show].js @@ -72,7 +72,7 @@ export default context => { if (scrollManager.getScrollTop()) return // 如果是在发送消息输入框内滑动滚轮时触发了事件,忽略之 if (event.target.tagName === 'TEXTAREA') return - // 如果“新增 X 条最新消息,点击查看”通知条未显示,忽略之 + // 如果「新增 X 条最新消息,点击查看」通知条未显示,忽略之 if (!hasNewStatuses()) return timeout.cancel() diff --git a/src/features/remove-app-recommendations/metadata.js b/src/features/remove-app-recommendations/metadata.js index 97b5615..15fa2a6 100644 --- a/src/features/remove-app-recommendations/metadata.js +++ b/src/features/remove-app-recommendations/metadata.js @@ -1,6 +1,6 @@ export const options = { _: { defaultValue: false, - label: '屏蔽 “饭否应用” 广告区和 “随机应用推荐” ', + label: '屏蔽「饭否应用」广告区和「随机应用推荐」', }, } diff --git a/src/features/remove-logo-beta/metadata.js b/src/features/remove-logo-beta/metadata.js index 40679ff..a8bff73 100644 --- a/src/features/remove-logo-beta/metadata.js +++ b/src/features/remove-logo-beta/metadata.js @@ -1,6 +1,6 @@ export const options = { _: { defaultValue: true, - label: '去除 logo 的“测试版”字样', + label: '去除 logo 的「测试版」字样', }, } diff --git a/src/features/share-to-fanfou/metadata.js b/src/features/share-to-fanfou/metadata.js index b88c7d8..5251548 100644 --- a/src/features/share-to-fanfou/metadata.js +++ b/src/features/share-to-fanfou/metadata.js @@ -1,6 +1,6 @@ export const options = { _: { defaultValue: false, - label: '添加“分享到饭否”到网页右键菜单', + label: '添加「分享到饭否」到网页右键菜单', }, } diff --git a/src/features/show-contextual-statuses/script(page).js b/src/features/show-contextual-statuses/script(page).js index c45e914..3ba2c52 100755 --- a/src/features/show-contextual-statuses/script(page).js +++ b/src/features/show-contextual-statuses/script(page).js @@ -243,7 +243,7 @@ export default context => { // 饭否在加载下一页消息后,会直接使用 innerHTML 的方式覆写当前 HTML // 这就导致原本存在的 DOM 结构被替换掉 // MutationObserver 的 mutationRecord.addedNodes 中会包含旧消息 - // 而这些旧消息中已经展开了的部分所绑定的监听事件会丢失,也就是“dead instance” + // 而这些旧消息中已经展开了的部分所绑定的监听事件会丢失,也就是「dead instance」 // 我们用原来可以交互的实例(alive instance)替换掉新的实例 if (cacheMap.has(cacheId)) { const aliveInstance = cacheMap.get(cacheId) diff --git a/src/features/show-contextual-statuses/style(page).less b/src/features/show-contextual-statuses/style(page).less index 23e20b1..6efb394 100644 --- a/src/features/show-contextual-statuses/style(page).less +++ b/src/features/show-contextual-statuses/style(page).less @@ -94,7 +94,7 @@ } } -// “展开”按钮可能会遮挡住原消息的图片,额外添加 margin 以避免重合 +// 「展开」按钮可能会遮挡住原消息的图片,额外添加 margin 以避免重合 li[sf-contextual-statuses] .content .photo.zoom { margin-bottom: 18px; } diff --git a/src/features/sidebar-statistics/script(page).js b/src/features/sidebar-statistics/script(page).js index 7b45c39..4c0df25 100755 --- a/src/features/sidebar-statistics/script(page).js +++ b/src/features/sidebar-statistics/script(page).js @@ -101,7 +101,7 @@ class SidebarStatistics extends Component { // 背景图片 const backgroundImageUrl = userProfile.profile_background_image_url - // 需要检测用户是否在“设置→模板”中选择了“不要背景图片” + // 需要检测用户是否在「设置 → 模板」中选择了「不要背景图片」 const isBackgroundImageDisabled = getComputedStyle(document.body).backgroundImage === 'none' this.setState({ diff --git a/src/features/user-switcher/manual-tests.md b/src/features/user-switcher/manual-tests.md index 3557a07..c31c745 100644 --- a/src/features/user-switcher/manual-tests.md +++ b/src/features/user-switcher/manual-tests.md @@ -1,3 +1,3 @@ -- 点击右上角的“退出”应该把当前登录用户从切换列表中去除 +- 点击右上角的「退出」应该把当前登录用户从切换列表中去除 - 用户更换用户名或头像等,列表中数据应该及时更新 -- 不勾选“保存到切换列表”,则不应该保存到列表中 +- 不勾选「保存到切换列表」,则不应该保存到列表中 diff --git a/src/features/user-switcher/script(page)[login-form].js b/src/features/user-switcher/script(page)[login-form].js index 22ebb3d..4d945ce 100644 --- a/src/features/user-switcher/script(page)[login-form].js +++ b/src/features/user-switcher/script(page)[login-form].js @@ -18,7 +18,7 @@ export default context => { onLoad() { elementCollection.get('al').checked = true originalAutoLoginLabel = elementCollection.get('al').nextSibling.textContent - elementCollection.get('al').nextSibling.textContent = ' 保存到“多账户切换列表”' + elementCollection.get('al').nextSibling.textContent = ' 保存到「多账户切换列表」' }, onUnload() { diff --git a/src/features/user-switcher/script(page)[user-switcher].js b/src/features/user-switcher/script(page)[user-switcher].js index 2c62c72..cdbc16e 100644 --- a/src/features/user-switcher/script(page)[user-switcher].js +++ b/src/features/user-switcher/script(page)[user-switcher].js @@ -136,8 +136,8 @@ export default context => { nickname: select('#user_top h3').textContent, avatarUrl: select('#user_top img').src, cookies: omitBy(allCookies, (_, key) => ( - key.startsWith('_') || // 跳过键名以“_”开头的 cookie - key === 'uuid' // 跳过键名为“uuid”的 cookie + key.startsWith('_') || // 跳过键名以「_」开头的 cookie + key === 'uuid' // 跳过键名为「uuid」的 cookie )), } @@ -246,7 +246,7 @@ export default context => { applyWhen: () => elementCollection.ready('usertop'), async onLoad() { - // 登录时若勾选了“保存到切换列表”(即原本的“自动登录”),则存在这个 cookie + // 登录时若勾选了「保存到切换列表」(即原本的「自动登录」),则存在这个 cookie if (Cookies.get('al')) { await addOrUpdateCurrentUser() } else { diff --git a/src/libs/pageDetect.js b/src/libs/pageDetect.js index ab4a2e5..2ab2f30 100644 --- a/src/libs/pageDetect.js +++ b/src/libs/pageDetect.js @@ -59,9 +59,9 @@ export const isLoggedInUserFollowersListPage = simpleMemoize(async () => { // 是否为用户 timeline 页面 export const isUserProfilePage = simpleMemoize(() => { return any([ - // 只有用户个人页面中才存在“投诉”对话框 + // 只有用户个人页面中才存在「投诉」对话框 safeElementReady('#overlay-report'), - // 但是当前登录用户的个人页面中没有“投诉”对话框,需要额外判断 + // 但是当前登录用户的个人页面中没有「投诉」对话框,需要额外判断 isLoggedInUserProfilePage(), ]) })