我构建了另一个写作应用程序

2020-05-28 15:25:04

我认为发现洞察力的能力给了个人独特的竞争优势。作为一个想要在这个世界上茁壮成长的人,我决定我想要获得洞察力,至少在软件开发方面(这是我的谋生之道)。

要找到洞察力,你需要有效地思考。要想有效地思考,你必须让你的思想变得有形,这样你才能看清什么是无效的。据我所知,写作是思考的唯一有形成果。所以我写了很多东西。然而,写作是如此之难,以至于我并不是所有的高质量作品都能出版,也不是所有出版的作品都是高质量的。

当我写作时,我倾向于阅读大量的资料,根据需要在它们之间摇摆,以比较和对比想法。在有了一些有趣的想法之后,我会把它们写下来。但这样的想法往往是表面上的,或者它们暗示着可能有新的方式来解释现有的信息。因此,我又回到了原始资料上,以使新的想法与它们相一致。当频繁地进行这种切换时,感觉没有必要。

缺少的是一个工作空间,我可以在这里搜索和阅读相关的资源,而不需要离开标签。我认为实现一个简单的写作工作区会很有趣,也很有价值,您可以在这个工作区中插入源代码、搜索、阅读相关参考资料和写作。阿瓦就是结果。

为了做笔记,我过度使用“漫游研究”(Roam Research)。然而,漫游是一个做笔记的工具,它不是一个为收集资源和试验思想而服务的写作工作空间。相反,如果您遵循Zettlkasten方法,则必须注意在Roam中安装什么,因为它旨在构建一个持久的存储库。

另一个写作应用程序被构建为一个地方,在那里你可以倾倒你杂乱无章的想法,组织它们,然后把有组织的想法倾倒到漫游或其他地方。事实上,这篇文章是我用AWA写的,有7篇参考文献。它并不是要取代任何东西,只是为了使写作更方便,从而使思考更方便。

因此,收集素材、阅读、搜索和实验写作,所有这些都在同一个地方,这就是另一个写作应用程序的用途。

当您将URL添加到AWA时,它会调用服务器使用Mercury Parser提取内容,并将该内容插入到本地存储中。后端不存储任何内容,它只返回提取的内容。当您第一次阅读您的源文件时,将URL放入其中并继续阅读。

当你有一个有趣的故事时,把它写下来。如果你找到了一个概括了你想要表达的广泛主题的术语,那么就搜索这个术语。

默认情况下,使用搜索焦点模式。搜索焦点模式将给定源分成段落块,并且只显示包含搜索项的块。您可以展开其他块以查看周围的上下文。

如果您想要更广泛的搜索结果上下文,请切换到全文模式以查看源的整个文本。

您可以将数据导出为json格式。导出的文件包含使用Mercury Parser提取的其他元数据。您的文字将始终具有ID CURREN_NOTE。

但有些人会喜欢左边的侧边栏。你可以用这两种方法中的任何一种来改变它。请让我知道你更喜欢哪一个。

使用MARKED从您编写的内容中生成HTML字符串,并在模式中显示它。

看到你不喜欢的东西了吗?请给我反馈,这样我就可以改进了。我使用SmtpJs发送电子邮件,使用我自己的电子邮件,所以它是匿名的。

顺便说一句,我喜欢Hyperapp。这是一种构建Web应用程序的最低限度方法。您需要学习的概念比Reaction和其他前端框架要少得多。

我用议程来记录我的待办事项和日程。整个过程花了我6天时间。

有一些错误修复和特性我没有显式地添加到列表中,因为我也在工作流中。

不知何故,我在Github页面上的网站样式与我在本地开发中看到的并不完全一样,而Netlify上的版本看起来完全一样。

我的后端只是一个NodeJS应用程序,依赖于Express、CORS(本地使用)和Mercury Parser。

最初,我将后端部署到Heroku。部署非常简单,这很好。然而,Heroku偶尔会休眠您的应用程序,并且您的应用程序必须在3天内休眠一定的时间。简而言之,可用性得不到保证。尽管这是一个开源项目,盈利不是目标,但我希望它是可用的。Heroku的不可靠对我来说是一个很大的打击,所以我寻找了另一种选择。

我研究了Netlifly的云功能。但是,请求的数量和运行时间的数量是有限制的。然后我觉得“免费服务器托管”这个搜索词太宽泛了。我的后端是一个简单的NodeJS-Express应用程序。考虑到这一点,我查看了“免费的NodeJS应用托管”,在浏览了一下之后,我偶然发现了openode。它为开源项目提供了一个自由层。快速的谷歌搜索并没有显示出任何关于可用性的限制,至少没有太多的限制,以至于人们会在谷歌搜索上提供这样的抱怨。我决定用开码。

我喜欢openode的一点是部署过程可以通过命令行工具使用。对于大多数NodeJS应用程序开发人员来说,没有太多的前期知识需要学习。然而,这并不是没有摩擦的。

构建这个应用程序对我来说真的是一个有趣的挑战。我有机会提高我的问题解决、原型设计、时间管理技能,以及如何从开始到交付使用交付应用程序。