Giter Site home page Giter Site logo

natumsol / obsidian-pangu Goto Github PK

View Code? Open in Web Editor NEW
75.0 3.0 5.0 65 KB

为 Obsidian 笔记加上「盘古之白」,排版强迫症者的福音。 | A small plugin aims to add space between Chinese Characters and English Alphabet, and it is a boon for typographically compulsive people.

TypeScript 67.43% JavaScript 32.57%
obsidian-plugin obsidian obsidian-md

obsidian-pangu's Issues

[Feature] 希望可以只添加空格,不更改空行

插件默认会使标题、分割线等元素之间保留一个空行。
例:

# Header
## Header 2


### Header 3

会变成

# Header

## Header 2

### Header 3

有时需要保留原有的换行方式,希望增加一个选项(或独立的命令),可以只添加空格,不更改空行。

相关:
#39

感谢的伟大及分享

  1. 首先感谢大佬的无私分享,目前已经成为我必装的插件了
  2. 目前使用过程的遇到的问题,提一个小小的建议。在双链格式中的文件名称也会被自动加上空格,导致双链失效。望大佬能在百忙之中修复一下该问题。具体情况如下:[[mybatis基础7种标签]] 在自动格式化后[[mybatis 基础 7 中标签]]。由于链接的是文件名称,导致链接失效
  3. 再次感谢开源作者的伟大

执行后会将双向链接里的文字也会增加空格

双向链接里引用的文档里有中英文,因此执行后会增加空格,导致无法链接到原有的文档。
虽然可以把文档名称手动增加空格来解决这个问题,但还是希望能够自动识别双向链接[[]]。
感谢

FR 能否增加英文的命令控制

在 command pane中,盘古的命令是需要切换到中文输入法才能调用的。
可否增加一个英文的调用,例如 PanGu,之类。

要不找命令太麻烦了。

实不相瞒,每次重装插件,我都会怀疑是不是插件没装上,因为要好久才回忆起来这个插件的调用命令是中文的。 :D

"+"被替换成了"-"

我在使用advanced slider插件,在这里面列表复用”+“和”-“的含义是不一样的,格式化之后"+"被替换成了"-",能不能出一个忽略替换字符的配置功能。

首行 tab 被更改为空格的问题

如果是多级的 list 或者 todo,其子项前面的空格也会被替换,例如如下情况:

  • 1
    • 2

除去不美观外,还会缺少前面的分栏线 。

另外再编辑器中,tab 和 空格 是两个东西,4个空格不能完全替代tab,所以即使将设置改为4个空格也没有改进效果。

[Feature] 格式化已选择部分

为了避免大部分兼容性问题,可以添加一个功能“格式化已选择区域”,具体功能是仅在光标选择的区域执行 PanGu。

pangu 保存时处理英文冒号问题

最近使用中发现在处理英文冒号(:)时会有点问题,尤其是在代码块中,格式化后影响了代码原本逻辑。

该问题出现在使用英文冒号后如果紧跟英文字符时会在他们之间加入空格。

格式化前:

text:1
text1:1
text:a
text1:a
text:测试

格式化后(用 _ 代指空格):

text:1
text1:1
text:_a
text1:_a
text:测试

该问题在文本中影响不大,但在代码块中同样会出现,可能会影响代码块原本逻辑。

插件版本:1.3.0

恳请作者能优化一下代码块的处理🙏

盘古插件对我这种强迫症患者真的太棒了,万分感谢作者这么棒的插件。

但是有一个地方,希望作者能否优化一下代码块中的处理呢?考虑设置一个ignore选项排除掉对代码块的处理。因为我发现我之前写的不少能运行的代码用盘古处理添加空格后导致一些地方无法正常运行得到预期的结果了。我觉得可能其他人也会遇到这种情况,希望作者大大能优化一下,万分感谢🙏

盘古的设置不能保存

在盘古设置,缩进宽度为 4 个空格,关闭盘古,关闭 Obsidian,然后再打开 Obsidian,再打开盘古设置,发现缩进宽度又变回了 2 个空格。

[bug]以及建议

BUG

  1. 在执行插件之后,#后面的tag区域也执行了英文中文之间加空格,导致许多tag出错

