-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
6.4.0版本之后的两个问题 #462
Comments
关于问题 3
首先,确定你输入的是哪个「引号」, 一、
|
get_font_family(config) { | |
custom_family = hexo-config('font.' + config + '.family') | |
return custom_family is a 'string' ? custom_family : null | |
} | |
// Font families. | |
$font-family-chinese = "PingFang SC", "Microsoft YaHei" | |
$font-family-base = $font-family-chinese, sans-serif | |
$font-family-base = get_font_family('global'), $font-family-chinese, sans-serif if get_font_family('global') |
Lines 395 to 410 in 91415d8
font: | |
enable: false | |
# Uri of fonts host. E.g. //fonts.googleapis.com (Default). | |
host: | |
# Font options: | |
# `external: true` will load this font family from `host` above. | |
# `family: Times New Roman`. Without any quotes. | |
# `size: xx`. Use `px` as unit. | |
# Global font settings used for all elements in <body>. | |
global: | |
external: true | |
family: Lato | |
size: |
所以无需对 CSS 进行更改。但是,由于不一定每个设备本地都已安装 Lato 字体,故需要启用外链字体库来确保 Lato 一定会被加载。
font:
- enable: false
+ enable: true
# Uri of fonts host. E.g. //fonts.googleapis.com (Default).
# 考虑到国内网络
- host:
+ host: https://fonts.loli.net
当然,这种方式必然有个 bug,即中文内容可能会惨不忍睹。原本全角的双引号和单引号变成了半角,效果很差。
三、评论
为什么会有上面那个无法避免的 bug 呢?因为我们熟悉的双引号及单引号都是直接来自英文的(待考),所以它们的 Unicode 是一样的。而考虑到中文与英文的排版标准不同(全角与半角),所以中英文混排时就会引起冲突,如英文的撇号 ’
(U+2019
)与「中文的」右单引号。
另,关于中文排版的引号,一种解决策略是用直角引号替代,即「」和『』。这也是目前台湾、香港,以及日本的标准。显示效果的话,因人而异。
四、我的选择
撇号,我是直接用 '
(U+0027
),因为这个符号在 Linux 上输入方便、简单。
引号:
- 中文,双引号用的 “
(U+201C
) + ”
(U+201D
),单引号用的 ‘
(U+2018
) + ’
(U+2019
)。
- 英文,双引号直接用的 "
(U+0022
),单引号直接用的 '
(U+0027
)。
五、References & Resources
- 撇号 - 维基百科
- Apostrophe - Wikipedia
- 引号 - 维基百科
- 别再用「六个点」当省略号了,这些标点都有更规范的输入方式 - 少数派
- Web 字体的选择和运用 - Coding 博客
六、更新(2019-01-05
)
@gapplef 抱歉,我的选择已经发生了改变。
考虑到目前许多英文媒体都不再使用直引号,而是使用排版规范的弯引号,阅读多了之后:
- 英文内容,再次见到直引号,我觉得直引号很丑。
- 中文内容,再次见到弯引号,我觉得很别扭,不适合中文,应该用直角引号「」。
综上,我目前的选择是:
撇号:’
(U+2019
)
引号:
- 中文,用的「」,内如需再引用则用『』。
- 英文,用的
“”
,内如需再引用则用‘’
。
也就是说,将中文借用的弯引号还给英文,而中文则采用更契合汉字方方正正特点的直角引号。
在博客,要成功地还给英文,就要修改 CSS 的 font-family,即在中文字体前添加一个英文字体。
这样一来,英文字体排版能达到完美,但中文字体排版还有三处问题:
- 间隔号(间距问题)
- 省略号(位置问题)
- 破折号(断开问题)
因为这三个符号也是直接来自英文的,中文又没有相应独立的 Unicode,而 CSS 中设置了英文字体优先于中文字体,所以字形是英文,而非中文。
@reuixiy 非常感谢你的详细回复。 ## 适用于hexo-renderer-markdown-it-plus
markdown-it-plus:
typographer: false 再次感谢!终于可以愉快的写英文了! |
谁能解答下前面两个关于next的问题? |
@gapplef 问题一,我通过修改样式来保持和之前(6.4.0前)一样
修改
这些改动会导致其他主题(Muse、Mist)异常,如果您要改回这两主题,需要去掉这些自定义样式 |
@jiangtj 感谢你的帮助,不过改源码还是太麻烦,所以希望官方能提供一个配置选项。 |
@ivan-nginx is it possible for each of schemes to be added |
By default NexT has following setting of content width:
You can change content width by editing CSS style file. Edit Muse / MistFor example, you want wider content width. You may redefine this variables with percentage width:
$content-desktop = 90%
$content-desktop-large = 90%
$content-desktop-largest = 90% Pisces / Gemini
In this schemes content width was defined on maximum and already balanced: if desktop width will be wider – content width will more narrowed for easier reading. But if you want to make more narrow content width in wider desktops, here is example:
$content-desktop-large = 65em
$content-desktop-largest = 65% |
@jiangtj can u please show me what's the difference between this settings and |
@ivan-nginx And my config |
@jiangtj if monitor width will be 4k? |
So, u understand now why max width was removed? |
@jiangtj OK, I understand, thanks a lot! I still have some questions and hope you can help:
|
@gapplef @ivan-nginx I'm sorry for this.
@gapplef May be windows scale not 100%. |
@gapplef 关于问题二 // Font size
$font-size-base = 14px
$font-size-base = unit(hexo-config('font.global.size'), px) if hexo-config('font.global.size') is a 'unit'
$font-size-small = $font-size-base - 2px
$font-size-smaller = $font-size-base - 4px
$font-size-large = $font-size-base + 2px
$font-size-larger = $font-size-base + 4px
// Code & Code Blocks
// --------------------------------------------------
$code-font-family = $font-family-monospace
$code-font-size = 14px
$code-font-size = unit(hexo-config('font.codes.size'), px) if hexo-config('font.codes.size') is a 'unit'
$code-border-radius = 3px
$code-foreground = $black-light
$code-background = $gainsboro 如果不希望字体跟随分辨率变化的话,可以在 $font-size-small = $font-size-base
$font-size-smaller = $font-size-base
$font-size-large = $font-size-base
$font-size-larger = $font-size-base |
Yes. This called Hexo-way. |
@jiangtj You are right, I have a scale factor of 1.35. Thanks for your help, for probem 2, I also understand the reason. I'm ok with font size adapt to screen size, but is it possible to change code size at the same time? |
@ivan-nginx I mean for these changes: $content-desktop-large = 65em
$content-desktop-largest = 65% that I should put in Is there some way similar to the so called NexT-way, that I can put the |
@gapplef # Redefine custom file paths. Introduced in NexT v6.0.2.
# If commented, will be used default custom file paths.
# For example, you want to put your custom styles file
# outside theme directory in root `source/_data`, set
# `styles: source/_data/styles.styl`
custom_file_path:
# Default paths: layout/_custom/*
#head: source/_data/head.swig
#header: source/_data/header.swig
#sidebar: source/_data/sidebar.swig
# Default path: source/css/_variables/custom.styl
variables: source/_data/variables.styl
# Default path: source/css/_mixins/custom.styl
#mixins: source/_data/mixins.styl
# Default path: source/css/_custom/custom.styl
#styles: source/_data/styles.styl |
@jiangtj Thanks a lot! |
@reuixiy |
@reuixiy
|
I agree and want to create new issue
NexT Information
NexT Version:
NexT Scheme:
Pisces的界面在6.4.0版本有较大的变动,整个页面宽度大大加宽。
左侧边栏可以调整宽度,但右侧内容不能调整,而是根据左侧宽度自动调整。
结果就是要么左侧太宽,要么右侧太宽,调整不到想要的宽度。
之所以选择Pisces就是因为不喜欢内容太宽。
请问可以增加调整右侧内容宽度的选项吗?
在6.4.0版本之后文章的字号比之前大了一号,这没有问题。
但代码字号却没有变,导致代码会比其余部分小一号。
在使用行内代码
强调
某些文字时就会显得很奇怪。不清楚这是有意为之,还是bug。
最后还有一个问题,英文的引号会被渲染为中文的引号,其结果是英文内容惨不忍睹。
这不是next的问题,应该是markdown渲染引擎的问题(hexo-renderer-markdown-it-plus)。
网上没搜到有效的解决方法,所以想请问有谁使用Katex的,是怎么解决这一问题的?
其他的主题如Landscape,中文引号占字符位很小,虽然没有解决问题,看起来效果不至于太差。
请问NEXT能否考虑像Landscape一样处理中文引号?
The text was updated successfully, but these errors were encountered: