Closed xpsair closed 1 year ago
好的。我之前考虑到帖子标题可能会更改所以没有加。之后计划会用通配符查找是否有匹配文件夹存在,来让文件夹命名里包含标题
From: xpsair notifications@github.com Sent: Saturday, February 20, 2021 2:25:58 PM To: ludoux/ngapost2md ngapost2md@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [ludoux/ngapost2md] 文件夹名带上帖子的标题 (#21)
用tid拉取了帖子的内容后,生成的文件夹名只有tid,这样不方便知道拉取的到底是哪个帖,所以建议把文件夹的名字里添加帖子的标题,比如25615215-[其他问题] 关于京东七天无理由退货。。
在def main():的input('press to exit.')之前,加上dir_with_title(),这个函数的定义:
def dir_with_title(): dir_oldname=str(tid) dir_newname=str(tid)+"-"+title re.sub('\?', ' ', dir_newname) # slugify filename if you need os.rename(dir_oldname, dir_newname)
不同的操作系统、云盘可能对文件名有一些限制,这里就没有对规范文件名的操作细写了。
― You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/ludoux/ngapost2md/issues/21, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADGWKTAUW5Z3UPRQGOZTFZLS75IXNANCNFSM4X5RM32A.
refer 错了…这个提交不是这个的😂
增加文件名修改配置#55,如果配置为默认,.md文件名为post.md。如果配置中改为True,则会将帖子的标题作为文件名。
我写了个.ps1,在新的release发布前各位老哥可以先凑合着用(放在.exe同级目录下运行就行)。
build_index.ps1
生成一个名为index.txt
的文件夹-文章名对照表
# 获取当前目录下的文件夹名
$folders = Get-ChildItem -Directory
# Write-Host $folders
$filePath = "index.txt"
$content = ""
# 遍历每个文件夹并执行操作
$folders | ForEach-Object {
$folderName = $_.Name
# Write-Host $folderName
$mdfile = Get-ChildItem -Path $folderName -Filter "*.md" -File
# Write-Host $mdfile
$content = $content + $folderName + " " + $mdfile.Name + "`n`n"
}
write-host $content
$content | Out-File -FilePath $filePath -Encoding utf8
update_all.ps1
更新所有已经存储的帖子
# 获取当前目录下的文件夹名
$folders = Get-ChildItem -Directory
# 遍历每个文件夹并执行操作
$folders | ForEach-Object {
$folderName = $_.Name
# 输出当前文件夹名
Write-Host "`nfor directory:$folderName"
Invoke-Expression ".\ngapost2md.exe $folderName"
}
已提交相关修改#62 目前仅通过简单测试,确保实现相关功能,该功能默认开启,无需配置。
; [#21]文件夹名是否包含标题。默认值False。修改后仅对全新拉取的tid生效。
use_title_as_folder_name=False
; [#21]Markdown 文件名是否为标题。默认值False。修改后仅对全新拉取的tid生效。
use_title_as_md_file_name=False
use_title_as_folder_name 开启时,文件夹会以 tid-安全标题 格式来命名。否则,以tid来命名。 use_title_as_md_file_name 开启时,md 文件会以 安全标题 格式来命名。否则,以 post.md 来命名。
仅针对新拉取情况下生效。倘若本地已有文件夹,仍按照其命名方式来进行追加。
感谢感谢,顺便问一下,请问v1.4.0中每次运行的时候强制覆盖config.ini是有什么特殊的考虑吗?
感谢感谢,顺便问一下,请问v1.4.0中每次运行的时候强制覆盖config.ini是有什么特殊的考虑吗?
准确来说不能叫“强制覆盖”,只是把旧的配置文件读取后,填充进标准配置里头再重新输出覆盖config.ini文件。配置信息(比如cid uid和个性化配置等)都不会变,只是会影响到注释,和软件不存在的配置项。比如有些用户可能会在注释里备注一些信息,这种情况在1.4.0后就会被覆盖成为原始的注释信息。
这个变动是由于引入了配置文件自动更新而来的,即跨版本更新后,假如配置项有变化,软件会自动将旧版的更新为新版。注释被覆盖这个问题,主要是比较少用户会这么用吧。
更新日志里头提这个,主要是配置文件会被软件修改这个行为,相对来说确实比较奇怪…
感谢感谢,顺便问一下,请问v1.4.0中每次运行的时候强制覆盖config.ini是有什么特殊的考虑吗?
准确来说不能叫“强制覆盖”,只是把旧的配置文件读取后,填充进标准配置里头再重新输出覆盖config.ini文件。配置信息(比如cid uid和个性化配置等)都不会变,只是会影响到注释,和软件不存在的配置项。比如有些用户可能会在注释里备注一些信息,这种情况在1.4.0后就会被覆盖成为原始的注释信息。
这个变动是由于引入了配置文件自动更新而来的,即跨版本更新后,假如配置项有变化,软件会自动将旧版的更新为新版。注释被覆盖这个问题,主要是比较少用户会这么用吧。
更新日志里头提这个,主要是配置文件会被软件修改这个行为,相对来说确实比较奇怪…
明白了,既然是这样的话我认为完全可以独立一个专门用于更新配置项的.exe或者.ps1,毕竟这个过程理论上在大版本更新后只需要进行一次。
用
tid
拉取了帖子的内容后,生成的文件夹名只有tid
,这样不方便知道拉取的到底是哪个帖,所以建议把文件夹的名字里添加帖子的标题,比如25615215-[其他问题] 关于京东七天无理由退货。
。在
def main():
的input('press to exit.')
之前,加上dir_with_title()
,这个函数的定义:不同的操作系统、云盘可能对文件名有一些限制,这里就没有对规范文件名的操作细写了。