建议

  1. 添加选项,可以自由选择是否执行表格对齐
  2. 添加功能,所有英文单词首字母大写
  3. 添加功能,所有英文单词字母大写

自动添加空格后,保持光标在行内的相对位置,而不是绝对位置不变

Hi @Natumsol,非常感谢您实现这个插件。

目前,在执行 Ctrl + s 实现自动添加空格后,光标会保持在行内的绝对位置(列数)不变(如 gif 所示,当执行 Ctrl + s,光标会停在第二个 english 的 s 和 h 之间)。请问是否能够增加一个设置,使得自动添加空格后,光标在行内的相对位置不变,即仍保持在“测试”之后?

谢谢!

bug202104032

与 Obsidian v0.11.13 兼容性问题

Hi @Natumsol,感谢更新!

我发现在最新的 Obsidian v0.11.13 中,插件好像不能够通过 Ctrl + s 触发自动添加空格的功能了,可能因为新版 Obsidian 修改了一些接口。我在一个新建的 Obsidian vault 上测试了 obsidian-pangu v1.2.1 和 v1.2.0,发现都有这个问题,另外我也没有找到其他自动添加空格的方式。

希望您可以解决该问题,谢谢!

是否可以默认增加一个选项。

标题与内容之间,我们常常会习惯多预留几行空出来。

方便插入或是为了美观。

使用格式化后。头部的空行没有了。看的不太习惯。

需要再次插入的时候。要返回代码模式按 shift +enter

能否增加一个开关。是否格式化首行。或是类似的选项。谢谢

有序列表的格式化问题

根据这段代码:

// 将有编号列表的“1. ”改成 “1. ”
line = line.replace(/^(\s*)(\d\.)\s+(\S)/, '$1$2 $3');

可以看到有序列表,格式化后,中间会有两个空格。下面是情况说明:

格式化前格式化后
1.<space>pangu1
2.<space>pangu2
1.<space><space>pangu1
2.<space><space>pangu2

这是为什么这样处理呢?如果可以希望能和无序列表一样,保持一个空格。

希望 `行内代码` 与其他文本之间也支持盘古之白

目前效果:

这个 demo 的 fps 只有 30,估计是`Player`类的`run()`方法太慢

这个 demo 的 fps 只有 30,估计是Player类的run()方法太慢


期望效果:

这个 demo 的 fps 只有 30,估计是 `Player` 类的 `run()` 方法太慢

这个 demo 的 fps 只有 30,估计是 Player 类的 run() 方法太慢

公式中的“_”被替换成“*”

在Obsidian中格式化文本,数学公式中的“”会被替换为“*”。
如:
格式化前:
$$
\begin{bmatrix}
1 & k
{21} & k_{31} & \cdots & k_{n1} \
0 & 1 & k_{32} & \cdots & k_{n2} \
0 & 0 & 1 & \cdots & k_{n3} \
\vdots & \vdots & \vdots & & \vdots \
0 & 0 & 0 & \cdots & 1
\end{bmatrix}
$$
格式化后:
\begin{bmatrix}
1 & k*{21} & k*{31} & \cdots & k*{n1} \
0 & 1 & k*{32} & \cdots & k*{n2} \
0 & 0 & 1 & \cdots & k_{n3} \
\vdots & \vdots & \vdots & & \vdots \
0 & 0 & 0 & \cdots & 1
\end{bmatrix}

这种现象是个例,有些公式的下角标会被错误替换,而有些不会。

Obsidian版本:
About Obsidian
Version 1.1.9 (Installer 1.1.9)

盘古PanGu版本:
1.6.1

feat: 打字時自動添加空格

  • 前面是中文字,接著打出一個英文字母後,自動空格
  • 前面是英文字母,接著打出一個中文字後,自動空格

列表格式化后前面多了两个空格

格式化前(用_ 代表空格):

- aaa
-_aaa

格式化后

-   aaa
-___aa

测试了有序列表,会增加一个空格。建议保持原有的空格数量不变。

格式化后列表缩进丢失

1. 111
    - [ ] 123
    - [ ] 222
2. 222
    1. 333
    2. 123
3. 333

这样的结构,经过盘古格式化之后,(打开live preview的状态下)看上去缩进就不对了,

格式化前:
image

格式化后:
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.