├── .github
└── workflows
│ └── publish.yml
├── .gitignore
├── README.md
├── custom.css
├── docs
├── better-typography(legacy).md
├── compability-for-accent-color.md
├── fix-codemirror(legacy).md
├── some-thoughts-on-doc-mode.md
└── table-overflow(legacy).md
├── icon.png
├── media
├── Desktop-2020-03-30.png
├── Desktop-2021-08-09.png
├── Desktop-2022-05-23.jpg
├── Desktop.png
├── Mobile.png
├── codemirror-fix.gif
├── codemirror-overflow.gif
├── headings.png
├── image-20210809034129439.png
├── journal-title-emoji.png
├── lists.png
├── outline-unfold.png
├── plugin.png
├── table-dot.gif
├── table-expected.png
├── table-unexpected.png
└── tag-label.png
├── package-lock.json
├── package.json
└── source
├── codeMirror.scss
├── color-scheme.scss
├── index.scss
├── layout.scss
├── palette
├── bg_dark_sequential_colors.xml
├── blue_dark_sequential_colors.xml
└── blue_light_sequential_colors.xml
├── theme-dark.scss
├── theme-white.scss
└── theme.scss
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
1 | name: Build plugin
2 |
3 | on:
4 | push:
5 | # Sequence of patterns matched against refs/tags
6 | tags:
7 | - "*" # Push events to matching any tag format, i.e. 1.0, 20.15.10
8 |
9 | env:
10 | PLUGIN_NAME: logseq-bonofix-theme
11 |
12 | jobs:
13 | build:
14 | runs-on: ubuntu-latest
15 |
16 | steps:
17 | - uses: actions/checkout@v2
18 | - name: Use Node.js
19 | uses: actions/setup-node@v1
20 | with:
21 | node-version: "14.x" # You might need to adjust this value to your own version
22 | - name: Build
23 | id: build
24 | run: |
25 | mkdir ${{ env.PLUGIN_NAME }}
26 | cp README.md package.json icon.png *.css ${{ env.PLUGIN_NAME }}
27 | zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }}
28 | ls
29 | echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)"
30 |
31 | - name: Create Release
32 | id: create_release
33 | uses: actions/create-release@v1
34 | env:
35 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36 | VERSION: ${{ github.ref }}
37 | with:
38 | tag_name: ${{ github.ref }}
39 | release_name: ${{ github.ref }}
40 | draft: false
41 | prerelease: false
42 |
43 | - name: Upload zip file
44 | id: upload_zip
45 | uses: actions/upload-release-asset@v1
46 | env:
47 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48 | with:
49 | upload_url: ${{ steps.create_release.outputs.upload_url }}
50 | asset_path: ./${{ env.PLUGIN_NAME }}.zip
51 | asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip
52 | asset_content_type: application/zip
53 |
54 | - name: Upload package.json
55 | id: upload_metadata
56 | uses: actions/upload-release-asset@v1
57 | env:
58 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59 | with:
60 | upload_url: ${{ steps.create_release.outputs.upload_url }}
61 | asset_path: ./package.json
62 | asset_name: package.json
63 | asset_content_type: application/json
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | css/
2 | node_modules/
3 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
logseq-bonofix-theme
3 |
4 |
5 |
6 | 🌠 Screenshots
7 | |
8 | 📦 Install
9 | |
10 | ✨ What's different
11 | |
12 | 🔨 How to build
13 |
14 |
15 |
16 | This is a clean theme for [Logseq](https://github.com/logseq/logseq), focusing on bullet journal and long time writing experience.
17 |
18 | ## Screenshots
19 |
20 | The style is strongly inspired by [logseq-bujo-theme](https://github.com/PiotrSss/logseq-bujo-theme ) and [Notion](https://notion.so). The code is mainly based on bujo theme, and you may find the style really notion-like.
21 |
22 | 
23 |
24 | It partially adapts to the custom accent color in logseq's settings. You can change the default accent(blue) color without obvious style breaking.
25 |
26 | ## Install
27 |
28 | Here are two ways of installing theme in Logseq.
29 |
30 | ### Install plugin
31 |
32 |
33 |
34 | - Open Logseq → Plugins → Market Place, install **Bonofix Theme** plugin
35 |
36 | - Open Logseq → Themes, choose your theme
37 |
38 | ### Install `custom.css`
39 |
40 | - General installation
41 |
42 | Copy the whole content of [custom.css](https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/master/custom.css) into your `graphname/logseq/custom.css` file.
43 |
44 | - If you are always working online
45 |
46 | Copy this one-line-installation into your logseq/custom.css file
47 |
48 | ```css
49 | @import url('https://cdn.jsdelivr.net/gh/sansui233/logseq-bonofix-theme/custom.css');
50 | ```
51 |
52 | ## What's different
53 |
54 | **Functional style**
55 |
56 | - Simple but functional colors
57 |
58 | - Make tippy window like responsive card instead of filling the screen and obscuring text. (Legacy bcz Logseq default theme has made it)
59 |
60 | - Wrap text in query table results to make it easier to read. Table remains to scroll if too many columns
61 |
62 | **Additional Styles**
63 |
64 | - Calender emoji before journal title
65 |
66 |
67 | - Round tags
68 |
69 |
70 | - Round checkbox
71 |
72 | ## How to build
73 |
74 | 1. Install [node](https://nodejs.org/)
75 | 2. Clone repo
76 | ```shell
77 | git clone https://github.com/Sansui233/logseq-bonofix-theme.git && cd logseq-bonofix-theme
78 | ```
79 | 3. Install dependencies
80 | ```shell
81 | npm install
82 | ```
83 | 4. Run build
84 |
85 | ```shell
86 | npm run build
87 | ```
88 |
89 | ## Thanks
90 |
91 | - [Logseq](https://github.com/logseq/logseq)
92 | - [logseq-bujo-theme](https://github.com/PiotrSss/logseq-bujo-theme) by PiotrSss
93 | - Dark mode of [Notion](https://notion.so)
94 | - All feedbacks from github issue, email and discord
95 |
--------------------------------------------------------------------------------
/custom.css:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";@import url("https://cdn.jsdelivr.net/npm/@ibm/plex@4.0.2/css/ibm-plex.min.css?family=IBM+Plex+Sans: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");:root{--ls-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";--ls-tag-text-opacity:.6;--ls-tag-text-hover-opacity:.8;--ls-page-title-size:36px}.white-theme,html[data-theme=light]{--bf-codeblock-background-color:#f7f6f3;--bf-external-link-color:#ea6e6e;--bf-external-link-hover-color:#e6515e;--bf-tag-background-color:var(--lx-accent-10);--bf-query-clause-border-color:var(--lx-accent-06);--bf-query-clause-background-color:#8fc3ff15;--bf-query-clause-background-hover-color:#8fc3ff33;--ls-scrollbar-foreground-color:#00000014;--ls-scrollbar-background-color:#fff0;--bf-scrollbar-thumb-hover-color:#8a8a8a61;--bf-a-chosen-bg:#0007100f;--bf-hard-shadow-color:#00000015;--bf-transparent-bg-mask:#88888813}.dark-theme,html[data-theme=dark]{--bf-codeblock-background-color:#313238;--bf-external-link-color:#e86e6e;--bf-external-link-hover-color:#f29191;--bf-query-clause-border-color:var(--lx-accent-06);--bf-query-clause-background-color:#2f82c615;--bf-query-clause-background-hover-color:#2f82c633;--bf-strong-text-color:#d8d8d8;--ls-scrollbar-foreground-color:#8a8a8a3d;--ls-scrollbar-background-color:#fff0;--bf-scrollbar-thumb-hover-color:#8a8a8a61;--bf-a-chosen-bg:#adaeb81c;--bf-hard-shadow-color:#1d1d1d;--bf-transparent-bg-mask:#86878920}html[data-color=tomato] body,html[data-color=red] body,html[data-color=crimson] body,html[data-color=pink] body,html[data-color=plum] body,html[data-color=purple] body,html[data-color=violet] body,html[data-color=indigo] body,html[data-color=blue] body,html[data-color=cyan] body,html[data-color=teal] body,html[data-color=green] body,html[data-color=grass] body,html[data-color=orange] body{--ls-tag-text-color:white;--ls-tag-text-hover-color:white}html[data-color=tomato] body.dark-theme,html[data-color=red] body.dark-theme,html[data-color=crimson] body.dark-theme,html[data-color=pink] body.dark-theme,html[data-color=plum] body.dark-theme,html[data-color=purple] body.dark-theme,html[data-color=violet] body.dark-theme,html[data-color=indigo] body.dark-theme,html[data-color=blue] body.dark-theme,html[data-color=cyan] body.dark-theme,html[data-color=teal] body.dark-theme,html[data-color=green] body.dark-theme,html[data-color=grass] body.dark-theme,html[data-color=orange] body.dark-theme{--ls-page-checkbox-color:var(--lx-accent-09);--bf-tag-background-color:var(--lx-accent-09)}html[data-color=tomato] body.light-theme,html[data-color=red] body.light-theme,html[data-color=crimson] body.light-theme,html[data-color=pink] body.light-theme,html[data-color=plum] body.light-theme,html[data-color=purple] body.light-theme,html[data-color=violet] body.light-theme,html[data-color=indigo] body.light-theme,html[data-color=blue] body.light-theme,html[data-color=cyan] body.light-theme,html[data-color=teal] body.light-theme,html[data-color=green] body.light-theme,html[data-color=grass] body.light-theme,html[data-color=orange] body.light-theme{--ls-page-checkbox-color:var(--lx-accent-08)}html[data-color=logseq][data-theme=light]{--rx-logseq-01:#fff;--rx-logseq-02:#ecf3fd;--rx-logseq-03:#d7e7fe;--rx-logseq-04:#c0dbfd;--rx-logseq-05:#a8cffd;--rx-logseq-06:#8fc3ff;--rx-logseq-07:#7cb4f4;--rx-logseq-08:#5c9de7;--rx-logseq-09:#3e8adc;--rx-logseq-10:#2582ec;--rx-logseq-11:#1e79de;--rx-logseq-12:#106bc6;--accent:212 84% 54%;--primary:212 84% 54%;--ls-primary-text-color:#2b2926;--ls-primary-background-color:#fff;--ls-secondary-background-color:#f8f8f8;--ls-tertiary-background-color:#efefef;--ls-quaternary-background-color:#e8e8e8;--ls-page-properties-background-color:#88888818;--ls-block-properties-background-color:#88888818;--ls-callout-background-color:#8888881a;--ls-table-tr-even-background-color:#0000000a;--ls-border-color:#d4d4d4;--ls-secondary-border-color:var(--rx-logseq-06);--ls-link-ref-text-color:var(--rx-logseq-09);--ls-link-ref-text-hover-color:var(--rx-logseq-011);--ls-active-primary-color:var(--rx-logseq-09);--ls-active-secondary-color:var(--rx-logseq-011);--ls-link-text-color:var(--ls-link-ref-text-color);--ls-link-text-hover-color:var(--ls-link-ref-text-hover-color);--ls-alink-color:var(--ls-link-text-color);--ls-cloze-text-color:var(--ls-link-ref-text-color);--ls-tag-text-color:white;--ls-tag-text-hover-color:white;--ls-block-bullet-border-color:#00000015;--ls-block-bullet-color:#c7c7c7;--ls-guideline-color:#00000024;--ls-page-inline-code-bg-color:rgba(135,131,120,0.15);--ls-page-blockquote-color:var(--ls-primary-text-color);--ls-page-blockquote-border-color:var(--ls-primary-text-color);--ls-page-checkbox-color:var(--rx-logseq-07);--ls-page-checkbox-border-color:var(--ls-page-checkbox-color);--ls-icon-color:#919191;--ls-header-button-text-color:#999;--ls-header-button-text-color-hover:var(--ls-secondary-text-color);--ls-header-button-background:var(--ls-secondary-background-color);--ls-left-sidebar-text-color:var(--ls-primary-text-color);--ls-button-background-hsl:211.96 83.97% 53.53%;--ls-a-chosen-bg:#0007100f;--ls-title-text-color:#303537}html[data-color=logseq][data-theme=dark]{--rx-logseq-01:#093562;--rx-logseq-02:#0f4276;--rx-logseq-03:#0e4d8b;--rx-logseq-04:#1b5fa0;--rx-logseq-05:#2670b3;--rx-logseq-06:#2f82c6;--rx-logseq-07:#4490d0;--rx-logseq-08:#549cd9;--rx-logseq-09:#61adea;--rx-logseq-10:#6cbcfa;--rx-logseq-11:#6cbcfa;--rx-logseq-12:#afd6ff;--background:225 6% 13%;--popover:228 6% 16%;--accent:207 60% 54%;--border:0 .01% 25%;--primary:210 60% 54%;--secondary:210 85% 42% / 20%;--muted:210 85% 42% / 20%;--card:210 85% 42% / 20%;--input:210 35% 25%;--ls-primary-text-color:#cecece;--ls-secondary-text-color:#bbb;--ls-primary-background-color:#202024;--ls-secondary-background-color:#28282c;--ls-tertiary-background-color:#323235;--ls-quaternary-background-color:#38383b;--ls-left-sidebar-background-color:var(--ls-secondary-background-color);--ls-page-properties-background-color:#8687892a;--ls-block-properties-background-color:#8687892a;--ls-callout-background-color:#8687892a;--ls-table-tr-even-background-color:#adaeb81c;--ls-border-color:#3f3f3f;--ls-secondary-border-color:var(--rx-logseq-07);--ls-link-ref-text-color:var(--rx-logseq-11);--ls-link-ref-text-hover-color:var(--rx-logseq-12);--ls-active-primary-color:var(--ls-link-ref-text-color);--ls-active-secondary-color:var(--rx-logseq-08);--ls-block-ref-link-text-color:var(--rx-logseq-09);--ls-link-text-color:var(--ls-link-ref-text-color);--ls-link-text-hover-color:var(--ls-link-ref-text-hover-color);--ls-alink-color:var(--ls-link-text-color);--ls-cloze-text-color:var(--ls-link-ref-text-color);--ls-tag-text-color:white;--ls-tag-text-hover-color:white;--bf-tag-background-color:var(--lx-accent-06);--ls-block-bullet-border-color:#ffffff25;--ls-block-bullet-color:#ffffff33;--ls-guideline-color:#ffffff33;--ls-page-checkbox-color:var(--rx-logseq-08);--ls-page-checkbox-border-color:var(--ls-primary-background-color);--ls-page-blockquote-color:var(--ls-primary-text-color);--ls-page-blockquote-border-color:var(--ls-primary-text-color);--ls-page-inline-code-color:#eb5757;--ls-page-inline-code-bg-color:rgba(135,131,120,0.15);--ls-selection-background-color:#3e3e41;--ls-block-highlight-color:#3e3e41;--ls-icon-color:#b5b5b5;--ls-search-icon-color:var(--ls-quaternary-background-color);--ls-header-button-text-color:#b5b5b5;--ls-header-button-text-color-hover:var(--ls-primary-text-color);--ls-header-button-background:var(--ls-secondary-background-color);--ls-left-sidebar-text-color:var(--ls-primary-text-color);--ls-button-background-hsl:207 60% 54%;--ls-a-chosen-bg:var(--ls-table-tr-even-background-color);--ls-title-text-color:var(--ls-primary-text-color);--ls-menu-hover-color:#36383b;--ls-slide-background-color:var(--ls-primary-background-color);--ls-head-text-color:#ffe27c;--color-level-1:var(--ls-tertiary-background-color);--color-level-2:var(--ls-quaternary-background-color);--color-level-3:#3c3c40;--color-level-4:#4c4e58}html[data-color=logseq][data-theme=dark] .ui__context-menu-content,html[data-color=logseq][data-theme=dark] .ui__dropdown-menu-content,html[data-color=logseq][data-theme=dark] .ui__select-content{--accent:235 7% 70% / .11}html[data-color=logseq][data-theme=dark] .cp__cmdk .border-gray-06,html[data-color=logseq][data-theme=dark] .cp__cmdk .border-gray-07{opacity:1}.cp__sidebar-main-content{width:100%}#main-content-container .file{margin:0 auto}body{background-color:var(--ls-primary-background-color)}.cp__header{--ls-header-button-background:var(--ls-header-button-text-color)}.cp__header button,.cp__header>.r>div:not(.ui__dropdown-trigger) a{color:var(--ls-header-button-text-color)}.left-sidebar-inner a.item.active,.left-sidebar-inner a.item:hover{opacity:unset;background-color:var(--bf-a-chosen-bg)}.left-sidebar-inner .nav-content-item .header:hover,.left-sidebar-inner .nav-content-item .bd ul a:hover{background-color:var(--bf-a-chosen-bg)}.left-sidebar-inner .nav-content-item .header .wrap-th>strong{font-size:.8rem}.left-sidebar-inner .create .ui__icon{transform:translateY(-2px)}@media(min-width:640px){.left-sidebar-inner .create #create-button{transition:all .3s ease;border:unset;opacity:.6;background-color:unset !important;justify-content:flex-start;padding:.625rem;font-size:.85rem;font-weight:600;color:var(--ls-left-sidebar-text-color);text-transform:uppercase}.left-sidebar-inner .create #create-button:hover{border:unset;opacity:1;background-color:var(--ls-primary-background-color) !important;box-shadow:0 0 5px rgba(126,126,126,0.2392156863)}.left-sidebar-inner .create .mx-1{margin:0 .5rem}}.cp__right-sidebar .cp__right-sidebar-settings .cp__right-sidebar-settings-btn{background-color:var(--color-level-2);font-weight:500}.cp__right-sidebar .cp__right-sidebar-settings .cp__right-sidebar-settings-btn:hover{background-color:var(--ls-quaternary-background-color)}.cp__right-sidebar .sidebar-item-list .sidebar-item{--tw-shadow:unset;border-bottom:2px solid var(--color-level-3)}.cp__right-sidebar .sidebar-item-list .sidebar-item .content{font-size:.95rem}.cp__all_pages .actions{display:relative}.cp__all_pages .actions a{color:var(--ls-primary-text-color)}.cp__all_pages .actions::before{content:"";display:block;position:absolute;left:0;top:-1rem;width:100%;height:1rem;z-index:-1;background-color:var(--ls-primary-background-color)}.cp__all_pages table th{border-bottom:1px solid var(--ls-border-color)}.cp__all_pages table th a{color:var(--ls-primary-text-color)}#main-content-container{padding:1rem 2.5rem}#main-content-container .journal.page h1.title:before{content:"🗓";vertical-align:text-bottom;margin-right:.3em;font-size:.75em}#main-content-container .is-journals h1.page-title:before{content:"🗓";vertical-align:text-bottom;margin-right:.3em;font-size:.75em;align-self:center}#main-content-container .cp__sidebar-main-content h1.title{font-weight:700;font-size:33px;margin-bottom:1rem;margin-left:0 !important}html ::-webkit-scrollbar-thumb{background:var(--ls-scrollbar-foreground-color);background-clip:padding-box;border-left:1px solid transparent;border-right:1px solid transparent;border-radius:4px;cursor:pointer}html ::-webkit-scrollbar-thumb:hover{background:var(--bf-scrollbar-thumb-hover-color);border-radius:4px;border:2px solid transparent}.visible-scrollbar ::-webkit-scrollbar,html.custom-scrollbar ::-webkit-scrollbar{background-color:var(--ls-scrollbar-background-color)}.content hr{margin:.1rem 0}.content .block-children{margin-bottom:.3rem}.content .block-children-left-border{transition:background-color .3s}.content .block-properties,.content .page-properties{margin:8px 0;padding:10px 20px;background-color:var(--ls-block-properties-background-color,var(--rx-gray-03))}.content .embed.color-level{background-color:var(--bf-transparent-bg-mask)}.content blockquote{background-color:unset;border-color:var(--ls-primary-text-color)}.content .admonitionblock{padding:16px 16px 16px 12px;background-color:var(--ls-callout-background-color);margin:unset;border-radius:.25rem}.content .admonitionblock .text-lg{font-size:.9em;margin-left:0;line-height:1.35rem}.content .admonitionblock .admonition-icon{padding-right:.65em;border:unset}.content .admonitionblock .admonition-icon svg.svg-shadow{-webkit-filter:unset;filter:unset}.content .admonitionblock .admonition-icon svg.h-8.w-8{width:1.7em;height:1.7em}.content .admonitionblock .admonition-icon svg.important{color:#f17272;fill:#f17272}.content .admonitionblock .admonition-icon svg.caution{color:#ffb381;fill:#ffb381}.content .admonitionblock .admonition-icon svg.tip{color:#4ca6f5;fill:#4ca6f5}.content .admonitionblock .admonition-icon svg.note{color:var(--ls-secondary-text-color);fill:var(--ls-secondary-text-color)}.content ul,.content ol{margin-top:5px;margin-bottom:5px}.content ul>li>p:first-child,.content ol>li>p:first-child{display:inline}.content h1,.content h2,.content h3,.content h4,.content h5{margin-top:0;padding-bottom:0;margin-bottom:0;border-bottom:0}.content .editor-inner textarea.h2,.content .editor-inner textarea.h1{margin-top:0;margin-bottom:0;padding-bottom:0;border-bottom:unset}.content a.tag{padding:0 7px;border-radius:1em;margin:2px 0;color:var(--ls-tag-text-color);background-color:var(--bf-tag-background-color)}.content a.tag:hover{text-decoration:unset}.content a.external-link{color:var(--bf-external-link-color)}.content a.external-link:hover{color:var(--bf-external-link-hover-color)}.content .block-ref{border-radius:3px;font-style:italic;color:var(--ls-primary-text-color)}.content .form-checkbox{border-radius:50%;z-index:1;position:relative;margin-top:unset !important;margin-left:.1em;width:1rem;height:1rem}.content .form-checkbox,.content .form-radio{top:unset}.content .marker-switch{display:inline-block;line-height:1rem;opacity:.7;font-weight:700;transition:.3s;margin-left:-1.5em;margin-right:5px;padding:0 8px 0 1.5em;border-radius:12px}.content :not(pre)>code{border-radius:3px;font-size:85%;font-family:MonoLisa,"Fira Code",Monaco,Menlo,Consolas,"COURIER NEW",monospace;padding:2px 6px !important;margin:0 1px;color:#eb5757;background-color:var(--ls-page-inline-code-bg-color)}.content .page-reference:hover{background-color:var(--ls-tertiary-background-color)}.content div[data-refs-self*='"card"']{box-shadow:unset}.content div[data-refs-self*='"card"'] .block-children{margin-bottom:unset}.content div[data-refs-self*='"card"']>.block-children-container{background:var(--ls-block-properties-background-color);padding:1em 0;border-radius:.375rem;border:solid 1px var(--bf-hard-shadow-color);box-shadow:0 0 5px var(--bf-hard-shadow-color)}.content div[data-refs-self*='"card"']>.block-children-container>.block-children{margin-bottom:5px}.content .query-table>table,.content .custom-query-results table,.content .block-body>.table-wrapper table{word-break:normal}.content .query-table>table th,.content .custom-query-results table th,.content .block-body>.table-wrapper table th{border-top:solid 1.5px var(--ls-border-color);border-bottom:solid 1px var(--ls-border-color);text-transform:capitalize;color:#9f9f9f;padding:.5em .5em .5em .875em}.content .query-table>table th a,.content .custom-query-results table th a,.content .block-body>.table-wrapper table th a{color:#9f9f9f}.content .query-table>table th a:hover,.content .custom-query-results table th a:hover,.content .block-body>.table-wrapper table th a:hover{color:var(--ls-primary-text-color)}.content .query-table>table th:not(:last-child),.content .query-table>table td:not(:last-child),.content .custom-query-results table th:not(:last-child),.content .custom-query-results table td:not(:last-child),.content .block-body>.table-wrapper table th:not(:last-child),.content .block-body>.table-wrapper table td:not(:last-child){border-right:solid 1px var(--ls-border-color)}.content .query-table>table tr td,.content .custom-query-results table tr td,.content .block-body>.table-wrapper table tr td{font-size:.95em;padding:.5em .5em .5em .875em;min-width:17ch;text-wrap:pretty}.content .query-table>table tbody tr:not(:last-child),.content .custom-query-results table tbody tr:not(:last-child),.content .block-body>.table-wrapper table tbody tr:not(:last-child){border-bottom:solid 1px var(--ls-border-color)}.content .query-table>table tbody tr:last-child,.content .custom-query-results table tbody tr:last-child,.content .block-body>.table-wrapper table tbody tr:last-child{border-bottom:solid 1.5px var(--ls-border-color)}.content .custom-query>.th{margin-bottom:.5rem;font-size:.825rem;font-weight:500;opacity:.5}.content .custom-query table{margin-top:.5rem}.content .cp__query-builder .query-clause-btn{padding:0 .5rem;line-height:1.5rem;border-radius:1.5rem;border-color:var(--bf-query-clause-border-color);background-color:color-mix(in srgb,var(--lx-accent-03) 25%,transparent)}.content .cp__query-builder .query-clause-btn:hover{background-color:color-mix(in srgb,var(--lx-accent-04) 25%,transparent)}.content .cp__query-builder a.query-clause{color:var(--lx-accent-09,var(--ls-active-secondary-color))}.content .cp__query-builder a.add-filter{opacity:.4}.content .cp__query-builder a.add-filter:hover{opacity:1;color:var(--bf-tag-background-color)}.content .block-content tr:nth-child(odd){background:unset}.content.doc-mode .ls-block{padding:.25rem}.content.doc-mode .ls-block h1{margin-top:1rem;margin-bottom:.35rem}.content.doc-mode .ls-block h2{margin-top:1rem;margin-bottom:.35rem}.content.doc-mode .ls-block h3{margin-top:.8rem;margin-bottom:.35em}.content.doc-mode .ls-block h4{margin-top:.5rem;margin-bottom:.35rem}.content.doc-mode .ls-block h5{margin-top:.5rem;margin-bottom:.35rem}.content.doc-mode .ls-block h6{margin-top:.5rem;margin-bottom:.35rem}.content.doc-mode .ls-block dl,.content.doc-mode .ls-block ul,.content.doc-mode .ls-block ol{margin-top:.5rem;margin-bottom:.5rem}.content.doc-mode .ls-block dl>li,.content.doc-mode .ls-block ul>li,.content.doc-mode .ls-block ol>li{margin-bottom:.35rem}.content.doc-mode .ls-block .admonitionblock{margin:.5rem 0}.bullet-container:not(.typed-list) .bullet{background-color:var(--ls-block-bullet-color,var(--rx-gray-08))}.tippy-popper .tippy-tooltip{border-radius:.5rem;background-color:var(--ls-primary-background-color)}.tippy-popper .tippy-wrapper{max-height:45vh !important;max-width:min(90vw,600px) !important;background-color:var(--ls-primary-background-color);border-radius:.5rem}.cp__palette #ui__ac-inner code{color:var(--ls-primary-text-color)}.cp__palette #ui__ac-inner a:hover{color:var(--ls-link-ref-text-color)}.cp__palette #ui__ac-inner a>span{width:100%}@media screen and (max-width:640px){#head{background-color:var(--ls-primary-background-color)}#main-container #main-content-container{padding:16px 20px}.cp__settings-inner>aside{border-right:unset}.cp__settings-inner>aside ul{border-bottom:1px solid var(--ls-quaternary-background-color)}}html[data-theme=light] #left-bar nav>a,html[data-theme=light] #left-bar svg{color:var(--ls-priamary-text-color)}html[data-theme=light] #left-bar #repo-name{opacity:1;height:22px;transform:translateY(-1px)}html[data-theme=light] .content .external-link{border-bottom:.05em solid rgba(55,53,47,0.25)}html[data-theme=light] .content .block-ref{background:rgba(40,142,111,0.1);border-bottom-color:rgba(40,142,111,0.3)}html[data-theme=light] .content .marker-switch{color:#504d47;background:#f3f2ed;opacity:1}html[data-theme=light] .content .marker-switch:hover{opacity:.7}html[data-theme=light] .references-blocks-item div[data-refs-self*='"card"']>.block-children-container,html[data-theme=light] .cp__right-sidebar-inner div[data-refs-self*='"card"']>.block-children-container{background:var(--ls-primary-background-color)}html[data-theme=light] .cp__right-sidebar,html[data-theme=light] .references-blocks-item{--bf-codeblock-background-color:#f3f1ed}html[data-theme=light] .cp__right-sidebar .marker-switch,html[data-theme=light] .references-blocks-item .marker-switch{background:#e8e7e3}html[data-theme=dark] .cp__header .dropdown-wrapper a,html[data-theme=dark] .cp__header .dropdown-wrapper span{opacity:1}html[data-theme=dark] .left-sidebar-inner a.item{color:var(--ls-primary-text-color)}html[data-theme=dark] .content b,html[data-theme=dark] .content strong{font-weight:bolder;color:var(--bf-strong-text-color)}html[data-theme=dark] .content a.tag{opacity:.83}html[data-theme=dark] .content a.tag:hover{opacity:1}html[data-theme=dark] .content a.external-link b,html[data-theme=dark] .content a.external-link strong{color:var(--bf-external-link-color)}html[data-theme=dark] .content a.external-link b:hover,html[data-theme=dark] .content a.external-link strong:hover{color:var(--bf-external-link-hover-color)}html[data-theme=dark] .content mark{background:#766101;color:var(--ls-primary-text-color)}html[data-theme=dark] .content .external-link{border-bottom:.05em solid rgba(255,255,255,0.4)}html[data-theme=dark] .content .block-ref{background:rgba(31,83,88,0.4705882353);border-bottom-color:rgba(83,210,210,0.5019607843)}html[data-theme=dark] .content .marker-switch{color:var(--ls-primary-text-color);background:#444}html[data-theme=dark] .content .marker-switch:hover{opacity:1}html[data-theme=dark] .content svg.add-button>.circle{fill:var(--ls-block-bullet-color,#394b59)}html[data-theme=dark] .cp__right-sidebar,html[data-theme=dark] .references-blocks-item{--ls-page-properties-background-color:var(--ls-tertiary-background-color)}html[data-theme=dark] .menu-links-wrapper,html[data-theme=dark] .ui__modal-panel,html[data-theme=dark] .menu-link{background-color:var(--ls-secondary-background-color)}html[data-theme=dark] .menu-link:hover,html[data-theme=dark] .menu-link.chosen{background-color:var(--ls-menu-hover-color)}html[data-theme=dark] .ui__modal-overlay div{background:var(--ls-primary-background-color)}html[data-theme=dark] .tippy-tooltip,html[data-theme=dark] .tippy-wrapper{background-color:var(--ls-secondary-background-color)}html[data-theme=dark][data-color=logseq] .cp__cmdk>.hints,html[data-theme=dark][data-color=logseq] .ui__modal-panel,html[data-theme=dark][data-color=logseq] .tippy-tooltip,html[data-theme=dark][data-color=logseq] .form-input{border-color:var(--ls-border-color)}html[data-theme=dark][data-color=logseq] .ui__button.as-ghost:hover{background-color:rgba(255,255,255,0.1333333333)}html[data-theme=dark][data-color=logseq] .cp__themes-installed .it.is-active,html[data-theme=dark][data-color=logseq] .cp__themes-installed .it:hover{background-color:var(--ls-table-tr-even-background-color)}.cm-s-solarized,.cm-s-solarized.cm-s-light,.cm-s-solarized.cm-s-dark{background-color:var(--bf-codeblock-background-color);text-shadow:unset}.cm-s-solarized.CodeMirror,.cm-s-solarized.cm-s-light.CodeMirror,.cm-s-solarized.cm-s-dark.CodeMirror{-moz-box-shadow:unset;-webkit-box-shadow:unset;box-shadow:unset}.cm-s-solarized .CodeMirror-gutters,.cm-s-solarized.cm-s-light .CodeMirror-gutters,.cm-s-solarized.cm-s-dark .CodeMirror-gutters{background-color:var(--bf-codeblock-background-color)}.cm-s-solarized .CodeMirror-linenumber,.cm-s-solarized.cm-s-light .CodeMirror-linenumber,.cm-s-solarized.cm-s-dark .CodeMirror-linenumber{text-shadow:unset}.cm-s-lsradix.cm-s-light .CodeMirror-gutters,.cm-s-lsradix.cm-s-dark .CodeMirror-gutters{background-color:inherit}.extensions__code{display:block;background-color:var(--bf-codeblock-background-color);border-radius:.25rem}.extensions__code .code-editor{margin:.5rem 0}.extensions__code .extensions__code-lang{margin-right:7px;margin-top:7px;padding:unset;background-color:unset;opacity:.6}.extensions__code textarea{color:var(--ls-primary-text-color);background-color:var(--bf-codeblock-background-color)}.extensions__code .CodeMirror{color:var(--ls-secondary-text-color);background-color:var(--bf-codeblock-background-color);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;padding:0 10px 0 20px;border-radius:.25rem}.extensions__code .CodeMirror .CodeMirror-sizer .CodeMirror-lines .CodeMirror-cursors .CodeMirror-cursor{border-left:solid thin #82aaff}.CodeMirror-lines{padding:4px 0}.CodeMirror-scroll{padding-top:18px;padding-bottom:66px}.extensions__code-calc{padding-top:22px;padding-right:22px}.white-theme .cp__right-sidebar .CodeMirror,.white-theme .cp__right-sidebar .CodeMirror-gutters,.white-theme .cp__right-sidebar .extensions__code-lang{background-color:rgba(242,241,238,0.95)}.cm-s-solarized .CodeMirror-matchingbracket,.cm-s-lsradix .CodeMirror-matchingbracket{text-decoration:underline;color:#5bdfdf !important}.cm-s-solarized span.cm-comment,.cm-s-lsradix span.cm-comment{color:#a0a0a0}.cm-s-solarized span.cm-string,.cm-s-solarized span.cm-string-2,.cm-s-lsradix span.cm-string,.cm-s-lsradix span.cm-string-2{color:#e6c963}.cm-s-solarized span.cm-number,.cm-s-lsradix span.cm-number{color:#978ade}.cm-s-solarized span.cm-variable,.cm-s-lsradix span.cm-variable{color:#82aaff}.cm-s-solarized span.cm-variable-2,.cm-s-lsradix span.cm-variable-2{color:rgba(255,255,255,0.7)}.cm-s-solarized span.cm-def,.cm-s-lsradix span.cm-def{color:var(--ls-secondary-text-color)}.cm-s-solarized span.cm-operator,.cm-s-lsradix span.cm-operator{color:#f15f60}.cm-s-solarized span.cm-keyword,.cm-s-lsradix span.cm-keyword{color:#f15f60}.cm-s-solarized span.cm-atom,.cm-s-lsradix span.cm-atom{color:#978ade}.cm-s-solarized span.cm-meta,.cm-s-lsradix span.cm-meta{color:white}.cm-s-solarized span.cm-tag,.cm-s-lsradix span.cm-tag{color:#f07178}.cm-s-solarized span.cm-attribute,.cm-s-lsradix span.cm-attribute{color:#c792ea}.cm-s-solarized span.cm-qualifier,.cm-s-lsradix span.cm-qualifier{color:#41b394}.cm-s-solarized span.cm-property,.cm-s-lsradix span.cm-property{color:#9bd174}.cm-s-solarized span.cm-builtin,.cm-s-lsradix span.cm-builtin{color:#45add6}.cm-s-solarized span.cm-variable-3,.cm-s-solarized span.cm-type,.cm-s-lsradix span.cm-variable-3,.cm-s-lsradix span.cm-type{color:darkorange}.white-theme .cm-s-solarized span.cm-string,.white-theme .cm-s-solarized span.cm-string-2,.white-theme .cm-s-lsradix span.cm-string,.white-theme .cm-s-lsradix span.cm-string-2{color:darkorange}.white-theme .cm-s-solarized span.cm-variable-2,.white-theme .cm-s-lsradix span.cm-variable-2{color:rgba(0,0,0,0.7)}.white-theme .cm-s-solarized span.cm-def,.white-theme .cm-s-lsradix span.cm-def{color:var(--ls-secondary-text-color)}.white-theme .cm-s-solarized span.cm-meta,.white-theme .cm-s-lsradix span.cm-meta{color:var(--ls-secondary-text-color)}.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background{background:rgba(0,0,0,0.1)}.cm-s-solarized.cm-s-dark .CodeMirror-linenumber{color:#586375}.cm-s-solarized.cm-s-light .CodeMirror-activeline-background{background:rgba(0,0,0,0.05)}.dark-theme .cm-s-solarized.cm-s-dark.CodeMirror ::selection,.dark-theme .cm-s-lsradix.cm-s-dark.CodeMirror ::selection{background:rgba(255,255,255,0.1)}.dark-theme .cm-s-solarized.cm-s-dark div.CodeMirror-selected,.dark-theme .cm-s-lsradix.cm-s-dark div.CodeMirror-selected{background:rgba(255,255,255,0.1)}.dark-theme .cm-s-solarized.cm-s-dark .CodeMirror-line::selection,.dark-theme .cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection,.dark-theme .cm-s-lsradix.cm-s-dark .CodeMirror-line::selection,.dark-theme .cm-s-lsradix.cm-s-dark .CodeMirror-line::-moz-selection{background:rgba(255,255,255,0.1)}.dark-theme .cm-s-dark .CodeMirror-line>span::selection,.dark-theme .cm-s-dark .CodeMirror-line>span::-moz-selection,.dark-theme .cm-s-dark .CodeMirror-line>span>span::selection,.dark-theme .cm-s-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,0.1)}.white-theme .cm-s-solarized.cm-s-light div.CodeMirror-selected,.white-theme .cm-s-lsradix.cm-s-light div.CodeMirror-selected{background:rgba(168,175,255,0.2)}.white-theme .cm-s-solarized.cm-s-light .CodeMirror-line::selection,.white-theme .cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection,.white-theme .cm-s-lsradix.cm-s-light .CodeMirror-line::selection,.white-theme .cm-s-lsradix.cm-s-light .CodeMirror-line::-moz-selection{background:rgba(168,175,255,0.2)}.white-theme .cm-s-solarized.cm-s-dark div.CodeMirror-selected{background:rgba(168,175,255,0.2)}.white-theme .cm-s-solarized.cm-s-dark div.CodeMirror-selected{background:rgba(168,175,255,0.2)}.white-theme .cm-s-light .CodeMirror-line>span::selection,.white-theme .cm-s-light .CodeMirror-line>span::-moz-selection,.white-theme .cm-s-light .CodeMirror-line>span>span::selection,.white-theme .cm-s-light .CodeMirror-line>span>span::-moz-selection{background:rgba(168,175,255,0.2)}:root{--ls-font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--ls-scrollbar-width:8px}
--------------------------------------------------------------------------------
/docs/better-typography(legacy).md:
--------------------------------------------------------------------------------
1 | # Better Typography
2 |
3 | ## Headings' outline
4 |
5 | For aesthetics, I like to use headings to divide sections of blocks for adding rhythm of the page. But the spacing of headings is currently not good in logseq. So I compact the space of heading blocks.
6 |
7 | 
8 |
9 | In fact, I set all margins to 0 for headings because the 1.5 line-height can't be too sufficient. In web article typography, the line-height of h1 is often set to about 1.2 to reduce the contrast of spacing between the heading and the body text. The larger headings the smaller line height. In the future version I'll take more space rhythm into account.
10 |
11 | ## Child Blocks
12 |
13 | For the headings' spacing above, it's not just a simple space compress of heading. Why logseq makes the space of heading so wide is that they have to make enough space before the child blocks following (but I think it's overdone). However besides headings, all the blocks with children means more than a sentence. To tell apart those blocks from one sentence block, it's neccessary to add more space for those who have child blocks.
14 |
15 | You may found little difference in daily usage. However if you collapse the first heading in the picture above, you'll find two heading level 1 don't have so much spacing. It keeps compact. And when you unfold the content, they will be apart from each other.
16 |
17 | 
18 |
19 | You can see a clear section divide space when you unfold your content. Notice that the space is not always as wide as the picture shows above, it depends on how deep you unfold your child blocks. When you collapse all the block(outline mode), the space reaches to the smallest. In other words, you'll get a visual hint "this section ends here" when you have a long section with many child blocks.
20 |
21 | ## \ and \
22 |
23 | If unordered list and ordered list are adjacent, there is large space between them…… I don't know why it turns out this, so I fix it.
24 |
25 | 
26 |
27 |
--------------------------------------------------------------------------------
/docs/compability-for-accent-color.md:
--------------------------------------------------------------------------------
1 | ## Compability for accent color (to theme developer)
2 |
3 | Color pallete variable structure.
4 |
5 | ```
6 | Light mode
7 | └ Common style
8 | └ Accent color specific
9 | └ Default logseq color specific (also as fallback)
10 | ```
11 |
12 | And the same as dark mode.
13 |
14 | Notice that accent color design system use a fixed color variable from color pallete ahead of all self-defined variables. which makes it hard to overwrite color in accent color mode with good compability.
15 |
16 | There are two ways of overwriting:
17 |
18 | 1. Overwrite dom style. Turn it back to self-defined variable first as old design does. It requires a constant alignment with Logseq's new design and the custom-theme will be in frequent update.
19 | 2. Write the full self-defined color pallete. This requires a large amount of code and introduces additional performance overhead, which may not be desirable for a custom-theme.
20 |
21 | And, here's the third way:
22 |
23 | - Give up adaption of accent color.
24 |
25 |
--------------------------------------------------------------------------------
/docs/fix-codemirror(legacy).md:
--------------------------------------------------------------------------------
1 | This is a bug that heavily affects small screen viewing.
2 |
3 | With the default theme, the content won't fit the screen when the window width is not wide enough. And content on the left side is unreachable.
4 |
5 | 
6 |
7 |
8 |
9 | When using a mobile phone, things getting worse because users can scroll the screen in any direction (the expected scroll behavior is restricted to vertical only or horizontal only), resulting in a weak UI experience that make user feel the page not robust enough.
10 |
11 | It's caused by flex child element's width overflows its parents. Here two potential overflowing
12 |
13 | - `.cp__sidebar-main-content `: No width restriction
14 |
15 | This one can be easily fixed. But the next one is hard.
16 |
17 | - `.flex-row`: When a bullet and a code block side by side in a flex-row, the code block calculates 100% width as the .flex-row width ignoring the bullet space, which causing the code block to overflow the screen.
18 |
19 | In other words, if the bullet is hidden, the width of code block just works as expected. But with the bullet, the width of code block won't shrink to fit the screen.
20 |
21 | Despite knowing the cause, the issue still can't be perfectly fixed on some devices. In `custom-desktop.css` file, I manually add margin-right space( = bullet width) to code block to force it work well on mobile screen. But this is not a good solution because all the code blocks(including not overflowing ones) are affected. That means the width of code blocks is always shorter than other blocks. The vertical typography of right side is not fullly justified.
22 |
23 | Also I tried dynamic max-width solution:
24 |
25 | ```
26 | max-width: calc(100% - 40px)
27 | ```
28 |
29 | The flaw still exists. The most weird thing is that the first and second level `.flex-row` aren't overflowed, only the 3rd level and belows become overflowed. So the 1st and 2nd level will be short than normal with this calculation.
30 |
31 | This flaw is not on the current web version (Chrome and Safari have been confirmed). So `custom.css` works well. And if you are using desktop app, you may never encounter this problem because your screen is always wide enough.
32 |
33 | Fixed:
34 |
35 | 
36 |
37 |
--------------------------------------------------------------------------------
/docs/some-thoughts-on-doc-mode.md:
--------------------------------------------------------------------------------
1 | - make doc mode dense for note taking
2 | - make `
` slim for title partition. For bonofix theme treats font size and content partition as different aspects in note taking. If you want a horizontal rule the heading2 as default theme, bonofix recommends you to manually create a line by typing `---` in block body.
3 |
4 | ---
5 | This article is still under revise.
6 | ---
7 |
8 | ## About typography
9 |
10 | Document mode in logseq hides all bullets while leave indentation space there, and with large spacing between blocks.
11 |
12 | It seems to be a trend in websites that large margin space is designed to mesh out grid, and designer's blogs tends to use sparse typography to be more fashionable. It's may be the influce of modern graphic design in poster or campaign layout. At most of time, large space is a good tool to make contrast and focusing. It also brings a good visual experience for publishing. However, from my point of view, it's not as much suitable for note-taking. Compared to published documents, the sentences in notes is often much more short without strict logical coherence. Large spacing will make information too sparse. In this theme, I make the headings more compact and content more compact to each other.
13 |
14 | Meanwhile, there are classical line height sets in article typography. Take line height 1.5em (or padding 0.5em) as standard, the larger text the less line height multiples. Academic design will make the multiples arithmetic sequence or fibonacci sequence. In Logseq, the doc mode can be much more complex. Each block has it's own margin space, and the horizontal indentations also make the page seem messy. In this mode, I often give up bullet indentation and flatten my content. Then I notice that the space between headings and body is hard to control.
15 |
16 | [Here should be some images for explanation]
17 |
18 | ---
19 |
20 | ## About markdown and note taking
21 |
22 | Markdown is an awesome format for publishing. You can easily organize your global style. However, it's not good enough for note taking. A published document should be well structured and easy to read, while notes are not always well organized, they're more flexible. Treat markdown as an input method but not file format might be a better choice for note taking. **In fact, the markdown files in logseq is not just file format, it's a human readable database**. Some people may think they use markdown format to be compatible with other apps. However, with more and more features involved, logseq markdown files are becoming harder to read. That's note taking. From other point of view, there is no standard for note taking elements and corresponding syntax.
--------------------------------------------------------------------------------
/docs/table-overflow(legacy).md:
--------------------------------------------------------------------------------
1 | (This article is not revised yet)
2 |
3 | For narrow screen, I add `padding=20px` to the main-container for better viewing. The expected query table padding should be like this:
4 |
5 | 
6 |
7 | However, table padding in Logseq (v0.3.2 now) is:
8 |
9 | 
10 |
11 | You would see the right space is serverly compressed, it overflows the right side of content (see the top-right icon for ref ) (And code block problem still there)
12 |
13 | Why? Is the table unconstrained?
14 |
15 | Nope, it has nothing to do with the table. It's a problem related to **flex row**.
16 |
17 | ## Explanation
18 |
19 | Let us replace the bullet with string "dot". Then add padding to it.
20 |
21 | 
22 |
23 | You can see the right block is "pushed" to right by the growning "DOT" space.
24 |
25 | So it's the problem on the dot? No, flex-row won't leave things like that. ~~**It's because Logseq set the table container right block width to 100%.** **Setting 100% width may lead to destroy the flex box**. Because it will be based on the width of flex-parent instead of the child.~~
26 |
27 | These two flex rows have different behaviors though the only difference is a simply div wrapper. (using logseq's style.css).
28 |
29 | For the first ,we just let the overflow-div's container be the direct child of flex row. For the second one, the overflow-div's container is wrapped by an extra div.
30 |
31 | 
32 |
33 | ```html
34 |
39 |
40 |
41 |
42 |
DOT
43 |
44 |
asdcapsducbapsudacpsubdcpusbapucapsucbdpaucapsucbpasudbacpsudbcpausdbcpasudbcpasudacpudbs
45 |
46 |
47 |
48 |
49 |
50 |
51 |
DOT
52 |
53 |
54 |
asdcapsducbapsudacpsubdcpusbapucapsucbdpaucapsucbpasudbacpsudbcpausdbcpasudbcpasudacpudbs
55 |
56 |
57 |
58 |
59 | ```
60 |
61 | That's why all the no-wrap divs can surpass the container in logseq, such as query table with log contents, and code block.
62 |
63 | The code block overflow problem is solved in bonofix-theme ---- not perfectly for webkit (Safari).
64 |
65 | ## Solution
66 |
67 | Calc padding when setting width
68 |
69 | ```css
70 | width: calc(100% - 38px)
71 | ```
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/icon.png
--------------------------------------------------------------------------------
/media/Desktop-2020-03-30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/Desktop-2020-03-30.png
--------------------------------------------------------------------------------
/media/Desktop-2021-08-09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/Desktop-2021-08-09.png
--------------------------------------------------------------------------------
/media/Desktop-2022-05-23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/Desktop-2022-05-23.jpg
--------------------------------------------------------------------------------
/media/Desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/Desktop.png
--------------------------------------------------------------------------------
/media/Mobile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/Mobile.png
--------------------------------------------------------------------------------
/media/codemirror-fix.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/codemirror-fix.gif
--------------------------------------------------------------------------------
/media/codemirror-overflow.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/codemirror-overflow.gif
--------------------------------------------------------------------------------
/media/headings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/headings.png
--------------------------------------------------------------------------------
/media/image-20210809034129439.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/image-20210809034129439.png
--------------------------------------------------------------------------------
/media/journal-title-emoji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/journal-title-emoji.png
--------------------------------------------------------------------------------
/media/lists.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/lists.png
--------------------------------------------------------------------------------
/media/outline-unfold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/outline-unfold.png
--------------------------------------------------------------------------------
/media/plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/plugin.png
--------------------------------------------------------------------------------
/media/table-dot.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/table-dot.gif
--------------------------------------------------------------------------------
/media/table-expected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/table-expected.png
--------------------------------------------------------------------------------
/media/table-unexpected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/table-unexpected.png
--------------------------------------------------------------------------------
/media/tag-label.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sansui233/logseq-bonofix-theme/d4cf09685158fe75990286302c972182cf3083ff/media/tag-label.png
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "logseq-bonofix-theme",
3 | "version": "3.9.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "logseq-bonofix-theme",
9 | "version": "3.9.0",
10 | "devDependencies": {
11 | "sass": "^1.69.5",
12 | "uglifycss": "^0.0.29"
13 | }
14 | },
15 | "node_modules/anymatch": {
16 | "version": "3.1.2",
17 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
18 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
19 | "dev": true,
20 | "dependencies": {
21 | "normalize-path": "^3.0.0",
22 | "picomatch": "^2.0.4"
23 | },
24 | "engines": {
25 | "node": ">= 8"
26 | }
27 | },
28 | "node_modules/binary-extensions": {
29 | "version": "2.2.0",
30 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
31 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
32 | "dev": true,
33 | "engines": {
34 | "node": ">=8"
35 | }
36 | },
37 | "node_modules/braces": {
38 | "version": "3.0.2",
39 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
40 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
41 | "dev": true,
42 | "dependencies": {
43 | "fill-range": "^7.0.1"
44 | },
45 | "engines": {
46 | "node": ">=8"
47 | }
48 | },
49 | "node_modules/chokidar": {
50 | "version": "3.5.1",
51 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
52 | "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
53 | "dev": true,
54 | "dependencies": {
55 | "anymatch": "~3.1.1",
56 | "braces": "~3.0.2",
57 | "glob-parent": "~5.1.0",
58 | "is-binary-path": "~2.1.0",
59 | "is-glob": "~4.0.1",
60 | "normalize-path": "~3.0.0",
61 | "readdirp": "~3.5.0"
62 | },
63 | "engines": {
64 | "node": ">= 8.10.0"
65 | },
66 | "optionalDependencies": {
67 | "fsevents": "~2.3.1"
68 | }
69 | },
70 | "node_modules/fill-range": {
71 | "version": "7.0.1",
72 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
73 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
74 | "dev": true,
75 | "dependencies": {
76 | "to-regex-range": "^5.0.1"
77 | },
78 | "engines": {
79 | "node": ">=8"
80 | }
81 | },
82 | "node_modules/fsevents": {
83 | "version": "2.3.2",
84 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
85 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
86 | "dev": true,
87 | "hasInstallScript": true,
88 | "optional": true,
89 | "os": [
90 | "darwin"
91 | ],
92 | "engines": {
93 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
94 | }
95 | },
96 | "node_modules/glob-parent": {
97 | "version": "5.1.2",
98 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
99 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
100 | "dev": true,
101 | "dependencies": {
102 | "is-glob": "^4.0.1"
103 | },
104 | "engines": {
105 | "node": ">= 6"
106 | }
107 | },
108 | "node_modules/immutable": {
109 | "version": "4.3.4",
110 | "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.4.tgz",
111 | "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
112 | "dev": true
113 | },
114 | "node_modules/is-binary-path": {
115 | "version": "2.1.0",
116 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
117 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
118 | "dev": true,
119 | "dependencies": {
120 | "binary-extensions": "^2.0.0"
121 | },
122 | "engines": {
123 | "node": ">=8"
124 | }
125 | },
126 | "node_modules/is-extglob": {
127 | "version": "2.1.1",
128 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
129 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
130 | "dev": true,
131 | "engines": {
132 | "node": ">=0.10.0"
133 | }
134 | },
135 | "node_modules/is-glob": {
136 | "version": "4.0.1",
137 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
138 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
139 | "dev": true,
140 | "dependencies": {
141 | "is-extglob": "^2.1.1"
142 | },
143 | "engines": {
144 | "node": ">=0.10.0"
145 | }
146 | },
147 | "node_modules/is-number": {
148 | "version": "7.0.0",
149 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
150 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
151 | "dev": true,
152 | "engines": {
153 | "node": ">=0.12.0"
154 | }
155 | },
156 | "node_modules/normalize-path": {
157 | "version": "3.0.0",
158 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
159 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
160 | "dev": true,
161 | "engines": {
162 | "node": ">=0.10.0"
163 | }
164 | },
165 | "node_modules/picomatch": {
166 | "version": "2.3.0",
167 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
168 | "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
169 | "dev": true,
170 | "engines": {
171 | "node": ">=8.6"
172 | },
173 | "funding": {
174 | "url": "https://github.com/sponsors/jonschlinkert"
175 | }
176 | },
177 | "node_modules/readdirp": {
178 | "version": "3.5.0",
179 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
180 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
181 | "dev": true,
182 | "dependencies": {
183 | "picomatch": "^2.2.1"
184 | },
185 | "engines": {
186 | "node": ">=8.10.0"
187 | }
188 | },
189 | "node_modules/sass": {
190 | "version": "1.69.5",
191 | "resolved": "https://registry.npmmirror.com/sass/-/sass-1.69.5.tgz",
192 | "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==",
193 | "dev": true,
194 | "dependencies": {
195 | "chokidar": ">=3.0.0 <4.0.0",
196 | "immutable": "^4.0.0",
197 | "source-map-js": ">=0.6.2 <2.0.0"
198 | },
199 | "bin": {
200 | "sass": "sass.js"
201 | },
202 | "engines": {
203 | "node": ">=14.0.0"
204 | }
205 | },
206 | "node_modules/source-map-js": {
207 | "version": "1.0.2",
208 | "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
209 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
210 | "dev": true,
211 | "engines": {
212 | "node": ">=0.10.0"
213 | }
214 | },
215 | "node_modules/to-regex-range": {
216 | "version": "5.0.1",
217 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
218 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
219 | "dev": true,
220 | "dependencies": {
221 | "is-number": "^7.0.0"
222 | },
223 | "engines": {
224 | "node": ">=8.0"
225 | }
226 | },
227 | "node_modules/uglifycss": {
228 | "version": "0.0.29",
229 | "resolved": "https://registry.npmjs.org/uglifycss/-/uglifycss-0.0.29.tgz",
230 | "integrity": "sha512-J2SQ2QLjiknNGbNdScaNZsXgmMGI0kYNrXaDlr4obnPW9ni1jljb1NeEVWAiTgZ8z+EBWP2ozfT9vpy03rjlMQ==",
231 | "dev": true,
232 | "bin": {
233 | "uglifycss": "uglifycss"
234 | },
235 | "engines": {
236 | "node": ">=6.4.0"
237 | }
238 | }
239 | },
240 | "dependencies": {
241 | "anymatch": {
242 | "version": "3.1.2",
243 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
244 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
245 | "dev": true,
246 | "requires": {
247 | "normalize-path": "^3.0.0",
248 | "picomatch": "^2.0.4"
249 | }
250 | },
251 | "binary-extensions": {
252 | "version": "2.2.0",
253 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
254 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
255 | "dev": true
256 | },
257 | "braces": {
258 | "version": "3.0.2",
259 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
260 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
261 | "dev": true,
262 | "requires": {
263 | "fill-range": "^7.0.1"
264 | }
265 | },
266 | "chokidar": {
267 | "version": "3.5.1",
268 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
269 | "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
270 | "dev": true,
271 | "requires": {
272 | "anymatch": "~3.1.1",
273 | "braces": "~3.0.2",
274 | "fsevents": "~2.3.1",
275 | "glob-parent": "~5.1.0",
276 | "is-binary-path": "~2.1.0",
277 | "is-glob": "~4.0.1",
278 | "normalize-path": "~3.0.0",
279 | "readdirp": "~3.5.0"
280 | }
281 | },
282 | "fill-range": {
283 | "version": "7.0.1",
284 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
285 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
286 | "dev": true,
287 | "requires": {
288 | "to-regex-range": "^5.0.1"
289 | }
290 | },
291 | "fsevents": {
292 | "version": "2.3.2",
293 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
294 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
295 | "dev": true,
296 | "optional": true
297 | },
298 | "glob-parent": {
299 | "version": "5.1.2",
300 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
301 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
302 | "dev": true,
303 | "requires": {
304 | "is-glob": "^4.0.1"
305 | }
306 | },
307 | "immutable": {
308 | "version": "4.3.4",
309 | "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.4.tgz",
310 | "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
311 | "dev": true
312 | },
313 | "is-binary-path": {
314 | "version": "2.1.0",
315 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
316 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
317 | "dev": true,
318 | "requires": {
319 | "binary-extensions": "^2.0.0"
320 | }
321 | },
322 | "is-extglob": {
323 | "version": "2.1.1",
324 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
325 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
326 | "dev": true
327 | },
328 | "is-glob": {
329 | "version": "4.0.1",
330 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
331 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
332 | "dev": true,
333 | "requires": {
334 | "is-extglob": "^2.1.1"
335 | }
336 | },
337 | "is-number": {
338 | "version": "7.0.0",
339 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
340 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
341 | "dev": true
342 | },
343 | "normalize-path": {
344 | "version": "3.0.0",
345 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
346 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
347 | "dev": true
348 | },
349 | "picomatch": {
350 | "version": "2.3.0",
351 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
352 | "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
353 | "dev": true
354 | },
355 | "readdirp": {
356 | "version": "3.5.0",
357 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
358 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
359 | "dev": true,
360 | "requires": {
361 | "picomatch": "^2.2.1"
362 | }
363 | },
364 | "sass": {
365 | "version": "1.69.5",
366 | "resolved": "https://registry.npmmirror.com/sass/-/sass-1.69.5.tgz",
367 | "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==",
368 | "dev": true,
369 | "requires": {
370 | "chokidar": ">=3.0.0 <4.0.0",
371 | "immutable": "^4.0.0",
372 | "source-map-js": ">=0.6.2 <2.0.0"
373 | }
374 | },
375 | "source-map-js": {
376 | "version": "1.0.2",
377 | "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
378 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
379 | "dev": true
380 | },
381 | "to-regex-range": {
382 | "version": "5.0.1",
383 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
384 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
385 | "dev": true,
386 | "requires": {
387 | "is-number": "^7.0.0"
388 | }
389 | },
390 | "uglifycss": {
391 | "version": "0.0.29",
392 | "resolved": "https://registry.npmjs.org/uglifycss/-/uglifycss-0.0.29.tgz",
393 | "integrity": "sha512-J2SQ2QLjiknNGbNdScaNZsXgmMGI0kYNrXaDlr4obnPW9ni1jljb1NeEVWAiTgZ8z+EBWP2ozfT9vpy03rjlMQ==",
394 | "dev": true
395 | }
396 | }
397 | }
398 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "logseq-bonofix-theme",
3 | "version": "3.10.4",
4 | "logseq-version": "v0.10.7",
5 | "author": "Sansui233",
6 | "description": "A clean theme for Logseq, focusing on long time writing experience.",
7 | "main": "source/index.sass",
8 | "scripts": {
9 | "watch": "sass --watch source:css",
10 | "build": "sass source/index.scss custom.css --no-source-map && npx uglifycss custom.css --output custom.css"
11 | },
12 | "devDependencies": {
13 | "sass": "^1.69.5",
14 | "uglifycss": "^0.0.29"
15 | },
16 | "logseq": {
17 | "themes": [
18 | {
19 | "name": "Bonofix Theme",
20 | "url": "./custom.css",
21 | "description": "A clean theme"
22 | }
23 | ],
24 | "id": "sansui233_bonofix_theme",
25 | "icon": "./icon.png"
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/source/codeMirror.scss:
--------------------------------------------------------------------------------
1 | /*****************************************
2 | Code Mirror
3 | *****************************************/
4 |
5 | // unset solarized
6 | .cm-s-solarized,
7 | .cm-s-solarized.cm-s-light,
8 | .cm-s-solarized.cm-s-dark {
9 | background-color: var(--bf-codeblock-background-color);
10 | text-shadow: unset;
11 |
12 | &.CodeMirror {
13 | -moz-box-shadow: unset;
14 | -webkit-box-shadow: unset;
15 | box-shadow: unset;
16 | }
17 |
18 | .CodeMirror-gutters {
19 | background-color: var(--bf-codeblock-background-color);
20 | }
21 |
22 | .CodeMirror-linenumber {
23 | text-shadow: unset;
24 | }
25 | }
26 |
27 | /* With accent */
28 |
29 | // line number in custom accent
30 | .cm-s-lsradix.cm-s-light,
31 | .cm-s-lsradix.cm-s-dark {
32 | .CodeMirror-gutters {
33 | background-color: inherit;
34 | }
35 | }
36 |
37 | /* theme general */
38 |
39 | .extensions__code {
40 | display: block;
41 | background-color: var(--bf-codeblock-background-color); // calculator result
42 | border-radius: 0.25rem; // with .CodeMirror
43 |
44 | .code-editor {
45 | margin: 0.5rem 0;
46 | }
47 |
48 | .extensions__code-lang {
49 | margin-right: 7px;
50 | margin-top: 7px;
51 | padding: unset;
52 | background-color: unset;
53 | opacity: 0.6;
54 | }
55 |
56 | textarea {
57 | color: var(--ls-primary-text-color);
58 | background-color: var(--bf-codeblock-background-color);
59 | }
60 |
61 | .CodeMirror {
62 | color: var(--ls-secondary-text-color);
63 | background-color: var(--bf-codeblock-background-color);
64 | font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace;
65 | padding: 0px 10px 0px 20px;
66 | border-radius: 0.25rem;
67 |
68 | .CodeMirror-sizer .CodeMirror-lines {
69 | .CodeMirror-cursors .CodeMirror-cursor {
70 | border-left: solid thin #82aaff;
71 | }
72 | }
73 | }
74 | }
75 |
76 | /* Missing properties in Logseq v0.7.x */
77 | .CodeMirror-lines {
78 | padding: 4px 0; // rewrite in case of future changes
79 | }
80 |
81 | .CodeMirror-scroll {
82 | padding-top: 18px; // rewrite in case of future changes
83 | padding-bottom: 66px;
84 | }
85 |
86 | .extensions__code-calc {
87 | padding-top: 22px; // Code-Mirror-lines(4px) + Code-Mirror-scroll(18px)
88 | padding-right: 22px;
89 | }
90 |
91 | /* Right side bar */
92 | .white-theme {
93 | .cp__right-sidebar {
94 | .CodeMirror,
95 | .CodeMirror-gutters,
96 | .extensions__code-lang {
97 | background-color: rgba(242, 241, 238, 0.95);
98 | }
99 | }
100 | }
101 |
102 | /* Rewrite .cm-s-solarized */
103 | /* Syntax colors */
104 |
105 | .cm-s-solarized,
106 | .cm-s-lsradix {
107 | // Common & Dark
108 |
109 | .CodeMirror-matchingbracket {
110 | text-decoration: underline;
111 | color: rgb(91, 223, 223) !important;
112 | }
113 |
114 | span.cm-comment {
115 | color: #a0a0a0;
116 | }
117 |
118 | span.cm-string,
119 | span.cm-string-2 {
120 | color: #e6c963;
121 | }
122 |
123 | span.cm-number {
124 | color: #978ade;
125 | }
126 |
127 | span.cm-variable {
128 | color: #82aaff;
129 | }
130 |
131 | span.cm-variable-2 {
132 | color: rgba(255, 255, 255, 0.7);
133 | }
134 |
135 | span.cm-def {
136 | color: var(--ls-secondary-text-color);
137 | }
138 |
139 | span.cm-operator {
140 | color: #f15f60;
141 | }
142 |
143 | span.cm-keyword {
144 | color: #f15f60;
145 | }
146 |
147 | span.cm-atom {
148 | color: #978ade;
149 | }
150 |
151 | span.cm-meta {
152 | color: white;
153 | }
154 |
155 | span.cm-tag {
156 | color: #f07178;
157 | }
158 |
159 | span.cm-attribute {
160 | color: #c792ea;
161 | }
162 |
163 | span.cm-qualifier {
164 | color: #41b394;
165 | }
166 |
167 | span.cm-property {
168 | color: #9bd174;
169 | }
170 |
171 | span.cm-builtin {
172 | color: #45add6;
173 | }
174 |
175 | span.cm-variable-3,
176 | span.cm-type {
177 | color: darkorange;
178 | }
179 | }
180 |
181 | .white-theme .cm-s-solarized,
182 | .white-theme .cm-s-lsradix {
183 | span.cm-string,
184 | span.cm-string-2 {
185 | color: darkorange;
186 | }
187 |
188 | span.cm-variable-2 {
189 | color: rgba(0, 0, 0, 0.7);
190 | }
191 |
192 | span.cm-def {
193 | color: var(--ls-secondary-text-color);
194 | }
195 |
196 | span.cm-meta {
197 | color: var(--ls-secondary-text-color);
198 | }
199 | }
200 |
201 | /* Active line in cm-s-solarized */
202 | .cm-s-solarized.cm-s-dark {
203 | .CodeMirror-activeline-background {
204 | background: rgba(0, 0, 0, 0.1);
205 | }
206 | .CodeMirror-linenumber {
207 | color: #586375;
208 | }
209 | }
210 |
211 | .cm-s-solarized.cm-s-light {
212 | .CodeMirror-activeline-background {
213 | background: rgba(0, 0, 0, 0.05);
214 | }
215 | }
216 |
217 | /* Selection */
218 | .dark-theme {
219 | .cm-s-solarized,
220 | .cm-s-lsradix {
221 | &.cm-s-dark {
222 | &.CodeMirror ::selection {
223 | background: rgba(255, 255, 255, 0.1);
224 | }
225 |
226 | div.CodeMirror-selected {
227 | background: rgba(255, 255, 255, 0.1);
228 | }
229 | .CodeMirror-line::selection,
230 | .CodeMirror-line::-moz-selection {
231 | background: rgba(255, 255, 255, 0.1);
232 | }
233 | }
234 | }
235 |
236 | .cm-s-dark {
237 | .CodeMirror-line > span::selection,
238 | .CodeMirror-line > span::-moz-selection,
239 | .CodeMirror-line > span > span::selection,
240 | .CodeMirror-line > span > span::-moz-selection {
241 | background: rgba(255, 255, 255, 0.1);
242 | }
243 | }
244 |
245 | // // Switch from white theme, fix bug in old version
246 | // .cm-s-solarized.cm-s-light div.CodeMirror-selected {
247 | // background: rgba(255, 255, 255, 0.1);
248 | // }
249 | // .cm-s-solarized.cm-s-light .CodeMirror-line::selection,
250 | // .cm-s-light .CodeMirror-line > span::selection,
251 | // .cm-s-light .CodeMirror-line > span > span::selection {
252 | // background: rgba(255, 255, 255, 0.1);
253 | // }
254 | // .cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection,
255 | // .cm-s-light .CodeMirror-line > span::-moz-selection,
256 | // .cm-s-light .CodeMirror-line > span > span::-moz-selection {
257 | // background: rgba(255, 255, 255, 0.1);
258 | // }
259 | }
260 |
261 | .white-theme {
262 | .cm-s-solarized,
263 | .cm-s-lsradix {
264 | &.cm-s-light {
265 | div.CodeMirror-selected {
266 | background: rgba(168, 175, 255, 0.2);
267 | }
268 | .CodeMirror-line::selection,
269 | .CodeMirror-line::-moz-selection {
270 | background: rgba(168, 175, 255, 0.2);
271 | }
272 | }
273 | }
274 |
275 | // Switch from dark theme
276 | .cm-s-solarized.cm-s-dark div.CodeMirror-selected {
277 | background: rgba(168, 175, 255, 0.2);
278 | }
279 |
280 | // Switch from dark theme
281 | .cm-s-solarized.cm-s-dark div.CodeMirror-selected {
282 | background: rgba(168, 175, 255, 0.2);
283 | }
284 |
285 | .cm-s-light {
286 | .CodeMirror-line > span::selection,
287 | .CodeMirror-line > span::-moz-selection,
288 | .CodeMirror-line > span > span::selection,
289 | .CodeMirror-line > span > span::-moz-selection {
290 | background: rgba(168, 175, 255, 0.2);
291 | }
292 | }
293 |
294 | // // Switch from dark theme, fix bug in old version
295 | // .cm-s-solarized.cm-s-dark div.CodeMirror-selected {
296 | // background: rgba(168, 175, 255, 0.2);
297 | // }
298 |
299 | // .cm-s-solarized.cm-s-dark.CodeMirror ::selection {
300 | // background: rgba(168, 175, 255, 0.2);
301 | // }
302 |
303 | // .cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection,
304 | // .cm-s-dark .CodeMirror-line > span::-moz-selection,
305 | // .cm-s-dark .CodeMirror-line > span > span::-moz-selection {
306 | // background: rgba(168, 175, 255, 0.2);
307 | // }
308 | }
--------------------------------------------------------------------------------
/source/color-scheme.scss:
--------------------------------------------------------------------------------
1 | // https://leonardocolor.io/scales.html
2 | // see palette
3 |
4 | $blue_dark12: #afd6ff; // (fixed)
5 | $blue_dark11: #99ccfd;
6 | $blue_dark10: #6cbcfa; // text (fixed)
7 | $blue_dark9: #61adea;
8 | $blue_dark8: #549cd9; // checkbox (fixed)
9 | $blue_dark7: #4490d0;
10 | $blue_dark6: #2f82c6; // tag before opacity 0.8 (fixed)
11 |
12 | $blue_light6: #8fc3ff;
13 | $blue_light7: #7cb4f4; // checkbox (fixed)
14 | $blue_light8: #5c9de7;
15 | $blue_light9: #3e8adc; // text (fixed)
16 | $blue_light10: #2582ec; // tag before opacity 0.8 (fixed)
17 | $blue_light11: #1e79de;
18 | $blue_light12: #106bc6; // (fixed)
19 |
20 | /* ****************************
21 | ************** Root ***********
22 | *******************************/
23 |
24 | :root {
25 | --ls-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif,
26 | "Segoe UI Emoji", "Segoe UI Symbol";
27 | // --ls-main-content-max-width: 840px;
28 | --ls-tag-text-opacity: 0.6;
29 | --ls-tag-text-hover-opacity: 0.8;
30 | --ls-page-title-size: 36px;
31 | }
32 |
33 | /* **************************
34 | ****** Common Fallbacks *****
35 | *****************************/
36 |
37 | .white-theme,
38 | html[data-theme="light"] {
39 | --bf-codeblock-background-color: #f7f6f3;
40 |
41 | --bf-external-link-color: #ea6e6e;
42 | --bf-external-link-hover-color: #e6515e;
43 |
44 | --bf-tag-background-color: var(--lx-accent-10);
45 |
46 | // query builder
47 | --bf-query-clause-border-color: var(--lx-accent-06);
48 | --bf-query-clause-background-color: #8fc3ff15;
49 | --bf-query-clause-background-hover-color: #8fc3ff33;
50 |
51 | // ui - scrollbar
52 | --ls-scrollbar-foreground-color: #00000014;
53 | --ls-scrollbar-background-color: #fff0;
54 | --bf-scrollbar-thumb-hover-color: #8a8a8a61;
55 |
56 | --bf-a-chosen-bg: #0007100f;
57 | --bf-hard-shadow-color: #00000015;
58 | --bf-transparent-bg-mask: #88888813;
59 | }
60 |
61 | .dark-theme,
62 | html[data-theme="dark"] {
63 | --bf-codeblock-background-color: #313238;
64 |
65 | --bf-external-link-color: #e86e6e;
66 | --bf-external-link-hover-color: #f29191;
67 |
68 | // query builder
69 | --bf-query-clause-border-color: var(--lx-accent-06);
70 | --bf-query-clause-background-color: #2f82c615;
71 | --bf-query-clause-background-hover-color: #2f82c633;
72 |
73 | --bf-strong-text-color: #d8d8d8;
74 |
75 | // ui - scrollbar
76 | --ls-scrollbar-foreground-color: #8a8a8a3d;
77 | --ls-scrollbar-background-color: #fff0;
78 | --bf-scrollbar-thumb-hover-color: #8a8a8a61;
79 |
80 | --bf-a-chosen-bg: #adaeb81c; // --ls-menu-hover-color
81 | --bf-hard-shadow-color: #1d1d1d;
82 | --bf-transparent-bg-mask: #86878920;
83 | }
84 |
85 |
86 | /* ****************************
87 | ***** Accent Color Specific *******
88 | *******************************/
89 |
90 | // Attention that logseq generates the whole color
91 | // pallete for every single accent color selector, which may lead
92 | // the default color pallete completely expired in future.
93 |
94 | // accent color design system
95 |
96 | html[data-color="tomato"],
97 | html[data-color="red"],
98 | html[data-color="crimson"],
99 | html[data-color="pink"],
100 | html[data-color="plum"],
101 | html[data-color="purple"],
102 | html[data-color="violet"],
103 | html[data-color="indigo"],
104 | html[data-color="blue"],
105 | html[data-color="cyan"],
106 | html[data-color="teal"],
107 | html[data-color="green"],
108 | html[data-color="grass"],
109 | html[data-color="orange"]
110 | {
111 | body {
112 | // --ls-page-inline-code-bg-color: rgba(135, 131, 120, 0.15); Please overwrite relative dom
113 | --ls-tag-text-color: white;
114 | --ls-tag-text-hover-color: white;
115 | }
116 | body.dark-theme {
117 | --ls-page-checkbox-color: var(--lx-accent-09);
118 | --bf-tag-background-color: var(--lx-accent-09);
119 | }
120 | body.light-theme {
121 | --ls-page-checkbox-color: var(--lx-accent-08);
122 | }
123 | }
124 |
125 | // default color design system
126 | html[data-color="logseq"] {
127 | &[data-theme="light"] {
128 | --rx-logseq-01: #ffffff;
129 | --rx-logseq-02: #ecf3fd;
130 | --rx-logseq-03: #d7e7fe;
131 | --rx-logseq-04: #c0dbfd;
132 | --rx-logseq-05: #a8cffd;
133 | --rx-logseq-06: #{$blue_light6};
134 | --rx-logseq-07: #{$blue_light7};
135 | --rx-logseq-08: #{$blue_light8};
136 | --rx-logseq-09: #{$blue_light9};
137 | --rx-logseq-10: #{$blue_light10};
138 | --rx-logseq-11: #{$blue_light11};
139 | --rx-logseq-12: #{$blue_light12};
140 |
141 | --accent: 212 84% 54%; // #{$blue_light10};
142 | --primary: 212 84% 54%; // accent
143 |
144 | // main text
145 | --ls-primary-text-color: #2b2926;
146 |
147 | // main background (linear gradient)
148 | --ls-primary-background-color: #fff;
149 | --ls-secondary-background-color: #f8f8f8;
150 | --ls-tertiary-background-color: #efefef;
151 | --ls-quaternary-background-color: #e8e8e8;
152 |
153 | // block bg
154 | --ls-page-properties-background-color: #88888818;
155 | --ls-block-properties-background-color: #88888818;
156 | --ls-callout-background-color: #8888881a;
157 | --ls-table-tr-even-background-color: #0000000a;
158 |
159 | // borders
160 | --ls-border-color: #d4d4d4;
161 | --ls-secondary-border-color: var(--rx-logseq-06);
162 |
163 | // accent color (link, hover)
164 | --ls-link-ref-text-color: var(--rx-logseq-09);
165 | --ls-link-ref-text-hover-color: var(--rx-logseq-011);
166 | --ls-active-primary-color: var(--rx-logseq-09);
167 | --ls-active-secondary-color: var(--rx-logseq-011);
168 |
169 | --ls-link-text-color: var(--ls-link-ref-text-color);
170 | --ls-link-text-hover-color: var(--ls-link-ref-text-hover-color);
171 | --ls-alink-color: var(--ls-link-text-color);
172 | --ls-cloze-text-color: var(--ls-link-ref-text-color);
173 |
174 | // tags
175 | --ls-tag-text-color: white;
176 | --ls-tag-text-hover-color: white;
177 |
178 | // guildline
179 | --ls-block-bullet-border-color: #00000015;
180 | --ls-block-bullet-color: #c7c7c7;
181 | --ls-guideline-color: #00000024;
182 |
183 | // markdown content
184 | --ls-page-inline-code-bg-color: rgba(135, 131, 120, 0.15);
185 | --ls-page-blockquote-color: var(--ls-primary-text-color);
186 | --ls-page-blockquote-border-color: var(--ls-primary-text-color);
187 | --ls-page-checkbox-color: var(--rx-logseq-07);
188 | --ls-page-checkbox-border-color: var(--ls-page-checkbox-color);
189 |
190 | // ui
191 | --ls-icon-color: #919191;
192 | --ls-header-button-text-color: #999;
193 | --ls-header-button-text-color-hover: var(--ls-secondary-text-color);
194 | --ls-header-button-background: var(--ls-secondary-background-color);
195 | --ls-left-sidebar-text-color: var(--ls-primary-text-color);
196 | --ls-button-background-hsl: 211.96 83.97% 53.53%; // $blue_light10
197 |
198 | // ui --ls-menu-chosen-color
199 | --ls-a-chosen-bg: #0007100f;
200 |
201 | // misc
202 | --ls-title-text-color: #303537;
203 |
204 | // right sidebar, cmdk, and accent color-level-4……
205 | // light mode color-level in this selector not work in v0.10.8 bcz another selector did this. really confusing.
206 | // --color-level-1: var(--ls-tertiary-background-color);
207 | // --color-level-2: var(--ls-quaternary-background-color);
208 | // --color-level-3: #dfdfdf;
209 | // --color-level-4: #d8d8d8;
210 | // --color-level-5: #cfcfcf;
211 | // --color-level-6: #c8c8c8;
212 | }
213 |
214 | &[data-theme="dark"] {
215 | --rx-logseq-01: #093562;
216 | --rx-logseq-02: #0f4276;
217 | --rx-logseq-03: #0e4d8b;
218 | --rx-logseq-04: #1b5fa0;
219 | --rx-logseq-05: #2670b3;
220 | --rx-logseq-06: #{$blue_dark6};
221 | --rx-logseq-07: #{$blue_dark7};
222 | --rx-logseq-08: #{$blue_dark8};
223 | --rx-logseq-09: #{$blue_dark9};
224 | --rx-logseq-10: #{$blue_dark10};
225 | --rx-logseq-11: #{$blue_dark10}; // link text color
226 | --rx-logseq-12: #{$blue_dark12};
227 | --background: 225 6% 13%; // --ls-primary-background-color
228 | --popover: 228 6% 16%; // --ls-secondary-background-color
229 | --accent: 207 60% 54%; // #{$blue_dark7};
230 | --border: 0 0.01% 25%; // #3f3f3f
231 | --primary: 210 60% 54%; // accent
232 | --secondary: 210 85% 42% / 20%; // dimmed accent
233 | --muted: 210 85% 42% / 20%; // dimmed accent
234 | --card: 210 85% 42% / 20%; // dimmed accent
235 | --input: 210 35% 25%;
236 |
237 | // main text
238 | --ls-primary-text-color: #cecece;
239 | --ls-secondary-text-color: #bbb;
240 |
241 | // main background (linear gradient)
242 | --ls-primary-background-color: #202024;
243 | --ls-secondary-background-color: #28282c;
244 | --ls-tertiary-background-color: #323235;
245 | --ls-quaternary-background-color: #38383b;
246 | --ls-left-sidebar-background-color: var(--ls-secondary-background-color); // fix bug in logseq v0.10.0 mobile view.
247 |
248 | // block bg (hue 232)
249 | --ls-page-properties-background-color: #8687892a;
250 | --ls-block-properties-background-color: #8687892a;
251 | --ls-callout-background-color: #8687892a;
252 | --ls-table-tr-even-background-color: #adaeb81c;
253 |
254 | // borders
255 | --ls-border-color: #3f3f3f;
256 | // --ls-secondary-border-color: #505255;
257 | --ls-secondary-border-color: var(--rx-logseq-07);
258 |
259 | // accent color (link, hover)
260 | --ls-link-ref-text-color: var(--rx-logseq-11);
261 | --ls-link-ref-text-hover-color: var(--rx-logseq-12);
262 | --ls-active-primary-color: var(--ls-link-ref-text-color);
263 | --ls-active-secondary-color: var(--rx-logseq-08);
264 | --ls-block-ref-link-text-color: var(--rx-logseq-09);
265 |
266 | --ls-link-text-color: var(--ls-link-ref-text-color);
267 | --ls-link-text-hover-color: var(--ls-link-ref-text-hover-color);
268 | --ls-alink-color: var(--ls-link-text-color);
269 | --ls-cloze-text-color: var(--ls-link-ref-text-color);
270 |
271 | // tags
272 | --ls-tag-text-color: white;
273 | --ls-tag-text-hover-color: white;
274 | --bf-tag-background-color: var(--lx-accent-06);
275 |
276 | // guildline
277 | --ls-block-bullet-border-color: #ffffff25;
278 | --ls-block-bullet-color: #ffffff33;
279 | --ls-guideline-color: #ffffff33;
280 |
281 | // markdown content
282 | --ls-page-checkbox-color: var(--rx-logseq-08);
283 | --ls-page-checkbox-border-color: var(--ls-primary-background-color);
284 | --ls-page-blockquote-color: var(--ls-primary-text-color);
285 | --ls-page-blockquote-border-color: var(--ls-primary-text-color);
286 | --ls-page-inline-code-color: #eb5757;
287 | --ls-page-inline-code-bg-color: rgba(135, 131, 120, 0.15);
288 | --ls-selection-background-color: #3e3e41;
289 | --ls-block-highlight-color: #3e3e41;
290 |
291 | // ui
292 | --ls-icon-color: #b5b5b5;
293 | --ls-search-icon-color: var(--ls-quaternary-background-color);
294 | --ls-header-button-text-color: #b5b5b5;
295 | --ls-header-button-text-color-hover: var(--ls-primary-text-color);
296 | --ls-header-button-background: var(--ls-secondary-background-color);
297 | --ls-left-sidebar-text-color: var(--ls-primary-text-color);
298 | --ls-button-background-hsl: 207 60% 54%; // $blue_dark7
299 |
300 | // ui --ls-menu-chosen-color
301 | --ls-a-chosen-bg: var(--ls-table-tr-even-background-color); // --ls-menu-hover-color
302 | // misc
303 | --ls-title-text-color: var(--ls-primary-text-color);
304 |
305 | --ls-menu-hover-color: #36383b;
306 | --ls-slide-background-color: var(--ls-primary-background-color);
307 |
308 | --ls-head-text-color: #ffe27c;
309 |
310 | // right sidebar, cmdk, and accent color-level-4……
311 | --color-level-1: var(--ls-tertiary-background-color);
312 | --color-level-2: var(--ls-quaternary-background-color);
313 | --color-level-3: #3c3c40;
314 | --color-level-4: #4c4e58;
315 |
316 | .ui__context-menu-content,
317 | .ui__dropdown-menu-content,
318 | .ui__select-content {
319 | --accent: 235 7% 70% / 0.11; // fix selection in // v0.10.7
320 | }
321 |
322 | .cp__cmdk .border-gray-06,
323 | .cp__cmdk .border-gray-07 {
324 | opacity: 1; // fix the dimmed text in v0.10.7
325 | }
326 | }
327 | }
328 |
329 |
--------------------------------------------------------------------------------
/source/index.scss:
--------------------------------------------------------------------------------
1 | @import url('https://cdn.jsdelivr.net/npm/@ibm/plex@4.0.2/css/ibm-plex.min.css?family=IBM+Plex+Sans: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');
2 | @import 'color-scheme';
3 | @import 'layout';
4 | @import 'theme';
5 | @import 'theme-white';
6 | @import 'theme-dark';
7 | @import 'codeMirror';
8 |
9 | :root {
10 | --ls-font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
11 | --ls-scrollbar-width: 8px;
12 | }
--------------------------------------------------------------------------------
/source/layout.scss:
--------------------------------------------------------------------------------
1 | /*****************************************
2 | This section is for global layout
3 | DO NOTHING ABOUT COLOR DESIGN
4 | *****************************************/
5 |
6 | .cp__sidebar-main-content {
7 | width: 100%;
8 | }
9 |
10 | #main-content-container .file {
11 | margin: 0 auto;
12 | }
--------------------------------------------------------------------------------
/source/palette/bg_dark_sequential_colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #36383b
7 | #343639
8 | #333538
9 | #313336
10 | #303235
11 | #2f3034
12 | #2d2f32
13 | #2c2d31
14 | #2a2b2f
15 | #292a2e
16 | #27282c
17 | #25272a
18 | #242529
19 | #232428
20 | #212225
21 | #202124
22 |
23 |
24 |
--------------------------------------------------------------------------------
/source/palette/blue_dark_sequential_colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #afd6ff
7 | #a4d1fe
8 | #99ccfd
9 | #8ec8fc
10 | #82c3fb
11 | #75befa
12 | #6cb9f6
13 | #65b3f0
14 | #61adea
15 | #5ca7e4
16 | #58a1df
17 | #529bd8
18 | #4a95d3
19 | #418ecf
20 | #3888ca
21 | #2f82c6
22 |
23 |
24 |
--------------------------------------------------------------------------------
/source/palette/blue_light_sequential_colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | #7cb4f4
7 | #75aff1
8 | #6fabee
9 | #69a6ec
10 | #62a2e9
11 | #5c9de7
12 | #5599e4
13 | #4e94e1
14 | #478fdf
15 | #3f8add
16 | #2d84e7
17 | #227fe6
18 | #1e7ade
19 | #1a75d6
20 | #156fce
21 | #106bc6
22 |
23 |
24 |
--------------------------------------------------------------------------------
/source/theme-dark.scss:
--------------------------------------------------------------------------------
1 | /*****************************************
2 | Dark Theme
3 | *****************************************/
4 |
5 | html[data-theme="dark"] {
6 | // v0.10.7
7 |
8 | .cp__header {
9 | .dropdown-wrapper {
10 | a,
11 | span {
12 | opacity: 1; // fix opacity in dropdown menu when in darkmode
13 | }
14 | }
15 | }
16 | .left-sidebar-inner {
17 | a.item {
18 | color: var(--ls-primary-text-color);
19 | }
20 | }
21 |
22 | .content {
23 | b,
24 | strong {
25 | font-weight: bolder;
26 | color: var(--bf-strong-text-color);
27 | }
28 | a {
29 | &.tag {
30 | opacity: 0.83;
31 | &:hover {
32 | opacity: 1;
33 | }
34 | }
35 | &.external-link {
36 | b,
37 | strong {
38 | color: var(--bf-external-link-color);
39 | &:hover {
40 | color: var(--bf-external-link-hover-color);
41 | }
42 | }
43 | }
44 | }
45 |
46 | mark {
47 | background: #766101;
48 | color: var(--ls-primary-text-color);
49 | }
50 | .external-link {
51 | border-bottom: 0.05em solid rgba(255, 255, 255, 0.4);
52 | }
53 |
54 | .block-ref {
55 | background: #1f535878;
56 | border-bottom-color: #53d2d280;
57 | }
58 | .marker-switch {
59 | color: var(--ls-primary-text-color);
60 | background: #444;
61 | &:hover {
62 | opacity: 1;
63 | }
64 | }
65 | svg.add-button > .circle {
66 | fill: var(--ls-block-bullet-color, #394b59);
67 | }
68 | }
69 |
70 | .cp__right-sidebar,
71 | .references-blocks-item {
72 | --ls-page-properties-background-color: var(--ls-tertiary-background-color);
73 | }
74 |
75 | // Fix color scale in dark mode;
76 | .menu-links-wrapper,
77 | .ui__modal-panel,
78 | .menu-link {
79 | background-color: var(--ls-secondary-background-color);
80 | }
81 |
82 | .menu-link:hover,
83 | .menu-link.chosen {
84 | background-color: var(--ls-menu-hover-color);
85 | }
86 |
87 | .ui__modal-overlay div {
88 | background: var(--ls-primary-background-color);
89 | }
90 | .tippy-tooltip,
91 | .tippy-wrapper {
92 | background-color: var(--ls-secondary-background-color);
93 | }
94 |
95 | // v0.10.7
96 | &[data-color="logseq"] {
97 | .cp__cmdk > .hints,
98 | .ui__modal-panel,
99 | .tippy-tooltip,
100 | .form-input {
101 | border-color: var(--ls-border-color);
102 | }
103 |
104 | .ui__button.as-ghost:hover {
105 | background-color: #ffffff22;
106 | }
107 |
108 | .cp__themes-installed .it.is-active,
109 | .cp__themes-installed .it:hover {
110 | background-color: var(--ls-table-tr-even-background-color);
111 | }
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/source/theme-white.scss:
--------------------------------------------------------------------------------
1 | /*****************************************
2 | White Theme
3 | *****************************************/
4 |
5 | html[data-theme="light"] {
6 | #left-bar {
7 | nav > a,
8 | svg {
9 | color: var(--ls-priamary-text-color);
10 | }
11 | #repo-name {
12 | opacity: 1;
13 | height: 22px;
14 | transform: translateY(-1px);
15 | }
16 | }
17 | // #main-content-container {
18 | // .cp__sidebar-main-content:before {
19 | // background: linear-gradient(to bottom, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
20 | // }
21 | // }
22 | .content {
23 | .external-link {
24 | border-bottom: 0.05em solid rgba(55, 53, 47, 0.25);
25 | }
26 | .block-ref {
27 | background: rgba(40, 142, 111, 0.1);
28 | border-bottom-color: rgba(40, 142, 111, 0.3);
29 | }
30 | .marker-switch {
31 | color: #504d47;
32 | background: #f3f2ed;
33 | opacity: 1;
34 | &:hover {
35 | opacity: 0.7;
36 | }
37 | }
38 | }
39 |
40 | // card
41 | .references-blocks-item,
42 | .cp__right-sidebar-inner {
43 | div[data-refs-self*='"card"'] > .block-children-container {
44 | background: var(--ls-primary-background-color);
45 | }
46 | }
47 |
48 | // block-property
49 | .cp__right-sidebar,
50 | .references-blocks-item {
51 | --bf-codeblock-background-color: #f3f1ed;
52 |
53 | .marker-switch {
54 | background: #e8e7e3;
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/source/theme.scss:
--------------------------------------------------------------------------------
1 | /*****************************************
2 | Common Theme
3 | *****************************************/
4 | body {
5 | background-color: var(--ls-primary-background-color);
6 | }
7 |
8 | .cp__header {
9 | // Wrong semantics in logseq current v0.10.7 ?
10 | --ls-header-button-background: var(--ls-header-button-text-color);
11 |
12 | & button,
13 | & > .r > div:not(.ui__dropdown-trigger) a {
14 | color: var(--ls-header-button-text-color);
15 | }
16 | }
17 |
18 | .left-sidebar-inner {
19 | // Unifed hover bg color
20 | a.item.active,
21 | a.item:hover {
22 | opacity: unset;
23 | background-color: var(--bf-a-chosen-bg);
24 | }
25 | .nav-content-item .header:hover,
26 | .nav-content-item .bd ul a:hover {
27 | background-color: var(--bf-a-chosen-bg);
28 | }
29 |
30 | // block header font
31 | .nav-content-item .header .wrap-th > strong {
32 | font-size: 0.8rem;
33 | }
34 |
35 | // icon baseline is not aligned with font.
36 | // windows specific?
37 | .create .ui__icon {
38 | transform: translateY(-2px);
39 | }
40 |
41 | @media (min-width: 640px) {
42 | .create {
43 | #create-button {
44 | transition: all 0.3s ease;
45 | border: unset;
46 | opacity: 0.6;
47 | background-color: unset !important;
48 | justify-content: flex-start;
49 | padding: 0.625rem; // align "create" with "recent"
50 | font-size: 0.85rem;
51 | font-weight: 600;
52 | color: var(--ls-left-sidebar-text-color);
53 | text-transform: uppercase;
54 | }
55 | #create-button:hover {
56 | border: unset;
57 | opacity: 1;
58 | background-color: var(--ls-primary-background-color) !important;
59 | box-shadow: 0 0 5px #7e7e7e3d;
60 | }
61 | .mx-1 {
62 | margin: 0 0.5rem; // align "create" with "recent"
63 | }
64 | }
65 | }
66 | }
67 |
68 | .cp__right-sidebar {
69 | // transition-duration: 0.3s;
70 | // transition-timing-function: cubic-bezier(0.37, 0.16, 0.16, 0.99);
71 | .cp__right-sidebar-settings {
72 | .cp__right-sidebar-settings-btn {
73 | background-color: var(--color-level-2);
74 | font-weight: 500;
75 | &:hover {
76 | background-color: var(--ls-quaternary-background-color);
77 | }
78 | // font-family: system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji';
79 | }
80 | }
81 | .sidebar-item-list {
82 | .sidebar-item {
83 | // margin: 2px 5px;
84 | --tw-shadow: unset;
85 | // padding: 10px 8px 10px 4px;
86 | // border: none;
87 | border-bottom: 2px solid var(--color-level-3);
88 | .content {
89 | font-size: 0.95rem;
90 | }
91 | }
92 | }
93 | }
94 |
95 | .cp__all_pages {
96 | .actions {
97 | a {
98 | color: var(--ls-primary-text-color);
99 | }
100 | // Fix gap caused by sticky and content padding
101 | // Weak compatibility for future logseq update
102 | display: relative;
103 | &::before {
104 | content: "";
105 | display: block;
106 | position: absolute;
107 | left: 0;
108 | top: -1rem;
109 | width: 100%;
110 | height: 1rem;
111 | z-index: -1;
112 | background-color: var(--ls-primary-background-color);
113 | }
114 | }
115 | table {
116 | th {
117 | border-bottom: 1px solid var(--ls-border-color);
118 | a {
119 | color: var(--ls-primary-text-color);
120 | }
121 | }
122 | }
123 | }
124 |
125 | #main-content-container {
126 | padding: 1rem 2.5rem;
127 |
128 | // journal title emoji
129 | .journal.page h1.title:before {
130 | content: "🗓";
131 | vertical-align: text-bottom;
132 | margin-right: 0.3em;
133 | font-size: 0.75em;
134 | }
135 | .is-journals h1.page-title:before {
136 | content: "🗓";
137 | vertical-align: text-bottom;
138 | margin-right: 0.3em;
139 | font-size: 0.75em;
140 | align-self: center;
141 | }
142 |
143 | .cp__sidebar-main-content h1.title {
144 | font-weight: 700;
145 | font-size: 33px;
146 | margin-bottom: 1rem;
147 | margin-left: 0px !important;
148 | }
149 | // gradient on top for aesthetics
150 | // &:before {
151 | // content: "";
152 | // display: block;
153 | // position: fixed;
154 | // width: 100%;
155 | // height: 5rem;
156 | // top: 0;
157 | // left: 0;
158 | // z-index: 1;
159 | // }
160 | }
161 |
162 | // html ::-webkit-scrollbar {
163 | // width: 8px;
164 | // height: 8px;
165 | // }
166 |
167 | html ::-webkit-scrollbar-thumb {
168 | background: var(--ls-scrollbar-foreground-color);
169 | background-clip: padding-box;
170 | border-left: 1px solid transparent;
171 | border-right: 1px solid transparent;
172 | border-radius: 4px;
173 | cursor: pointer;
174 | }
175 |
176 | html ::-webkit-scrollbar-thumb:hover {
177 | background: var(--bf-scrollbar-thumb-hover-color);
178 | border-radius: 4px;
179 | border: 2px solid transparent;
180 | }
181 |
182 | .visible-scrollbar ::-webkit-scrollbar, html.custom-scrollbar ::-webkit-scrollbar {
183 | background-color: var(--ls-scrollbar-background-color);
184 | }
185 |
186 | /******************************************
187 | ************** Content *****************
188 | ******************************************/
189 | .content {
190 | hr {
191 | margin: 0.1rem 0;
192 | }
193 | // div[haschild="true"] > div.block-children-container {
194 | // margin-bottom: 0.3rem;
195 | // }
196 | .block-children {
197 | margin-bottom: 0.3rem;
198 | }
199 | .block-children-left-border {
200 | transition: background-color 0.3s;
201 | }
202 | .block-properties,
203 | .page-properties {
204 | margin: 8px 0;
205 | padding: 10px 20px;
206 | background-color: var(--ls-block-properties-background-color, var(--rx-gray-03));
207 | }
208 | .embed.color-level {
209 | background-color: var(--bf-transparent-bg-mask);
210 | }
211 | blockquote {
212 | background-color: unset;
213 | border-color: var(--ls-primary-text-color);
214 | }
215 | .admonitionblock {
216 | padding: 16px 16px 16px 12px;
217 | background-color: var(--ls-callout-background-color);
218 | margin: unset;
219 | border-radius: 0.25rem;
220 | .text-lg {
221 | font-size: 0.9em;
222 | margin-left: 0;
223 | line-height: 1.35rem;
224 | }
225 | .admonition-icon {
226 | padding-right: 0.65em;
227 | border: unset;
228 | svg {
229 | &.svg-shadow {
230 | -webkit-filter: unset;
231 | filter: unset;
232 | }
233 | &.h-8.w-8 {
234 | width: 1.7em;
235 | height: 1.7em;
236 | }
237 | &.important {
238 | color: #f17272; // TODO deprecate in next major version
239 | fill: #f17272;
240 | }
241 | &.caution {
242 | color: #ffb381;
243 | fill: #ffb381;
244 | }
245 | &.tip {
246 | color: #4ca6f5;
247 | fill: #4ca6f5;
248 | }
249 | &.note {
250 | color: var(--ls-secondary-text-color);
251 | fill: var(--ls-secondary-text-color);
252 | }
253 | }
254 | }
255 | }
256 | ul,
257 | ol {
258 | margin-top: 5px;
259 | margin-bottom: 5px;
260 | // fix breakline bug
261 | & > li > p:first-child {
262 | display: inline;
263 | }
264 | }
265 | // main text
266 | h1,
267 | h2,
268 | h3,
269 | h4,
270 | h5 {
271 | margin-top: 0;
272 | padding-bottom: 0;
273 | margin-bottom: 0;
274 | border-bottom: 0;
275 | }
276 | .editor-inner textarea {
277 | &.h2,
278 | &.h1 {
279 | margin-top: 0;
280 | margin-bottom: 0;
281 | padding-bottom: 0;
282 | border-bottom: unset;
283 | }
284 | }
285 | a {
286 | &.tag {
287 | padding: 0px 7px;
288 | border-radius: 1em;
289 | margin: 2px 0px;
290 | color: var(--ls-tag-text-color);
291 | background-color: var(--bf-tag-background-color);
292 | &:hover {
293 | text-decoration: unset;
294 | }
295 | }
296 | &.external-link {
297 | color: var(--bf-external-link-color);
298 | &:hover {
299 | color: var(--bf-external-link-hover-color);
300 | }
301 | }
302 | }
303 | .block-ref {
304 | border-radius: 3px;
305 | font-style: italic;
306 | color: var(--ls-primary-text-color);
307 | }
308 |
309 | // checkbox
310 | .form-checkbox {
311 | border-radius: 50%;
312 | z-index: 1;
313 | position: relative;
314 | margin-top: unset !important;
315 | margin-left: 0.1em;
316 | width: 1rem;
317 | height: 1rem;
318 | }
319 | .form-checkbox,
320 | .form-radio {
321 | top: unset;
322 | }
323 | .marker-switch {
324 | display: inline-block;
325 | line-height: 1rem; // windows bug: not align to .content .form-checkbox
326 | opacity: 0.7;
327 | font-weight: 700;
328 | transition: 0.3s;
329 | margin-left: -1.5em;
330 | margin-right: 5px;
331 | padding: 0 8px 0 1.5em;
332 | border-radius: 12px;
333 | }
334 | :not(pre) > code {
335 | border-radius: 3px;
336 | font-size: 85%;
337 | font-family: MonoLisa, "Fira Code", Monaco, Menlo, Consolas, "COURIER NEW", monospace;
338 | padding: 2px 6px !important;
339 | margin: 0 1px;
340 | color: #eb5757;
341 | background-color: var(--ls-page-inline-code-bg-color);
342 | }
343 | .page-reference:hover {
344 | background-color: var(--ls-tertiary-background-color);
345 | }
346 | div[data-refs-self*='"card"'] {
347 | box-shadow: unset;
348 | .block-children {
349 | margin-bottom: unset;
350 | }
351 |
352 | & > .block-children-container {
353 | background: var(--ls-block-properties-background-color);
354 | padding: 1em 0;
355 | border-radius: 0.375rem;
356 | border: solid 1px var(--bf-hard-shadow-color);
357 | box-shadow: 0 0 5px var(--bf-hard-shadow-color);
358 |
359 | & > .block-children {
360 | margin-bottom: 5px;
361 | }
362 | }
363 | }
364 |
365 | // tables
366 | .query-table > table,
367 | .custom-query-results table,
368 | .block-body > .table-wrapper table {
369 | // word-break: break-word; is deprecated.
370 | word-break: normal; // avoid break on file name like xxx.js
371 | th {
372 | border-top: solid 1.5px var(--ls-border-color);
373 | border-bottom: solid 1px var(--ls-border-color);
374 | text-transform: capitalize;
375 | color: #9f9f9f;
376 | padding: 0.5em 0.5em 0.5em 0.875em;
377 | a {
378 | color: #9f9f9f;
379 | }
380 | a:hover {
381 | color: var(--ls-primary-text-color);
382 | }
383 | }
384 | th:not(:last-child),
385 | td:not(:last-child) {
386 | border-right: solid 1px var(--ls-border-color);
387 | }
388 | tr td {
389 | font-size: 0.95em;
390 | padding: 0.5em 0.5em 0.5em 0.875em;
391 | min-width: 17ch;
392 | text-wrap: pretty;
393 | }
394 | tbody {
395 | tr:not(:last-child) {
396 | border-bottom: solid 1px var(--ls-border-color);
397 | }
398 | tr:last-child {
399 | border-bottom: solid 1.5px var(--ls-border-color);
400 | }
401 | }
402 | }
403 |
404 | .custom-query {
405 | & > .th {
406 | margin-bottom: 0.5rem;
407 | font-size: 0.825rem;
408 | font-weight: 500;
409 | opacity: 0.5;
410 | }
411 |
412 | table {
413 | margin-top: 0.5rem;
414 | }
415 | }
416 | // query builder
417 | .cp__query-builder {
418 | .query-clause-btn {
419 | padding: 0 0.5rem;
420 | line-height: 1.5rem;
421 | border-radius: 1.5rem;
422 | border-color: var(--bf-query-clause-border-color);
423 | background-color: color-mix(in srgb, var(--lx-accent-03) 25%, transparent);
424 | &:hover {
425 | background-color: color-mix(in srgb, var(--lx-accent-04) 25%, transparent);
426 | }
427 | }
428 | a.query-clause {
429 | color: var(--lx-accent-09, var(--ls-active-secondary-color));
430 | }
431 | a.add-filter {
432 | opacity: 0.4;
433 | }
434 | a.add-filter:hover {
435 | opacity: 1;
436 | color: var(--bf-tag-background-color);
437 | }
438 | }
439 | // unset background for right sider and reference block
440 | .block-content tr:nth-child(odd) {
441 | background: unset;
442 | }
443 | }
444 |
445 | .content.doc-mode {
446 | .ls-block {
447 | padding: 0.25rem;
448 | h1 {
449 | margin-top: 1rem;
450 | margin-bottom: 0.35rem;
451 | }
452 | h2 {
453 | margin-top: 1rem;
454 | margin-bottom: 0.35rem;
455 | }
456 | h3 {
457 | margin-top: 0.8rem;
458 | margin-bottom: 0.35em;
459 | }
460 | h4 {
461 | margin-top: 0.5rem;
462 | margin-bottom: 0.35rem;
463 | }
464 | h5 {
465 | margin-top: 0.5rem;
466 | margin-bottom: 0.35rem;
467 | }
468 | h6 {
469 | margin-top: 0.5rem;
470 | margin-bottom: 0.35rem;
471 | }
472 | dl,
473 | ul,
474 | ol {
475 | margin-top: 0.5rem;
476 | margin-bottom: 0.5rem;
477 |
478 | & > li {
479 | margin-bottom: 0.35rem;
480 | }
481 | }
482 | .admonitionblock {
483 | margin: 0.5rem 0;
484 | }
485 | }
486 | }
487 |
488 | .bullet-container:not(.typed-list) .bullet {
489 | background-color: var(--ls-block-bullet-color, var(--rx-gray-08));
490 | }
491 |
492 | /******************************************
493 | ************** tippy *****************
494 | ******************************************/
495 |
496 | .tippy-popper {
497 | .tippy-tooltip {
498 | border-radius: 0.5rem;
499 | background-color: var(--ls-primary-background-color);
500 | }
501 |
502 | // .tippy-tooltip.customized-theme .tippy-wrapper {
503 | // border: none;
504 | // }
505 |
506 | .tippy-wrapper {
507 | max-height: 45vh !important;
508 | max-width: min(90vw, 600px) !important;
509 |
510 | // border: 1px solid var(--ls-tertiary-background-color);
511 | background-color: var(--ls-primary-background-color);
512 | border-radius: 0.5rem;
513 | // box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
514 | }
515 | }
516 |
517 | .cp__palette #ui__ac-inner {
518 | code {
519 | color: var(--ls-primary-text-color);
520 | }
521 |
522 | a:hover {
523 | color: var(--ls-link-ref-text-color);
524 | }
525 |
526 | a > span {
527 | // fix logseq bug
528 | width: 100%;
529 | }
530 | }
531 |
532 | // ************** Mobile layout **************
533 | @media screen and (max-width: 640px) {
534 | #head {
535 | background-color: var(--ls-primary-background-color);
536 | }
537 | #main-container {
538 | #main-content-container {
539 | padding: 16px 20px;
540 | }
541 | }
542 |
543 | .cp__settings-inner > aside {
544 | border-right: unset;
545 | ul {
546 | border-bottom: 1px solid var(--ls-quaternary-background-color);
547 | }
548 | }
549 | }
550 |
--------------------------------------------------------------------------------