├── .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 | ![Desktop](./media/Desktop-2022-05-23.jpg) 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 | Tags 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 | Journal Title Emoji 66 | 67 | - Round tags 68 | Tags 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 | ![Headings](../media/headings.png) 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 | ![Collapsed or not](../media/outline-unfold.png) 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 | ![Lists](../media/lists.png) 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 | ![Overflow](../media/codemirror-overflow.gif) 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 | ![fix](../media/codemirror-fix.gif) 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 | ![Table Expected](../media/table-expected.png) 6 | 7 | However, table padding in Logseq (v0.3.2 now) is: 8 | 9 | ![Table Unexpected](../media/table-unexpected.png) 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 | ![Replace bullet with "DOT"](../media/table-dot.gif) 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 | ![image-20210809034129439](../media/image-20210809034129439.png) 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 | --------------------------------------------------------------------------------