热门标签 | 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

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


   



推荐阅读
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了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社区 版权所有