文档树最好的彩色样式,给予参考

本贴最后更新于 332 天前,其中的信息可能已经物是人非

如视频所展示的一样,这是我在 trilium 上的一个大神写的文档树 css,区别于彩色的背景太过于饱满而显得过于疲倦,只展示悬停才出现颜色,左侧以线段进行归属哪个层级,这是我认为文档树最好的彩色样式。

但我不懂代码,如果有大佬觉得这个不错,可以写一个代码片段适配到思源上。

这是 trilium 大神写的代码,是以 trilium 主题为载体 https://github.com/SiriusXT/trilium-theme-blue

而我在此基础上自己瞎琢磨修改的颜色的代码,有些自己加了#号

```undefined
/*
Blue theme 
https://github.com/SiriusXT/trilium-theme-blue
version:0.3 for trilium:>0.58.4
云遥修改版,基于Blue theme 做出适合自己的修改
*/
/*
感谢云遥大佬的修改版
在云遥修改版的基础上又进行了一些符合自己习惯的调整
*/

/*云遥改动处 */
:root {
   --main-background-color: #f3f8e8;
   ;
   /* #F2F2F2 */
   /*这里调整背景颜色,并不只是编辑区。*/
   /* --launcher-pane-background-color: #FFFFFF;   /*应该是左侧启动器最左边的那个东西的颜色*/
   --main-font-family: 'Roboto Condensed';
   /* 定义字体,三个字体都是拷贝的主题Linen的设置 */
   --detail-font-family: 'Crimson Pro';
   --monospace-font-family: 'Cousine';
}


div#toast-container {
   right: 0px !important;
   bottom: 0px !important;
   top: auto !important;
   width: auto !important;
}

.switch-widget span.slider.checked {
   background-color: var(--color-blue-light) !important;
}

div.note-detail div.ck-horizontal-line.ck-widget {
   margin-top: 10px !important;
}

.ck-content hr {
   margin-bottom: 10px !important;
}


body,
span.fancytree-title {
   font-family: var(--detail-font-family) !important;
}

/*搜索时候的关键字颜色*/
.ck-find-result {
    background: #b9d2ff;
    color: var(--ck-color-text);
}

span:not(.fancytree-active) span.fancytree-title {
   font-weight: 500 !important;
}

/*目录边界的控制*/
#right-pane .card-body {
    padding: 1px !important;
        padding-top: 1px;
        padding-right: 1px;
        padding-bottom: 1px;
        padding-left: 1px;
}
/*目录左右两边边距控制*/
.toc-widget {
    padding: 15px !important;
}
#launcher-pane .launcher-button {
   color: #F0F4F4 !important;
   /* 云遥改动处 ,原值 f0f4f4*/
   background-color: var(--color-blue-light) !important;
}

.global-menu {
   background-color: var(--color-blue-light);
   width: 44px !important;
}

ul.fancytree-container li {
   contain: initial;
}

/*这里是左上角的选项图标,新加了一行是控制图标大小的,新版本图标默认很大,所以需要大小控制*/
.global-menu-button {
   background-image: url("../../../favicon.ico") !important;
   background-size: 35px !important;
}

/*受保护的标题*/
#center-pane .title-row 
.note-title-widget input.note-title.protected {
    text-shadow: 1px 1px px var(--muted-text-color);
}

div#launcher-pane.component {
   width: 44px !important;
}

#launcher-pane .launcher-button {
   width: 44px !important;
   padding: initial !important;
}

div.spacer.component {
   background-color: var(--color-blue-light) !important;
   width: 44px;
}

.dropdown,
.dropleft,
.dropright,
.dropup {
   position: initial;
}

.sync-status .sync-status-icon {
   padding: 13px 8px 8px 8px;
}

.sync-status .sync-status-icon span {
   padding: 13px 8px 8px 8px;
}

#left-pane input.search-string {
   background: rgba(255, 255, 255, 0.3) !important;
}

div.quick-search.input-group.input-group-sm.component {
   align-content: center;
}

span.fancytree-node:not(.fancytree-folder) .fancytree-expander::before {
   content: "\ec21" !important;
   visibility: visible !important;
   color: rgba(51, 51, 51, 0.1) !important;
}

div#root-widget div.gutter-horizontal {
   background: var(--color-gray-light);
   width: 5px !important;
   border-left: var(--border-standard);
   border-radius: 0;
   padding-right: 0.3rem;
   border-right: var(--border-standard);
}

/*打开的页面的图标的样式*/
#center-pane .title-row .note-icon-widget button {
   display: flex;
   color: #9e49bb;

   margin: 0;
}
/*这里是一级标题部分*/
#center-pane .title-row .note-title-widget input.note-title {
   color: var(--color-blue-dark) !important;
}

.note-title-widget input.note-title.protected {
    text-shadow: 0px 0px 0px var(--muted-text-color);
}

input.note-title {
   font-family: var(--detail-font-family) !important;
   font-weight: bold;
}

.bx-dock-right::before {
   vertical-align: middle;
}


button.ck.ck-block-toolbar-button {
   background-color: rgba(255, 255, 255, 0);
}


html {
   --color-blue-light: #59AC80;
   --color-blue-light-alpha: #ABD49D;
   /*   当前活动标签页的背景色,原值#4682B470   */
   --color-gray: #d6d6d6;
   --color-gray-light: #59AC80;
   /*  至少这里是非活动标签、两侧分隔栏的颜色   */
   --accented-background-color: #B2E8C6;
   /*  这个才是卡片背景颜色   */
   --more-accented-background-color: #8AE097;
   /*  这个是鼠标悬浮在卡片上时的背景颜色 */
   --left-pane-background-color: #FDF5EA;
   /*   这个才是正儿八经的文件树的背景色   */
   --color-gray-light-text: #000000;
   /*  至少是非活动标签的字的颜色  */
   --color-gray-light-alpha: rgba(199, 199, 199, 0.2);
   --border-standard: 1px solid var(--color-gray);
   --color-blue-dark: #296e42;
   --link-color: #007BFF !important;
   --menu-background-color: #F3F9F1;
   /* 快速搜索结果的卡片的背景色 */
}

div#root-widget div#rest-pane div.tab-row-widget div.note-new-tab {
   color: var(--color-gray-dark);
   background-color: var(--color-gray-light-alpha);
}

div#rest-pane>div.component {
   height: 30px !important;
   margin-bottom: 1px !important;
}

.note-new-tab {
   width: 30px !important;
   height: 30px !important;
   font-size: 19px !important;
}

.tab-row-widget .note-tab .note-tab-close span {
   font-size: 23px !important;
}

div#root-widget div#rest-pane div.tab-row-widget div.note-new-tab:hover {
   color: var(--color-blue-light);
   background-color: var(--color-blue-light-alpha);
}

div#rest-pane div.tab-row-widget div.tab-row-widget-container div.note-tab div.note-tab-wrapper {
   background-color: var(--color-gray-light);
   color: var(--color-gray-light-text);
   padding: 3px 5px 1px 5px !important;
   height: 30px !important;
}

div#rest-pane div.tab-row-widget div.tab-row-widget-container div.note-tab div.note-tab-wrapper:hover {
   background-color: var(--color-blue-light-alpha);
}

div#rest-pane div.tab-row-widget div.tab-row-widget-container div.note-tab div.note-tab-wrapper>div:hover {
   background: none;
}

/*当前选中标签的字的颜色 */
div#rest-pane div.tab-row-widget div.tab-row-widget-container div.note-tab[active] .note-tab-wrapper {
   color: #146e20;
   background-color: var(--color-blue-light-alpha);
}

div#rest-pane div.tab-row-widget div.tab-row-widget-container div.note-tab[active] .note-tab-wrapper div.note-tab-title::before {
   content: "\203B ";
   margin-right: 5px;
}



/* 左侧面板背景图片,由于整个笔记的背景都换了,这个优先级不够高,故注释掉 */
/*#left-pane.component {
   background-image: url("/custom/background.png");
} 
*/
#线条
li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n) {
   border-left: 4px solid#F9950A !important;
   border-top-left-radius: 10px !important;
   border-bottom-left-radius: 10px !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+1) {
    border-left: 4px solid #30db5b !important;
   border-top-left-radius: 10px !important;
   border-bottom-left-radius: 10px !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+2) {
   border-left: 4px solid #409cff;
   border-top-left-radius: 10px !important;
   border-bottom-left-radius: 10px !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+3) {
   border-left: 4px solid #ff6482;
   border-top-left-radius: 10px !important;
   border-bottom-left-radius: 10px !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+4) {
   border-left: 4px solid #ffd426;
   border-top-left-radius: 10px !important;
   border-bottom-left-radius: 10px !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+5) {
   border-left: 4px solid #d48fff;
   border-top-left-radius: 10px !important;
   border-bottom-left-radius: 10px !important;
}

#li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n):hover {
   background-color: #f4a6a601 !important;
}

#li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+1):hover {
   --border-background-color:  #84D5BD !important;
}

#li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+2):hover {
   background-color: #719ACE !important;
}

#li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+3):hover {
   background-color: #F3D48C !important;
}

#li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+4):hover {
   background-color: #FEB4AD !important;
}

#li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+5):hover {
   background-color: #A5ACE2 !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n)>span.fancytree-node:hover {
   background-color: #F8B811 !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+1)>span.fancytree-node:hover {
   background-color: #8AE097 !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+2)>span.fancytree-node:hover {
   background-color: #A6C6FD !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+3)>span.fancytree-node:hover {
   background-color: #FEB4AD !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+4)>span.fancytree-node:hover {
   background-color: #F7DB8A !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+5)>span.fancytree-node:hover {
   background-color: #C5BCF0 !important;
}


.fancytree-node {
   padding-top: 0px !important;
   padding-bottom: 0px !important;
}

span.fancytree-node.fancytree-active {

   border-radius: 0px !important;
   border: 0px !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n)>span.fancytree-node.fancytree-active {
   background-color: #F8B811 !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+1)>span.fancytree-node.fancytree-active {
   background-color: #8AE097 !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+2)>span.fancytree-node.fancytree-active {
   background-color: #A6C6FD !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+3)>span.fancytree-node.fancytree-active {
   background-color: #FEB4AD !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+4)>span.fancytree-node.fancytree-active {
   background-color: #F7DB8A !important;
}

li.fancytree-lastsib ul li[role='treeitem']:nth-of-type(6n+5)>span.fancytree-node.fancytree-active {
   background-color: #C5BCF0 !important;
}
span.button-widget.icon-action.bx.component.bx-history,
.ribbon-button-container .icon-action {
   padding-top: 5px !important;
}

span.fancytree-node:hover {
   border: 0px !important;
}

span.fancytree-node {
   border: 0px !important;
}

.title-bar-buttons div button.icon-action {
   font-size: 80% !important;
}
/*右侧目录*/
/*如果不带!important优先级别较低,所以不会使用*/
.toc ol {
    padding-left: 25px !important;
}

div.note-detail p {
   font-size: 1.25rem;
   /* 云遥改动处,加入这一行,修改字体大小  */
   margin-top: 0.1rem !important;
   margin-bottom: 0.5rem !important;
   line-height: 2.25rem;
   /*  行高,,减去1.25的字体大小,行距为 1  */
   text-indent: 0em;
   /*  云遥改动处,2em修改为0em,去除缩进2个字符  */
   text-align: justify;
   text-justify: distribute;
}

dl,
ol,
ul {
   padding-left: 1em;
}
/*列表的字体大小*/
div.note-detail ul>li,
ol>li {
   font-size: 1.3rem;
   /* 云遥改动处,修改了列表项的字体大小 */
   text-align: justify;
   text-justify: distribute;
}

blockquote>p {
   text-indent: 0em;
   /* 引用块去除缩进,原作者貌似在0.58.4的主题里就是0em,但上一个版本是2em */
}

p>span.ck-math-tex {
   text-indent: 0em;
}


.note-detail {
   line-height: 2.25rem;
}


.ck-content p>span.image-inline {
   vertical-align: middle;

}


.ck-content figure.image {
   margin-top: 0.2rem;
   margin-bottom: 0.2rem;
}

div.note-detail.component span.image-inline {
   border: 1px dashed rgb(200, 200, 200);
}

div.note-detail.component figure.image {
   border: 1px dashed rgb(200, 200, 200);
}

::selection {
   background-color: rgba(70, 130, 180, 0.7) !important;

}

.note-properties-widget {
   padding: 0px !important;
}

.note-icon-widget.dropdown.component {
   padding-top: 1.5px !important;
}

.basic-properties-widget>* {
   margin-top: 0px !important;
}

div.attribute-list {
   margin-top: 0px !important;
}

.basic-properties-widget {
   padding: 0px 12px 0px 12px !important;
}

.component {
   padding-top: 0px !important;
   padding-bottom: 0px !important;
}

.inherited-attributes-container {
   padding: 0px 12px 0px 12px !important;
}

.add-new-attribute-button,
.save-attributes-button {
   bottom: 0px !important;
}


::-webkit-scrollbar-thumb {
   border-radius: 5px !important;
   background: rgba(0, 0, 0, 0.2) !important;
}

::-webkit-scrollbar {
   height: 12px;
}


/* 这里才是卡片背景颜色*/
div#center-pane .note-book-card {
   border: 1px solid rgba(128, 128, 128, 0.5) !important;
}




#center-pane div.note-detail-editable-text div.note-detail-editable-text-editor.ck.ck-content pre,
#center-pane .CodeMirror pre code {
   color: var(--color-blue-dark) !important;
   padding: 0.2em;
   margin: 0.5rem auto 0.5rem;
   background-color: var(--color-gray-light);
   border: 1px dotted var(--color-gray);
}

.ck.ck-editor__editable pre[data-language]::after {
   background: rgba(10, 10, 10, 0.1);
}
/*编辑模式下代码背景色*/
.ck.ck-editor__editable .ck-code_selected {
background-color: hsla(0,0%,51%,36%) !important;
}
/*浏览模式下代码背景色*/
.ck-content code {
background-color: hsla(0,0%,51%,36%) ;/*这里如果加上了"!important" 那么代码块中也会受到影响,所以去掉后就正常了*/
}


span.katex * {
   font-family: KaTeX_Main !important;
   font: KaTeX_Main, Times New Roman, serif !important;
}

.katex-display {
   margin: 0.1rem 0;
}


/*后代选择器,选中.ck-content下的引用块元素设置样式*/
.ck-content blockquote {
   font-style: initial !important;
   color: #2C3E50 !important;
   border-left: 5px solid #D6DBDF !important;
   /* 云遥改动处 */
   /* 原值   background: none repeat scroll 0 0 rgba(102, 128, 153, .05) !important; */
   /*引用块颜色,这里要使用不透明的,否则如果使用rgba的话,会和底色叠加,不好估计是什么颜色*/
   background: none repeat scroll 0 0 rgb(169, 299, 178) !important;
   padding: 2px 1px 3px !important;
   margin: 0.2rem 0 0 0 !important;
}

/*子元素选择器,选中引用块里的p元素,也就是文字元素,设置样式*/
blockquote>p {
   margin-bottom: 0 !important;
   text-indent: 0em !important;
   /* 云遥改动处,引用块文字去除缩进,原值1.7em,改为0*/
}

dl,
ol,
ul {
   margin-bottom: 0.1rem !important;
}



.ck-content .table {
   margin-top: 0.1rem;
   margin-bottom: 0.1rem;
}

/*这里注释掉是因为暂时不知道有什么用,好像也没啥用*/
/* a[href^="#root"] {
   
} */

html body.mobile.heading-style-plain div#root-widget.component div#launcher-pane.component div#launcher-container.component div.spacer.component {
   background-color: var(--color-blue-light);
   /*不知道是干啥的*/
   width: 44px !important;
}

/*云遥改动处,列表项第一级显示实心圆而不是空心圆  */
.ck-content ul {
   list-style-type: disc;
   line-height: 2.25rem;
   /*行高*/
}

/*不知道是版本问题还是什么,这部分是右侧目录的颜色*/
ol li {
   /*一级目录*/
   color: #000000;
   line-height: 2.25rem;
   /*行高 */
}

ol ol>li {
   /*二级目录*/
   color: #0a84ff;
   line-height: 2.25rem;
}

ol ol>ol>li {
   /*三级目录*/
   color: #ff2d55;
   line-height: 2.25rem;
}

ol ol>ol>ol>li {
   /*四级目录*/
   color: #e6952f;
   line-height: 2.25rem;
}

ol ol>ol>ol>ol>li {
   /*五级目录*/
   color: #af52de;
   line-height: 2.25rem;
}

/*这部分才是有序列表的颜色*/
ol>li {
   /*有序列表,第一层*0075cb/
   color: #F9C40A;
   line-height: 2.25rem;
   /*行高 */
}

ol>li>ol>li {
   /*有序列表,第二层*/
   color: #0094c1;
   line-height: 2.25rem;
}

ol>li>ol>li>ol>li {
   /*有序列表,第三层*/
   color: #3c32bd;
   line-height: 2.25rem;
}

ol>li>ol>li>ol>li>ol>li {
   /*有序列表,第四层*/
   color: #bb4ead;
   line-height: 2.25rem;
}

ol>li>ol>li>ol>li>ol>li>ol>li {
   /*有序列表,第五层*/
   color: #ff9354;
   line-height: 2.25rem;
}

/*编辑模式下有序列表边框有限制,导致10,这种只会显示0,所以特意设置下边距*/
.ck.ck-editor__editable_inline {
    padding-left: 17px;
}

/*浏览模式下右边控制有点冲突,有些会被挡住强迫症很难受所以特意设置下边距*/
.note-detail-readonly-text {
    padding-right: 6px;
}

/*这个就是无序列表项、有序列表项前面的那个圈圈或者数字标识的颜色*/
::marker {
   color: #4682B4;
}

/*编辑模式下,代码块背景颜色*/
#center-pane div.note-detail-editable-text div.note-detail-editable-text-editor.ck.ck-content pre,
#center-pane .CodeMirror pre code {
    color: var(--color-blue-dark) !important;
    padding: 0.2em;
    margin: 0.5rem auto 0.5rem;
    background-color: #FFFAFA;
    /*这部分是控制代码块边缘的阴影的,使代码块看起来更像一个单独的块*/
    border: 1px solid #a5a5a5;
}

/*只读模式下,代码块背景颜色 */
.ck-content pre {
   background: #FFFAFA;
   border: 1px solid #a5a5a5;
   border-radius: 2 px;
   color: #353535;
   direction: ltr;
   font-style: normal;
   min-width: 200 px;
   padding: 1 em;
   tab-size: 4;
   text-align: left;
   white-space: pre-wrap;
}

/*
#root-widget.component {
   background-image: url("/custom/background.png");
   background-size: 100% 100%;
}
*/

.ck .ck-link_selected {
   background-color: #F2F2F2;
}

/*列表的标签数字*/
::marker {
    color: #886bbf;
}
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    28446 引用 • 119783 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    215 引用 • 358 回帖
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4602 回帖 • 731 关注
  • 电影

    这是一个不能说的秘密。

    125 引用 • 610 回帖
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    695 引用 • 538 回帖 • 1 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 2 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 693 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 633 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 152 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 443 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 702 关注
  • 千千插件

    千千块(自定义块 css 和 js)
    可以用 ai 提示词来无限创作思源笔记

    32 引用 • 69 回帖
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 646 关注
  • 博客

    记录并分享人生的经历。

    274 引用 • 2393 回帖 • 1 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    167 引用 • 408 回帖 • 494 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 436 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    99 引用 • 367 回帖 • 1 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 577 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 46 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 838 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 3 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    950 引用 • 1460 回帖 • 2 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    35 引用 • 468 回帖 • 768 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    40 引用 • 157 回帖
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖 • 3 关注