Yasashii

官方缺美工,咱就自己上!比WF官方主题好看亿点点~

目前為 2024-12-05 提交的版本,檢視 最新版本

  1. /* ==UserStyle==
  2. @name Yasashii
  3. @description 官方缺美工,咱就自己上!比WF官方主题好看亿点点~
  4. @namespace github.com/openstyles/stylus
  5. @version 1.1
  6. @author YYYYang
  7. @license MIT
  8. ==/UserStyle== */
  9. @-moz-document regexp("workflowy.com") {
  10. /*------------ BODY ------------- */
  11. :root {
  12. --bg-in: hsla(35, 36%, 96%, 1);
  13. /* 内板色 */
  14. --bg-edge: hsla(34, 34%, 90%, 1);
  15. /* 边缘色 */
  16. }
  17.  
  18.  
  19. ._theme-default {
  20.  
  21. .pageContainer {
  22. background: var(--bg-edge);
  23. }
  24.  
  25. .pageContainer .page {
  26. background: var(--bg-in);
  27. }
  28.  
  29. .header {
  30. background: var(--bg-edge);
  31. border-image: linear-gradient(to right, hsla(36, 38%, 73%, 1), rgba(66, 72, 75, 0) 65%) 1;
  32. }
  33.  
  34. .leftBar > div {
  35. background: var(--bg-edge);
  36. }
  37. }
  38.  
  39.  
  40. ._theme-dark {
  41.  
  42. .header {
  43. /*------------ Header 渐进色底线 ------------- */
  44. border-image: linear-gradient(to right, rgb(66, 72, 75), 40%, rgba(66, 72, 75, 0) 65%) 1;
  45. }
  46. }
  47. }
  48.  
  49. @-moz-document domain("workflowy.com") {
  50. /*------------ TODO Checkbox ------------- */
  51. /* 让todo方块节点与bullet普通节点 竖直对齐 */
  52. .checkmark:not(.boardColumn):not(.boardCard):not(.dashboard-card) > .name {
  53. a.bullet {
  54. opacity: 0;
  55. }
  56.  
  57. > .prefix,
  58. > .content {
  59. left: -22px;
  60. }
  61. }
  62.  
  63. .checkmark:not(.boardColumn):not(.boardCard):not(.dashboard-card) > .name:hover {
  64. a.bullet {
  65. opacity: 1;
  66. transition: opacity 3s ease-in-out;
  67. }
  68.  
  69. > .prefix,
  70. > .content {
  71. -webkit-animation: slide-right 1.2s 1.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
  72. animation: slide-right 0.2s 1.2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
  73. }
  74.  
  75. > .prefix label:hover {
  76. -webkit-animation: shake-bottom 1s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
  77. animation: shake-bottom 1s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;
  78. }
  79. }
  80.  
  81.  
  82. /* * ----------------------------------------
  83. /* * animation slide-right
  84. /* * ---------------------------------------- */
  85. @-webkit-keyframes slide-right {
  86. 0% {
  87. -webkit-transform: translateX(0);
  88. transform: translateX(0);
  89. }
  90.  
  91. 100% {
  92. -webkit-transform: translateX(22px);
  93. transform: translateX(22px);
  94. }
  95. }
  96.  
  97. @keyframes slide-right {
  98. 0% {
  99. -webkit-transform: translateX(0);
  100. transform: translateX(0);
  101. }
  102.  
  103. 100% {
  104. -webkit-transform: translateX(22px);
  105. transform: translateX(22px);
  106. }
  107. }
  108.  
  109.  
  110. /* * ----------------------------------------
  111. /* * animation shake-bottom
  112. /* * ---------------------------------------- */
  113. @-webkit-keyframes shake-bottom {
  114.  
  115. 0%,
  116. 100% {
  117. -webkit-transform: rotate(0deg);
  118. transform: rotate(0deg);
  119. -webkit-transform-origin: 50% 100%;
  120. transform-origin: 50% 100%;
  121. }
  122.  
  123. 10% {
  124. -webkit-transform: rotate(2deg);
  125. transform: rotate(2deg);
  126. }
  127.  
  128. 20%,
  129. 40%,
  130. 60% {
  131. -webkit-transform: rotate(-4deg);
  132. transform: rotate(-4deg);
  133. }
  134.  
  135. 30%,
  136. 50%,
  137. 70% {
  138. -webkit-transform: rotate(4deg);
  139. transform: rotate(4deg);
  140. }
  141.  
  142. 80% {
  143. -webkit-transform: rotate(-2deg);
  144. transform: rotate(-2deg);
  145. }
  146.  
  147. 90% {
  148. -webkit-transform: rotate(2deg);
  149. transform: rotate(2deg);
  150. }
  151. }
  152.  
  153. @keyframes shake-bottom {
  154.  
  155. 0%,
  156. 100% {
  157. -webkit-transform: rotate(0deg);
  158. transform: rotate(0deg);
  159. -webkit-transform-origin: 50% 100%;
  160. transform-origin: 50% 100%;
  161. }
  162.  
  163. 10% {
  164. -webkit-transform: rotate(2deg);
  165. transform: rotate(2deg);
  166. }
  167.  
  168. 20%,
  169. 40%,
  170. 60% {
  171. -webkit-transform: rotate(-4deg);
  172. transform: rotate(-4deg);
  173. }
  174.  
  175. 30%,
  176. 50%,
  177. 70% {
  178. -webkit-transform: rotate(4deg);
  179. transform: rotate(4deg);
  180. }
  181.  
  182. 80% {
  183. -webkit-transform: rotate(-2deg);
  184. transform: rotate(-2deg);
  185. }
  186.  
  187. 90% {
  188. -webkit-transform: rotate(2deg);
  189. transform: rotate(2deg);
  190. }
  191. }
  192. }
  193.  
  194. @-moz-document domain("workflowy.com") {
  195. /*------------ 字体 IBM Plex Mono ------------- */
  196. @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');
  197.  
  198. .dialog-box,
  199. .breadcrumbs,
  200. .content,
  201. .MobileBreadcrumbs {
  202. font-family: 'IBM Plex Mono', monospace !important;
  203. }
  204. }
  205.  
  206. @-moz-document domain("workflowy.com") {
  207. /*------------ Backlink 双链索引 ------------- */
  208. :root {
  209. --referencesBG: hsla(201, 13%, 15%, 1.00);
  210. }
  211.  
  212. .references.boardCard {
  213. padding-top: 1px;
  214. border-radius: 10px;
  215. }
  216.  
  217. ._theme-dark .references.boardCard {
  218. background: var(--referencesBG);
  219. border: 1px solid hsla(203, 5%, 28%, 1.00);
  220. }
  221. }
  222.  
  223.  
  224.  
  225. @-moz-document domain("workflowy.com") {
  226. /*------------ Board Kanban 看板视图 放大视野 ------------- */
  227. .board {
  228. /* zoom: 0.8; */
  229. zoom: 0.94;
  230. }
  231. }
  232.  
  233. @-moz-document domain("workflowy.com") {
  234. /*------------ Hover Cursor 鼠标悬停在链接跳转时的光标样式 ↔ + ↗ ------------- */
  235. /* cursor: cell; */
  236. /* 外站超链接 */
  237. .contentLink:hover {
  238. cursor: alias;
  239. /* ↗ */
  240. }
  241.  
  242. /* 站内链接 */
  243. .contentLink[href^="https://beta.workflowy.com"]:hover,
  244. .contentLink[href^="https://workflowy.com"]:hover {
  245. cursor: ne-resize;
  246. /* ↔ */
  247. }
  248. }
  249.  
  250.  
  251. @-moz-document domain("workflowy.com") {
  252. /*------------ Underline 下划线 黄线 ------------- */
  253. u {
  254. text-decoration: none !important;
  255. background: linear-gradient(#ffffff00 70%, #FFCF02 5%);
  256. /* padding-bottom: 2px; */
  257. transition: background-color 0.5s ease-in-out, height 0.5s ease-in-out;
  258. }
  259.  
  260. /* 鼠标悬停阴影 */
  261. u:hover {
  262. background-color: #8686865e;
  263. border-radius: 4px 4px 0 0;
  264. }
  265. }
  266.  
  267. @-moz-document domain("workflowy.com") {
  268. /*------------ 代码块 ------------- */
  269. :root {
  270. --background-alt-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23000000' fill-opacity='0.16' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
  271. --background-alt-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23ffffff' fill-opacity='0.16' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
  272.  
  273. --code-background-light: var(--background-alt-light);
  274. --code-background-dark: var(--background-alt-dark);
  275.  
  276. --background-light-border: #E0E0E0;
  277. --background-dark-border: #767272;
  278. }
  279.  
  280. ._theme-default .code-block > .name > .content {
  281. background: var(--code-background-light);
  282. border: 2px dashed var(--background-light-border);
  283. }
  284.  
  285. ._theme-dark .code-block > .name > .content {
  286. background: var(--code-background-dark);
  287. border: 2px dashed var(--background-dark-border);
  288. }
  289. }
  290.  
  291.  
  292.  
  293. @-moz-document domain("workflowy.com") {
  294. /*------------ Quote 引用块 ------------- */
  295. :root {
  296. /* --quote-bg-light: */
  297. /* --quote-bg-dark: #767272; */
  298. }
  299.  
  300. ._theme-default {
  301.  
  302. .quote-block > .name > .content {
  303.  
  304. /* border-left-width: 4px; */
  305. /* padding: unset; */
  306. padding: 1px;
  307. /* padding-top: 0px; */
  308. background: #086DDD21;
  309. background: linear-gradient(135deg, #086DDD21, #FFFFFF);
  310. border-top-left-radius: 8px;
  311. border-bottom-left-radius: 8px;
  312.  
  313.  
  314. > .innerContentContainer {
  315. border-width: 3px;
  316. border-radius: 4px;
  317. border-left-color: #086DDD;
  318. /* border-left: none; */
  319. }
  320. }
  321.  
  322. .quote-block > .name > .content:after {
  323. content: "";
  324. position: absolute;
  325. top: auto;
  326. right: 0;
  327. bottom: 0;
  328. left: auto;
  329. width: 1.5em;
  330. height: 1.5em;
  331. background: linear-gradient(to bottom right, #086DDD21, 50%, #FFFFFF 50%);
  332. -webkit-backdrop-filter: blur(2.5px);
  333. backdrop-filter: blur(2.5px);
  334. transition: all 0.2s ease-in-out;
  335. box-shadow: -4px -1px 2px 0px rgba(0, 0, 0, 0.2);
  336. }
  337.  
  338. .quote-block > .name > .content:hover:after {
  339. width: 0;
  340. height: 0;
  341. }
  342. }
  343.  
  344. ._theme-dark .quote-block > .name > .content {
  345. /* background: var(--quote-bg-dark); */
  346. /* border: 2px dashed var(--background-dark-border); */
  347. }
  348. }
  349.  
  350.  
  351. @-moz-document domain("workflowy.com") {
  352. /*------------ Tag 标签 ------------- */
  353. .contentTag {
  354. padding: 0 6px !important;
  355. border-radius: 10px !important;
  356. font-size: 0.8em;
  357. border: 0.1em solid #FFFFFF8C;
  358. /* font-style: italic; */
  359. /* line-height: 10px; */
  360. /* 修正添加tag后 多出来的细微1px行高差 */
  361. .contentTagText {
  362. text-decoration: none !important;
  363. /* color: var(--wf-yellow-200); */
  364. }
  365. }
  366.  
  367. .contentTag:hover {
  368. /* filter: brightness(125%) !important; */
  369. transition: 200ms ease-in-out;
  370. /* cursor: cell; */
  371. font-size: 1em;
  372. }
  373.  
  374. /*tag 标签颜色 */
  375. /* .contentTag[data-val="#purple"] */
  376. }
  377.  
  378.  
  379.  
  380.  
  381.  
  382. @-moz-document domain("workflowy.com") {
  383. /*------------ Kanban 看板视图 ------------- */
  384. /* 看板边距微调 视野更宽 */
  385. ._theme-default .page:has( > .root.board) {
  386.  
  387. padding-top: 20px;
  388. padding-left: 40px;
  389.  
  390. .board {
  391.  
  392. /* padding: 20px 0; */
  393. > .children {
  394.  
  395. /* padding: 10px; */
  396. /* border-radius: 5%; */
  397. .boardColumn {
  398.  
  399. /* overflow: hidden; */
  400. background-color: #F8F9FB;
  401. margin-right: 10px;
  402. /* padding-top: 14px; */
  403. border-radius: 12px;
  404.  
  405.  
  406. > .name {
  407. background-color: #FFFFFF;
  408. border: 1px solid #C7CDD7;
  409. border-radius: 8px;
  410. margin: 12px 9px;
  411. padding: 0px 0px 6px 20px;
  412. font-size: 20px;
  413. font-weight: normal;
  414. box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, .1);
  415. position: relative;
  416. > .content {
  417. line-height: 26px;
  418. }
  419.  
  420.  
  421. a.bullet {
  422. /* ⊙ Zoom指示器 */
  423. /* position: absolute; */
  424. /* background: rgba(129, 129, 129, .35); */
  425. top: 14px !important;
  426. right: 16px;
  427. /* bottom: 20%; */
  428. /* left: calc(100% - 22px); */
  429. /* left: 10px; */
  430. }
  431.  
  432. a.bullet:hover {
  433. /* BUG 阴影位置 */
  434. background: rgba(129, 129, 129, .35);
  435. background: transparent;
  436. /* bottom: -13px; */
  437. /* left: -3px; */
  438. /* left: calc(100% - 22px); */
  439. }
  440.  
  441. > a.bullet::before {
  442. /* 大圈 */
  443. border: 1px dashed #6D686896;
  444.  
  445. background: rgba(129, 129, 129, .35);
  446. width: 27px;
  447. height: 27px;
  448. /* top: 4px; */
  449. /* left: calc(100% - 22px); */
  450. }
  451.  
  452. > a.bullet::after {
  453. /* 中圈 */
  454. width: 14px;
  455. height: 14px;
  456. top: -3px;
  457. left: -3px;
  458. }
  459.  
  460. > a.bullet svg {
  461. /* 小点 */
  462. top: -4px;
  463. right: 4px;
  464. }
  465.  
  466.  
  467.  
  468. /* 看板标题的折叠箭头 */
  469. /* BUG 有些页面偏移 */
  470. > a.expand > div > svg {
  471. position: relative;
  472. left: -21px;
  473. top: -10px;
  474. color: rgb(86, 156, 214);
  475. /* width: 28px; */
  476. /* height: 28px; */
  477. }
  478.  
  479. > a.expand > div > svg:hover {
  480. width: 36px;
  481. height: 36px;
  482. transition: width 0.2s ease-in-out;
  483. }
  484.  
  485.  
  486. /* 汉堡菜单按钮 ⁝ */
  487. > .itemMenu svg {
  488. /* position: relative; */
  489. position: absolute;
  490. right: 12px;
  491. top: -8px;
  492. width: 32px;
  493. height: 17px;
  494. transform: rotateZ(90deg);
  495. color: rgb(5, 98, 174);
  496. background-color: rgba(110, 158, 188, .12);
  497. }
  498. }
  499.  
  500. /* 看板卡片 */
  501. .children .boardCard {
  502.  
  503. background-color: #FFFFFF;
  504. /* border-radius: 0 10px 10px 0; */
  505. border-radius: 10px;
  506.  
  507. /* BUG 后面的(…) 会被遮挡 */
  508. margin-left: -1px !important;
  509. margin-right: 9px !important;
  510.  
  511. /* 看板文字内容边距尽量缩小??? */
  512. > .name {
  513. > .content {
  514. padding-top: 0px;
  515. /* padding-right: 0px; */
  516. /* border-radius: 4px; */
  517. }
  518.  
  519. > a.expand > div > svg {
  520. position: relative;
  521. left: 12px;
  522. top: -4px;
  523. color: rgb(86, 156, 214);
  524. }
  525.  
  526. > a.expand > div > svg:hover {
  527. width: 32px;
  528. height: 32px;
  529. transition: width 0.2s ease-in-out;
  530. }
  531. }
  532. }
  533.  
  534. ::-webkit-scrollbar {
  535. display: none;
  536. }
  537. }
  538. }
  539. }
  540. }
  541.  
  542. /* Bullet视图下的 mini看板 */
  543. .page .root:not(.board) .board {
  544. .children {
  545. padding-bottom: 10px;
  546. }
  547.  
  548. ::-webkit-scrollbar {
  549. display: none;
  550. }
  551. }
  552.  
  553.  
  554. /* nameButtons */
  555. }
  556.  
  557. @-moz-document domain("workflowy.com") {
  558. /*------------ 小彩蛋 ------------- */
  559. /* 当节点数用量超额时 忽视并屏蔽超额提示板 以此获得无限量的节点额度 */
  560. div#app > .pageContainer > div:last-child:not(.page):has( > div > button > span) {
  561. display: none;
  562. }
  563.  
  564. div#app > div.dialog-backdrop:has( > div.dialog-box > button.primary) {
  565. display: none;
  566. }
  567. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址