From 8efba22ed34b6eeb28b5f410177e5a1545b5d798 Mon Sep 17 00:00:00 2001 From: shu Date: Tue, 28 Jul 2026 19:16:16 +0800 Subject: 用 Org GTD 工作流替换事情看板 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 注册 text/x-org 内容类型和 CodeMirror 编辑器,支持 TODO 状态流转、层级调整、子树移动与折叠。 新增 Org 文档解析、Agenda 日期分组、源任务定位、侧栏入口和响应式样式,并补充中文使用说明。 快捷键改为仅在 Org 编辑器中按配置加载,默认不绑定;无效 JSON 或键名只禁用自定义键位,不影响编辑器启动。 移除旧事情看板的字段模板、组件、样式和默认入口,统一使用 Org GTD 工作流。 --- tiddlers/plugin-task-board-styles.tid | 641 ---------------------------------- 1 file changed, 641 deletions(-) delete mode 100644 tiddlers/plugin-task-board-styles.tid (limited to 'tiddlers/plugin-task-board-styles.tid') diff --git a/tiddlers/plugin-task-board-styles.tid b/tiddlers/plugin-task-board-styles.tid deleted file mode 100644 index f3c81b1..0000000 --- a/tiddlers/plugin-task-board-styles.tid +++ /dev/null @@ -1,641 +0,0 @@ -title: $:/plugins/local/task-board/styles -tags: $:/tags/Stylesheet - -\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline - -.tc-task-board { - width: 100%; - --task-p1: #d84b4b; - --task-p2: <>; - --task-p3: #5b9a68; -} - -.tc-task-board-toolbar { - display: flex; - align-items: center; - justify-content: space-between; - gap: 1rem; - margin-bottom: 1.25rem; -} - -.tc-task-board-new { - padding: 0.55rem 1rem; - color: <>; - font-weight: 700; - background: <>; - border-radius: 0.45rem; -} - -.tc-task-board-switcher { - display: grid; - grid-template-columns: repeat(4,auto); - border: 1px solid <>; - border-radius: 999px; - overflow: hidden; -} - -.tc-task-board-view-button { - padding: 0.45rem 0.8rem; - border-right: 1px solid <>; -} - -.tc-task-board-view-button:last-child { - border-right: 0; -} - -.tc-task-board-view-button.tc-selected { - color: <>; - background: <>; -} - -.tc-task-kanban { - display: grid; - grid-template-columns: repeat(4,minmax(15rem,1fr)); - gap: 0.75rem; - padding-bottom: 0.5rem; - overflow-x: auto; - scroll-snap-type: x proximity; -} - -.tc-task-kanban-column { - min-height: 18rem; - padding: 0.7rem; - background: <>; - border: 1px solid <>; - border-radius: 0.65rem; - scroll-snap-align: start; - transition: box-shadow 120ms ease; -} - -.tc-task-kanban-column.tc-drag-over { - box-shadow: inset 0 0 0 3px <>; -} - -.tc-task-kanban-heading { - margin: 0 0 0.7rem; - font-size: 1rem; -} - -.tc-task-kanban-cards { - display: grid; - gap: 0.55rem; -} - -.tc-task-card { - padding: 0.7rem; - background: <>; - border: 1px solid <>; - border-radius: 0.5rem; - box-shadow: 0 1px 2px rgba(0,0,0,0.08); - cursor: grab; -} - -.tc-task-card.tc-dragging { - opacity: 0.45; -} - -.tc-task-card-top { - display: flex; - align-items: flex-start; - justify-content: space-between; - gap: 0.5rem; -} - -.tc-task-card-title, -.tc-task-list-link, -.tc-task-gantt-task-link, -.tc-task-unscheduled-link { - color: <>; - font-weight: 650; - text-align: left; -} - -.tc-task-card-title:hover, -.tc-task-list-link:hover, -.tc-task-gantt-task-link:hover, -.tc-task-unscheduled-link:hover { - text-decoration: underline; -} - -.tc-task-priority { - display: inline-flex; - flex: 0 0 auto; - padding: 0.12rem 0.38rem; - color: #fff; - font-size: 0.72rem; - font-weight: 700; - border-radius: 999px; -} - -.tc-task-priority-p1 {background: var(--task-p1);} -.tc-task-priority-p2 {background: var(--task-p2);} -.tc-task-priority-p3 {background: var(--task-p3);} - -.tc-task-card-dates, -.tc-task-card-tags { - margin-top: 0.45rem; - color: <>; - font-size: 0.78rem; - line-height: 1.45; -} - -.tc-task-issues { - display: block; - margin-top: 0.4rem; - color: #b33a3a; - font-size: 0.75rem; -} - -.tc-task-empty-column, -.tc-task-empty { - padding: 1.25rem; - color: <>; - text-align: center; -} - -.tc-task-list-wrapper { - width: 100%; - overflow-x: auto; -} - -.tc-task-list { - width: 100%; - border-collapse: collapse; -} - -.tc-task-list th, -.tc-task-list td { - padding: 0.65rem; - text-align: left; - vertical-align: top; - border-bottom: 1px solid <>; -} - -.tc-task-list th { - white-space: nowrap; - background: <>; -} - -.tc-task-list-title { - min-width: 12rem; -} - -.tc-task-list-row.tc-task-invalid { - background: rgba(216,75,75,0.08); -} - -.tc-task-calendar-controls { - display: flex; - align-items: center; - justify-content: center; - gap: 0.5rem; - margin-bottom: 0.8rem; -} - -.tc-task-calendar-title { - min-width: 9rem; - margin: 0; - text-align: center; -} - -.tc-task-month-button { - min-height: 2.25rem; - padding: 0.35rem 0.65rem; - border: 1px solid <>; - border-radius: 999px; -} - -.tc-task-calendar-grid { - border: 1px solid <>; - border-radius: 0.5rem; - overflow: hidden; -} - -.tc-task-calendar-header, -.tc-task-calendar-week { - display: grid; - grid-template-columns: repeat(7,minmax(0,1fr)); -} - -.tc-task-calendar-week { - position: relative; - gap: 1px; - background: <>; - border-top: 1px solid <>; -} - -.tc-task-calendar-weekday { - padding: 0.55rem 0.2rem; - font-weight: 700; - text-align: center; - background: <>; -} - -.tc-task-calendar-day { - z-index: 0; - min-width: 0; - min-height: 8rem; - padding: 0.35rem; - background: <>; -} - -.tc-task-calendar-blank { - background: <>; -} - -.tc-task-calendar-day-number { - display: flex; - align-items: center; - justify-content: center; - width: 1.65rem; - height: 1.65rem; - margin-bottom: 0.3rem; - font-weight: 700; - border-radius: 50%; -} - -.tc-task-calendar-today .tc-task-calendar-day-number { - color: <>; - background: <>; -} - -.tc-task-calendar-range, -.tc-task-calendar-point, -.tc-task-calendar-milestone { - z-index: 1; - align-self: center; - display: block; - width: 100%; - min-width: 0; - padding: 0.2rem 0.3rem; - color: #fff; - font-size: 0.72rem; - line-height: 1.2; - text-align: left; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.tc-task-calendar-range { - margin-left: -1px; - margin-right: -1px; - background: var(--task-p2); -} - -.tc-task-calendar-range[data-priority="P1"] {background: var(--task-p1);} -.tc-task-calendar-range[data-priority="P3"] {background: var(--task-p3);} -.tc-task-calendar-point[data-priority="P1"] {background: var(--task-p1);} -.tc-task-calendar-point[data-priority="P2"] {background: var(--task-p2);} -.tc-task-calendar-point[data-priority="P3"] {background: var(--task-p3);} -.tc-task-calendar-range.tc-range-start {border-radius: 0.35rem 0 0 0.35rem;} -.tc-task-calendar-range.tc-range-end {border-radius: 0 0.35rem 0.35rem 0;} -.tc-task-calendar-range.tc-range-start.tc-range-end {border-radius: 0.35rem;} - -.tc-task-calendar-point { - border-radius: 0.35rem; -} - -.tc-task-calendar-milestone { - color: #fff; - background: #7656b5; - border-radius: 0.3rem; -} - -.tc-task-unscheduled { - margin-top: 1rem; - padding: 0.8rem; - background: <>; - border-radius: 0.5rem; -} - -.tc-task-unscheduled h3 { - margin: 0 0 0.5rem; - font-size: 1rem; -} - -.tc-task-unscheduled-list { - display: flex; - flex-wrap: wrap; - gap: 0.45rem; -} - -.tc-task-unscheduled-link { - padding: 0.3rem 0.55rem; - background: <>; - border-radius: 0.35rem; -} - -.tc-task-gantt-scroll { - width: 100%; - overflow: auto; - border: 1px solid <>; - border-radius: 0.5rem; -} - -.tc-task-gantt { - width: max-content; - min-width: 100%; - --task-gantt-label-width: 18rem; -} - -.tc-task-gantt-row { - display: grid; - grid-template-columns: var(--task-gantt-label-width) var(--task-gantt-width); - min-height: 3.25rem; - border-bottom: 1px solid <>; -} - -.tc-task-gantt-row:last-child { - border-bottom: 0; -} - -.tc-task-gantt-label { - position: sticky; - left: 0; - z-index: 2; - display: flex; - align-items: center; - justify-content: space-between; - gap: 0.45rem; - padding: 0.45rem 0.6rem; - background: <>; - border-right: 1px solid <>; -} - -.tc-task-gantt-header { - position: sticky; - top: 0; - z-index: 4; - min-height: 4.5rem; -} - -.tc-task-gantt-header .tc-task-gantt-label { - z-index: 5; - font-weight: 700; - background: <>; -} - -.tc-task-gantt-timeline { - position: relative; - width: var(--task-gantt-width); - background-image: repeating-linear-gradient(to right,transparent 0,transparent 29px,<> 29px,<> 30px); -} - -.tc-task-gantt-header-timeline { - display: grid; - grid-template-rows: 2rem 2.5rem; - background: <>; -} - -.tc-task-gantt-months { - display: flex; - width: var(--task-gantt-date-width); - height: 2rem; -} - -.tc-task-gantt-month-segment { - position: relative; - flex: 0 0 auto; - height: 2rem; - border-left: 2px solid <>; -} - -.tc-task-gantt-month-label { - position: sticky; - left: calc(var(--task-gantt-label-width) + 0.5rem); - z-index: 1; - display: inline-flex; - align-items: center; - height: 2rem; - padding: 0 0.45rem; - font-size: 0.78rem; - font-weight: 700; - white-space: nowrap; - background: <>; -} - -.tc-task-gantt-days { - display: flex; - width: var(--task-gantt-date-width); - height: 2.5rem; - border-top: 1px solid <>; -} - -.tc-task-gantt-day { - flex: 0 0 auto; - padding-top: 0.65rem; - font-size: 0.72rem; - text-align: center; - white-space: nowrap; - border-right: 1px solid <>; -} - -.tc-task-gantt-bar { - position: absolute; - top: 0.8rem; - height: 1.65rem; - padding: 0; - background: var(--task-p2); - border-radius: 0.35rem; -} - -.tc-task-gantt-bar[data-priority="P1"] {background: var(--task-p1);} -.tc-task-gantt-bar[data-priority="P3"] {background: var(--task-p3);} - -.tc-task-gantt-bar-label { - position: absolute; - top: 0.8rem; - z-index: 2; - display: inline-flex; - align-items: center; - height: 1.65rem; - padding: 0 0.25rem; - color: <>; - font-size: 0.78rem; - font-weight: 650; - white-space: nowrap; -} - -.tc-task-gantt-bar-label:hover, -.tc-task-gantt-bar-label:focus { - text-decoration: underline; -} - -.tc-task-gantt-due, -.tc-task-gantt-end { - position: absolute; - top: 0.95rem; - z-index: 2; - padding: 0; - transform: translateX(-50%); - font-size: 1rem; -} - -.tc-task-gantt-due {color: #b33a3a;} -.tc-task-gantt-end {color: var(--task-p2);} - -.tc-task-gantt-today-line { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - width: 2px; - background: #b33a3a; - pointer-events: none; -} - -.tc-task-field-panel { - display: grid; - grid-template-columns: repeat(5,minmax(0,1fr)); - gap: 0.6rem; - margin: 0.7rem 0; - padding: 0.75rem; - background: <>; - border: 1px solid <>; - border-radius: 0.5rem; -} - -.tc-task-field { - display: grid; - gap: 0.3rem; -} - -.tc-task-field > span, -.tc-task-view-field span { - color: <>; - font-size: 0.76rem; - font-weight: 650; -} - -.tc-task-field-control { - width: 100%; - min-width: 0; - min-height: 2.25rem; -} - -.tc-task-view-field { - display: grid; - gap: 0.2rem; -} - -@media (max-width: 700px) { - .tc-task-board-toolbar { - display: grid; - gap: 0.65rem; - } - - .tc-task-board-new { - min-height: 2.75rem; - } - - .tc-task-board-switcher { - grid-template-columns: repeat(4,minmax(0,1fr)); - border-radius: 0.5rem; - } - - .tc-task-board-view-button { - min-width: 0; - padding: 0.5rem 0.15rem; - } - - .tc-task-kanban { - grid-template-columns: repeat(4,minmax(82vw,82vw)); - } - - .tc-task-list, - .tc-task-list tbody, - .tc-task-list tr, - .tc-task-list td { - display: block; - } - - .tc-task-list thead { - display: none; - } - - .tc-task-list-row { - margin-bottom: 0.7rem; - padding: 0.65rem; - border: 1px solid <>; - border-radius: 0.5rem; - } - - .tc-task-list td { - display: grid; - grid-template-columns: 4.5rem minmax(0,1fr); - padding: 0.3rem; - border: 0; - } - - .tc-task-list td::before { - content: attr(data-label); - color: <>; - font-size: 0.78rem; - font-weight: 650; - } - - .tc-task-list-title { - min-width: 0; - } - - .tc-task-calendar-controls { - display: grid; - grid-template-columns: repeat(3,minmax(0,1fr)); - } - - .tc-task-calendar-title { - grid-column: 1 / -1; - grid-row: 1; - justify-self: center; - } - - .tc-task-month-button { - grid-row: 2; - min-height: 2.75rem; - padding: 0.3rem 0.15rem; - } - - .tc-task-calendar-weekday { - padding: 0.4rem 0; - font-size: 0.75rem; - } - - .tc-task-calendar-day { - min-height: 6.5rem; - padding: 0.15rem; - } - - .tc-task-calendar-day-number { - width: 1.5rem; - height: 1.5rem; - font-size: 0.78rem; - } - - .tc-task-calendar-range, - .tc-task-calendar-point, - .tc-task-calendar-milestone { - padding: 0.16rem 0.1rem; - font-size: 0.62rem; - text-align: center; - } - - .tc-task-gantt-row { - --task-gantt-label-width: 9rem; - } - - .tc-task-gantt-label { - padding: 0.4rem; - } - - .tc-task-gantt-task-link { - max-width: 6rem; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - } - - .tc-task-field-panel { - grid-template-columns: 1fr; - } -} -- cgit v1.2.3