分享文章:Ulysses一键发送文章到Day One

优采云 发布时间: 2022-11-07 20:12

  分享文章:Ulysses一键发送文章到Day One

  可爱的尤利西斯

  我从 2015 年夏天开始使用 Ulysses。编辑器的设计理念是“所有文本都在一个地方”。这让我很高兴,因为它非常适合我的类型 优采云。

  过去,我也可能时不时有记录或写作的欲望。但是必须为每个单词保存一个单独的文件名的想法可能很麻烦。而且更惨的是,以后想用的时候,可能根本找不到。

  所以——算了,别写了。

  不再。因为 Ulysses 中的所有记录都称为工作表。用户不需要命名表单。它随时自动将更新的文章同步到iCloud,并定期备份整个库。而且无论你写多少,你都可以使用 Cmd + o 来检索你需要的东西。

  Ulysses 支持 Markdown,因此可以轻松放置插图、代码和文本列表。我特别喜欢插图功能,因为你可以用快捷键把它叫出来,然后放一个链接。“一张图片胜过千言万语”。

  结合 Marked 2,用户可以预览用 Ulysses 编写的 文章,并导出为 Word、PDF 和 HTML 网页等各种常用格式。

  需要

  因为 Wifi 无线网络并不总是可用,所以我在写 文章 时插入的图片链接都指向本地文件。如果您使用远程连接,一旦网络断开,您将无法看到它。

  文章写完之后,我喜欢将我的劳动成果保存到 Day One 应用程序中。Day One 是一款非常不错的日记应用,也支持 Markdown 格式。

  这时候遇到了一个问题——Day One无法显示本地图片。为了图片能够正常显示,在Day One存储之前,需要先将图片上传到远程图床(我用七牛云存储),修改Markdown文本中的所有图片链接指向七牛上的远程图片地址。

  说起来容易做起来难。作为优采云,我用Python写了一个脚本,可以自动将所有链接上传到七牛,并转换为七牛链接。

  但是如果我每次都打 Python 脚本,还是觉得不够方便,所以我用 Alfred Workflow 设置了快捷键来调用这些脚本。

  几天前,我的工作流程是这样的:

  用尤利西斯写,写完后拖到标记2预览,修改到你满意;使用快捷键(Cmd + A)选择全文,并将其作为markdown文本复制到剪贴板(Opt + Cmd + C);快捷键(Cmd + A) Opt + Cmd + ,) 将剪贴板中的全文图片上传到七牛,修改链接后的markdown复制到剪贴板;使用快捷键(Opt + Cmd + .)调用Day One的采集窗口;将剪贴板的内容粘贴到其中(Cmd + V)。

  这个过程,嗯……很乏味!

  脚本的存在是为了简化生活,而不是给自己添麻烦。作为一名合格的优采云,我有必要改进自己的工作流程。

  解决方案

  受一篇文章文章的启发,突然发现在Automator里面集成一个Python脚本后,可以保存为应用程序。可以从 Ulysses 调用此应用程序来处理 Markdown 文本。

  因此,我修改后的工作流程如下所示:

  用尤利西斯写,写完后在标记2中预览,修改到你满意的程度(和原版没有区别);使用 Cmd + 6 调用预览,点击应用按钮,选择其中第一个“markdown-to-dayone”,完成。

  这……太神奇了!

  

  原则

  首先,我们修改了原来的剪贴板操作Python文件,保存为新的Python脚本,对指定输入文件名中的Markdown文本进行图片链接处理,将图片上传到七牛并转换为七牛链接。

  import qiniu_upload

import wsyFileOperator

import re

import sys

import os

reload(sys)

sys.setdefaultencoding('utf-8')

def change_link_to_qiniu_upload(data):

sp_str_image = '^![](.*)'

data = data.split('n')

new_data = []

for line in data:

if re.match(sp_str_image, line):

localfile = line.split('(')[-1].split(')')[0]

key = localfile.split('/')[-1]

filelink = qiniu_upload.qiniu_upload(key, localfile)

line = '![](' + filelink + ')'

new_data.append(line)

new_data_str = 'n'.join(line for line in new_data)

return new_data_str

def main(argv):

# My code here

<p>

num_vars = len(argv)

output_filename = os.path.expanduser("~/Dropbox/var/wsywork/data/org/temp.md")

if num_vars == 1:

print "Please input the original markdown filename!"

elif num_vars == 3:

output_filename = os.path.expanduser(argv[2])

#print "output filename changed to {}".format(output_filename)

else:

input_filename = os.path.expanduser(argv[1])

#print "good!"

with open(input_filename) as f_in:

data = f_in.read()

new_data = change_link_to_qiniu_upload(data)

#print new_data

with open(output_filename, 'w') as f_out:

f_out.write(new_data)

#pass

if __name__ == "__main__":

main(sys.argv)</p>

  其次,创建一个新的 Automator 应用程序。

  请注意,您可以在此处使用 bash 脚本而不是 python 脚本。但是因为在学习操作系统类的bash章节的时候不小心走神了,没学过bash脚本编程(惭愧),所以只好用了一个笨方法——也就是Python生成静态bash的方式命令 - 相反。. 优采云好吧,没办法。:-P

  预防措施

  因为尤利西斯默认导出的临时markdown文件名就是标题。标题可以收录空格(尤其是英文标题)。所以在生成静态bash命令的时候,不要忘记把输入的markdown文件名用引号引起来,避免文件名中有空格导致“找不到文件”的窘境。

  这似乎是轻描淡写,但这是一个我花了很长时间才纠正的错误。教训啊。:-P

  分享文章:文章原创度检测工具

  

  文章演示镜:是文章原创的在线检测工具,根据文章的发布时间判断文章是否为原创 : 同一篇文章文章,越早被搜索引擎收录发表,搜索引擎越容易认为是原创文章。词序:如果两个文本的信息指纹完全一样,理论上可以认为两个文本完全一样,但实际上并非如此。已经,搜索引擎会截取选定的字符作为信息指纹的编码,然后在打乱这些字符的顺序后,也可以产生不同的信息指纹。经过以上分析,原创文章与抄袭文章最大的区别 就是你要发布的文章是否已经被搜索引擎收录,如果你要发布的文章已经被收录@文章大量的句子被搜索引擎收录,所以你发布的文章可能被搜索引擎定义为:剽窃文章。搜索引擎不赚钱的原因。然后你可以通过文章魔镜工具检查你的文章是否属于原创文章。

  

  一键更新页面

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线