热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

uglynotes丑丑笔记(虽然丑,但有三大特色功能)

uglynotes丑丑笔记一个虽然长得丑,但在功能上有一些特色的笔记软件。

uglynotes 丑丑笔记

一个虽然长得丑,但在功能上有一些特色的笔记软件。




特色一:历史版本完全保留


  • 用户只管写,不用点击保存;放心大胆修改文章,修改过程会以 “历史版本” 的形式被记录,随时可以找回。

  • 默认每隔 1 分钟产生一个历史版本,该间隔时间可以自由设置。

  • 默认每篇笔记最多拥有 100 个历史版本,该数值也可自由设置。

  • 当产生的历史版本数量超过上限时,最早(最旧)的那个历史版本将被覆盖,依此类推,因此不用担心历史版本太多导致数据库空间浪费。

  • 对于重要的历史版本,用户可点击 “保护” 按钮,受保护的历史版本不会被覆盖。

特色二:Markdown 内嵌图片


  • 特色一历史版本功能是我在逛 V2EX 的时候看大家讨论笔记软件时获得的灵感,这个特色二也同样是看到有人说起,我才想到做这个功能。

  • 目前我做了一个独立的页面 http://note.ai42.xyz/convert 用来将图片转码,转码后可粘贴到任何 markdown 文件中(不局限于本站,任何支持 markdown 的地方都可以使用),即可让图片直接内嵌在 markdown 文件里。

  • 不需要图床,因此也不用怕图床失效,图片数据就在 markdown 文件里,因此图片永远有效。

特色三:对标签管理的重新思考


  • 用标签来管理文件,比使用文件夹更科学、更方便好用。但为了照顾用户习惯,很多支持标签的软件都会同时支持文件夹。

  • 但习惯的力量是可怕的,一旦支持文件夹,用户就不会认真对待标签,结果有的文件设了标签,同时有很多文件只是归类到文件夹里,完全没有标签。

  • 对于标签管理系统来说,“有的文件有标签,有的文件没有标签” 是灾难性的,这导致整个标签系统名存实亡,彻底沦有一个可有可无的辅助角色,发挥不出应有的效果。

  • 因此,在本软件中尝试不使用文件夹,只使用标签,并且要求每篇笔记至少要有两个标签。同时提出了一个 “标签组” 的概念,最大限度发挥标签的效果。

Tag Group (标签组)


  • 每个标签组要求至少包含 2 个标签。

  • 在标签组列表页面,可通过标签组来搜索笔记,也可通过标签组来创建新笔记。

  • 原则上只能通过标签组来创建新笔记,这是为了改变用户习惯,确保每篇笔记都有标签。

  • 下面通过一些例子来说明这样做的好处。

标签组示例

我们写笔记,最大的目的是为了日后能轻松找出笔记。在有了 “标签组” 这个高效率管理工具之后,只需要遵从一个简单的原则,即可轻松创建出非常有利于检索的标签组:

原则:一两个共性标签 + 一两个唯一性标签



比如:


  • 1
    #editor

    1
    #emacs

    1
    #快捷键



  • 1
    #editor

    1
    #emacs

    1
    #org-mode



  • 1
    #editor

    1
    #vim

    1
    #快捷键



  • 1
    #editor

    1
    #vim

    1
    #vimrc



  • 1
    #操作系统

    1
    #Windows

    1
    #快捷键


当我们用上述标签组来创建一些笔记后,


  • 1
    vim

    (共性标签) 能找出与 vim 有关的快捷键、vimrc 等笔记



  • 1
    org-mode

    1
    vimrc

    (唯一性标签) 即可直接找出最精确的结果



  • 1
    editor

    (更大范围的共性标签) 又能扩大搜索范围


  • 还可以搜
    1
    editor

    +

    1
    快捷键

    来找全部编辑器的快捷键而不被

    1
    操作系统

    的快捷键污染搜索结果


可见,标签管理很科学,也很易用,我们以前不这样用,是因为在有文件夹的系统里有大量文件没有标签,导致我们每当想通过标签来搜索文件时都心里没底,总觉得有漏网之鱼。

在规定必须使用标签的系统里,我们可以体验标签管理的真正实力。

demo 演示版


  • http://note.ai42.xyz (密码 abc)

  • demo 的笔记字数限制、数据库总容量、产生历史版本的间隔时间、自动提交次数上限等,都设置了比较低的数值,实际使用正式版时这些数值都可以自由设置。

  • demo 服务器在美国,一个非常低配的 VPS, 因此访问速度比较慢,这是网络问题不是程序问题。

关于丑


  • 我对前端界面美化实在不擅长,折腾起来太花时间,就索性不折腾了。没有用任何前端框架,CSS 也尽可能少用,因此是很原始的风格。

  • 主要考虑桌面屏幕,没有做手机屏幕适配,但我试了一下手机使用也……勉强能用。

  • 大体上是前后端分离的,后端只向前端返回 json, 从不返回渲染过的网页,因此有前端能力的朋友们可以轻松改写前端页面。

开源仓库

https://github.com/ahui2016/uglynotes

第 1 条附言  ·  76 天前

我手残,正文中图片转码网址我打错了!正确的是这个 http://note.ai42.xyz/converter

挺符合个人需求。手机勉强能用,期待全文搜索


   



推荐阅读
  • 编写了几个500行左右代码的程序,但基本上解决问题还是面向过程的思维,如何从问题中抽象出类,形成类的划分和设计,从而用面向对象的思维解决问题?有这方面的入门好书吗?最好是结合几个具体的案例分析的 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 百度服务再次遭遇技术问题,疑似DNS解析故障
    近日晚间,百度多项在线服务出现加载异常,包括移动端搜索在内的多个功能受到影响。初步迹象表明,问题可能与DNS服务器解析有关。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • HTML基础入门指南
    本文将深入浅出地介绍HTML的基础知识,包括其定义、开发工具、制定机构、特性、基本标签及更多实用内容。 ... [详细]
author-avatar
只做不说
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有