[logseq-plugin-git:commit] 2025-09-08T09:35:23.573Z

This commit is contained in:
YuanHui
2025-09-08 17:35:23 +08:00
parent 1c25911301
commit c70062d6f7
1256 changed files with 65938 additions and 45736 deletions

42
LICENSE
View File

@@ -1,21 +1,21 @@
MIT License
Copyright (c) 2023 Lostecho
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
MIT License
Copyright (c) 2023 Lostecho
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

View File

@@ -0,0 +1 @@
{:highlights [], :extra {:page 1}}

View File

@@ -1 +1 @@
{:highlights [], :extra {:page 1}}
{:highlights [], :extra {:page 1}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View File

@@ -0,0 +1,166 @@
{:highlights [{:id #uuid "64f49004-fadc-4973-85ee-a71d9d513180",
:page 181,
:position {:bounding {:x1 298.5498962402344,
:y1 850.8000183105469,
:x2 480.39093017578125,
:y2 873.2000122070312,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 298.5498962402344,
:y1 850.8000183105469,
:x2 480.39093017578125,
:y2 873.2000122070312,
:width 734.9999999999999,
:height 1110}),
:page 181},
:content {:text " Stop Multitaskin"},
:properties {:color "yellow"}}
{:id #uuid "64f49028-1411-47c9-9b89-e54c80794161",
:page 183,
:position {:bounding {:x1 0,
:y1 -3.1999969482421875,
:x2 483.7294006347656,
:y2 777.5500183105469,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 0,
:y1 -3.1999969482421875,
:x2 0,
:y2 19.20000457763672,
:width 734.9999999999999,
:height 1110}
{:x1 0,
:y1 0,
:x2 0,
:y2 0,
:width 734.9999999999999,
:height 1110}
{:x1 264.8040466308594,
:y1 755.1499938964844,
:x2 483.7294006347656,
:y2 777.5500183105469,
:width 734.9999999999999,
:height 1110}),
:page 183},
:content {:text "Choose JOMO over FOMO"},
:properties {:color "yellow"}}
{:id #uuid "64f4903d-4904-4373-a066-bd21c9a2665c",
:page 188,
:position {:bounding {:x1 219.11924743652344,
:y1 392.6499938964844,
:x2 552.1365814208984,
:y2 415.0500183105469,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 219.11924743652344,
:y1 392.6499938964844,
:x2 552.1365814208984,
:y2 415.0500183105469,
:width 734.9999999999999,
:height 1110}),
:page 188},
:content {:text "Manage Your Social Identity Car"},
:properties {:color "yellow"}}
{:id #uuid "64f49055-d659-4647-9d6b-cf9eceab4e24",
:page 190,
:position {:bounding {:x1 288.79736328125,
:y1 730.9750366210938,
:x2 483.1675720214844,
:y2 753.3750305175781,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 288.79736328125,
:y1 730.9750366210938,
:x2 483.1675720214844,
:y2 753.3750305175781,
:width 734.9999999999999,
:height 1110}),
:page 190},
:content {:text "Think before You P"},
:properties {:color "yellow"}}
{:id #uuid "64f49063-dcf2-4a8b-b973-3ff07b25122c",
:page 193,
:position {:bounding {:x1 243.85398864746094,
:y1 295.9750061035156,
:x2 513.9772186279297,
:y2 318.3750305175781,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 243.85398864746094,
:y1 295.9750061035156,
:x2 513.9772186279297,
:y2 318.3750305175781,
:width 734.9999999999999,
:height 1110}),
:page 193},
:content {:text " Prioritize Strong Social"},
:properties {:color "yellow"}}
{:id #uuid "64f49092-c30c-4c5e-9e59-7933a09a23ef",
:page 197,
:position {:bounding {:x1 174.8625030517578,
:y1 851.8125,
:x2 597.7054595947266,
:y2 874.2124938964844,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 174.8625030517578,
:y1 851.8125,
:x2 597.7054595947266,
:y2 874.2124938964844,
:width 734.9999999999999,
:height 1110}),
:page 197},
:content {:text "Dont Fall for Compulsion Loops and Cl"},
:properties {:color "yellow"}}
{:id #uuid "64f490a3-0dd6-4041-999e-0a00119da169",
:page 202,
:position {:bounding {:x1 275.66998291015625,
:y1 344.3125,
:x2 491.7809753417969,
:y2 366.7125244140625,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 275.66998291015625,
:y1 344.3125,
:x2 491.7809753417969,
:y2 366.7125244140625,
:width 734.9999999999999,
:height 1110}),
:page 202},
:content {:text "Choose Paper over Pi"},
:properties {:color "yellow"}}
{:id #uuid "64f490ae-34ac-4295-8c12-9324e346012d",
:page 204,
:position {:bounding {:x1 244.2624969482422,
:y1 682.6500091552734,
:x2 513.4514617919922,
:y2 705.0500030517578,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 244.2624969482422,
:y1 682.6500091552734,
:x2 513.4514617919922,
:y2 705.0500030517578,
:width 734.9999999999999,
:height 1110}),
:page 204},
:content {:text "Dont Bring Technology t"},
:properties {:color "yellow"}}
{:id #uuid "64f490c5-f51b-411e-aab5-27a046da2090",
:page 213,
:position {:bounding {:x1 303.2818298339844,
:y1 585.9750137329102,
:x2 461.36376953125,
:y2 608.3750076293945,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 303.2818298339844,
:y1 585.9750137329102,
:x2 461.36376953125,
:y2 608.3750076293945,
:width 734.9999999999999,
:height 1110}),
:page 213},
:content {:text " Take a Real Br"},
:properties {:color "yellow"}}],
:extra {:page 181}}

View File

@@ -1,166 +1,166 @@
{:highlights [{:id #uuid "64f49004-fadc-4973-85ee-a71d9d513180",
:page 181,
:position {:bounding {:x1 298.5498962402344,
:y1 850.8000183105469,
:x2 480.39093017578125,
:y2 873.2000122070312,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 298.5498962402344,
:y1 850.8000183105469,
:x2 480.39093017578125,
:y2 873.2000122070312,
:width 734.9999999999999,
:height 1110}),
:page 181},
:content {:text " Stop Multitaskin"},
:properties {:color "yellow"}}
{:id #uuid "64f49028-1411-47c9-9b89-e54c80794161",
:page 183,
:position {:bounding {:x1 0,
:y1 -3.1999969482421875,
:x2 483.7294006347656,
:y2 777.5500183105469,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 0,
:y1 -3.1999969482421875,
:x2 0,
:y2 19.20000457763672,
:width 734.9999999999999,
:height 1110}
{:x1 0,
:y1 0,
:x2 0,
:y2 0,
:width 734.9999999999999,
:height 1110}
{:x1 264.8040466308594,
:y1 755.1499938964844,
:x2 483.7294006347656,
:y2 777.5500183105469,
:width 734.9999999999999,
:height 1110}),
:page 183},
:content {:text "Choose JOMO over FOMO"},
:properties {:color "yellow"}}
{:id #uuid "64f4903d-4904-4373-a066-bd21c9a2665c",
:page 188,
:position {:bounding {:x1 219.11924743652344,
:y1 392.6499938964844,
:x2 552.1365814208984,
:y2 415.0500183105469,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 219.11924743652344,
:y1 392.6499938964844,
:x2 552.1365814208984,
:y2 415.0500183105469,
:width 734.9999999999999,
:height 1110}),
:page 188},
:content {:text "Manage Your Social Identity Car"},
:properties {:color "yellow"}}
{:id #uuid "64f49055-d659-4647-9d6b-cf9eceab4e24",
:page 190,
:position {:bounding {:x1 288.79736328125,
:y1 730.9750366210938,
:x2 483.1675720214844,
:y2 753.3750305175781,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 288.79736328125,
:y1 730.9750366210938,
:x2 483.1675720214844,
:y2 753.3750305175781,
:width 734.9999999999999,
:height 1110}),
:page 190},
:content {:text "Think before You P"},
:properties {:color "yellow"}}
{:id #uuid "64f49063-dcf2-4a8b-b973-3ff07b25122c",
:page 193,
:position {:bounding {:x1 243.85398864746094,
:y1 295.9750061035156,
:x2 513.9772186279297,
:y2 318.3750305175781,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 243.85398864746094,
:y1 295.9750061035156,
:x2 513.9772186279297,
:y2 318.3750305175781,
:width 734.9999999999999,
:height 1110}),
:page 193},
:content {:text " Prioritize Strong Social"},
:properties {:color "yellow"}}
{:id #uuid "64f49092-c30c-4c5e-9e59-7933a09a23ef",
:page 197,
:position {:bounding {:x1 174.8625030517578,
:y1 851.8125,
:x2 597.7054595947266,
:y2 874.2124938964844,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 174.8625030517578,
:y1 851.8125,
:x2 597.7054595947266,
:y2 874.2124938964844,
:width 734.9999999999999,
:height 1110}),
:page 197},
:content {:text "Dont Fall for Compulsion Loops and Cl"},
:properties {:color "yellow"}}
{:id #uuid "64f490a3-0dd6-4041-999e-0a00119da169",
:page 202,
:position {:bounding {:x1 275.66998291015625,
:y1 344.3125,
:x2 491.7809753417969,
:y2 366.7125244140625,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 275.66998291015625,
:y1 344.3125,
:x2 491.7809753417969,
:y2 366.7125244140625,
:width 734.9999999999999,
:height 1110}),
:page 202},
:content {:text "Choose Paper over Pi"},
:properties {:color "yellow"}}
{:id #uuid "64f490ae-34ac-4295-8c12-9324e346012d",
:page 204,
:position {:bounding {:x1 244.2624969482422,
:y1 682.6500091552734,
:x2 513.4514617919922,
:y2 705.0500030517578,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 244.2624969482422,
:y1 682.6500091552734,
:x2 513.4514617919922,
:y2 705.0500030517578,
:width 734.9999999999999,
:height 1110}),
:page 204},
:content {:text "Dont Bring Technology t"},
:properties {:color "yellow"}}
{:id #uuid "64f490c5-f51b-411e-aab5-27a046da2090",
:page 213,
:position {:bounding {:x1 303.2818298339844,
:y1 585.9750137329102,
:x2 461.36376953125,
:y2 608.3750076293945,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 303.2818298339844,
:y1 585.9750137329102,
:x2 461.36376953125,
:y2 608.3750076293945,
:width 734.9999999999999,
:height 1110}),
:page 213},
:content {:text " Take a Real Br"},
:properties {:color "yellow"}}],
:extra {:page 181}}
{:highlights [{:id #uuid "64f49004-fadc-4973-85ee-a71d9d513180",
:page 181,
:position {:bounding {:x1 298.5498962402344,
:y1 850.8000183105469,
:x2 480.39093017578125,
:y2 873.2000122070312,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 298.5498962402344,
:y1 850.8000183105469,
:x2 480.39093017578125,
:y2 873.2000122070312,
:width 734.9999999999999,
:height 1110}),
:page 181},
:content {:text " Stop Multitaskin"},
:properties {:color "yellow"}}
{:id #uuid "64f49028-1411-47c9-9b89-e54c80794161",
:page 183,
:position {:bounding {:x1 0,
:y1 -3.1999969482421875,
:x2 483.7294006347656,
:y2 777.5500183105469,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 0,
:y1 -3.1999969482421875,
:x2 0,
:y2 19.20000457763672,
:width 734.9999999999999,
:height 1110}
{:x1 0,
:y1 0,
:x2 0,
:y2 0,
:width 734.9999999999999,
:height 1110}
{:x1 264.8040466308594,
:y1 755.1499938964844,
:x2 483.7294006347656,
:y2 777.5500183105469,
:width 734.9999999999999,
:height 1110}),
:page 183},
:content {:text "Choose JOMO over FOMO"},
:properties {:color "yellow"}}
{:id #uuid "64f4903d-4904-4373-a066-bd21c9a2665c",
:page 188,
:position {:bounding {:x1 219.11924743652344,
:y1 392.6499938964844,
:x2 552.1365814208984,
:y2 415.0500183105469,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 219.11924743652344,
:y1 392.6499938964844,
:x2 552.1365814208984,
:y2 415.0500183105469,
:width 734.9999999999999,
:height 1110}),
:page 188},
:content {:text "Manage Your Social Identity Car"},
:properties {:color "yellow"}}
{:id #uuid "64f49055-d659-4647-9d6b-cf9eceab4e24",
:page 190,
:position {:bounding {:x1 288.79736328125,
:y1 730.9750366210938,
:x2 483.1675720214844,
:y2 753.3750305175781,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 288.79736328125,
:y1 730.9750366210938,
:x2 483.1675720214844,
:y2 753.3750305175781,
:width 734.9999999999999,
:height 1110}),
:page 190},
:content {:text "Think before You P"},
:properties {:color "yellow"}}
{:id #uuid "64f49063-dcf2-4a8b-b973-3ff07b25122c",
:page 193,
:position {:bounding {:x1 243.85398864746094,
:y1 295.9750061035156,
:x2 513.9772186279297,
:y2 318.3750305175781,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 243.85398864746094,
:y1 295.9750061035156,
:x2 513.9772186279297,
:y2 318.3750305175781,
:width 734.9999999999999,
:height 1110}),
:page 193},
:content {:text " Prioritize Strong Social"},
:properties {:color "yellow"}}
{:id #uuid "64f49092-c30c-4c5e-9e59-7933a09a23ef",
:page 197,
:position {:bounding {:x1 174.8625030517578,
:y1 851.8125,
:x2 597.7054595947266,
:y2 874.2124938964844,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 174.8625030517578,
:y1 851.8125,
:x2 597.7054595947266,
:y2 874.2124938964844,
:width 734.9999999999999,
:height 1110}),
:page 197},
:content {:text "Dont Fall for Compulsion Loops and Cl"},
:properties {:color "yellow"}}
{:id #uuid "64f490a3-0dd6-4041-999e-0a00119da169",
:page 202,
:position {:bounding {:x1 275.66998291015625,
:y1 344.3125,
:x2 491.7809753417969,
:y2 366.7125244140625,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 275.66998291015625,
:y1 344.3125,
:x2 491.7809753417969,
:y2 366.7125244140625,
:width 734.9999999999999,
:height 1110}),
:page 202},
:content {:text "Choose Paper over Pi"},
:properties {:color "yellow"}}
{:id #uuid "64f490ae-34ac-4295-8c12-9324e346012d",
:page 204,
:position {:bounding {:x1 244.2624969482422,
:y1 682.6500091552734,
:x2 513.4514617919922,
:y2 705.0500030517578,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 244.2624969482422,
:y1 682.6500091552734,
:x2 513.4514617919922,
:y2 705.0500030517578,
:width 734.9999999999999,
:height 1110}),
:page 204},
:content {:text "Dont Bring Technology t"},
:properties {:color "yellow"}}
{:id #uuid "64f490c5-f51b-411e-aab5-27a046da2090",
:page 213,
:position {:bounding {:x1 303.2818298339844,
:y1 585.9750137329102,
:x2 461.36376953125,
:y2 608.3750076293945,
:width 734.9999999999999,
:height 1110},
:rects ({:x1 303.2818298339844,
:y1 585.9750137329102,
:x2 461.36376953125,
:y2 608.3750076293945,
:width 734.9999999999999,
:height 1110}),
:page 213},
:content {:text " Take a Real Br"},
:properties {:color "yellow"}}],
:extra {:page 181}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 KiB

View File

@@ -0,0 +1,54 @@
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name chatxxyyzz.lofe www.chatxxyyzz.life;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /etc/ssl/cert.pem;
ssl_certificate_key /etc/ssl/key.pem;
ssl_client_certificate /etc/ssl/cloudflare.crt;
ssl_verify_client on;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
# intermediate configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
add_header Strict-Transport-Security "max-age=63072000" always;
server_name chatxxyyzz.life www.chatxxyyzz.life;
root /var/www/chatxxyyzz.life/html;
index index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
location /pixel {
if ($http_upgrade != "websocket") {
return 404;
}
proxy_redirect off;
proxy_pass http://127.0.0.1:1234;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

View File

@@ -1,54 +1,54 @@
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name chatxxyyzz.lofe www.chatxxyyzz.life;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /etc/ssl/cert.pem;
ssl_certificate_key /etc/ssl/key.pem;
ssl_client_certificate /etc/ssl/cloudflare.crt;
ssl_verify_client on;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
# intermediate configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
add_header Strict-Transport-Security "max-age=63072000" always;
server_name chatxxyyzz.life www.chatxxyyzz.life;
root /var/www/chatxxyyzz.life/html;
index index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
location /pixel {
if ($http_upgrade != "websocket") {
return 404;
}
proxy_redirect off;
proxy_pass http://127.0.0.1:1234;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name chatxxyyzz.lofe www.chatxxyyzz.life;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /etc/ssl/cert.pem;
ssl_certificate_key /etc/ssl/key.pem;
ssl_client_certificate /etc/ssl/cloudflare.crt;
ssl_verify_client on;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
# intermediate configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
add_header Strict-Transport-Security "max-age=63072000" always;
server_name chatxxyyzz.life www.chatxxyyzz.life;
root /var/www/chatxxyyzz.life/html;
index index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
location /pixel {
if ($http_upgrade != "websocket") {
return 404;
}
proxy_redirect off;
proxy_pass http://127.0.0.1:1234;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

View File

@@ -0,0 +1,48 @@
{
"log": {
"loglevel": "warning"
},
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "block"
}
]
},
"inbounds": [
{
"listen": "0.0.0.0",
"port": 1234,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "7966c347-b5f5-46a0-b999-ef2d76e1836a",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings":{
"path":"/pixel"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}

View File

@@ -1,48 +1,48 @@
{
"log": {
"loglevel": "warning"
},
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "block"
}
]
},
"inbounds": [
{
"listen": "0.0.0.0",
"port": 1234,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "7966c347-b5f5-46a0-b999-ef2d76e1836a",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings":{
"path":"/pixel"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}
{
"log": {
"loglevel": "warning"
},
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "block"
}
]
},
"inbounds": [
{
"listen": "0.0.0.0",
"port": 1234,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "7966c347-b5f5-46a0-b999-ef2d76e1836a",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings":{
"path":"/pixel"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 760 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

View File

@@ -0,0 +1,83 @@
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
# server_tokens off;
server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}

View File

@@ -1,83 +1,83 @@
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
# server_tokens off;
server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
# server_tokens off;
server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}

View File

@@ -0,0 +1 @@
{:highlights [], :extra {:page 1}}

Binary file not shown.

View File

@@ -1 +1 @@
{:highlights [], :extra {:page 1}}
{:highlights [], :extra {:page 1}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@@ -0,0 +1,35 @@
{:highlights [{:id #uuid "67f9fe21-bc6d-42b5-ab09-3cb568d36c3f",
:page 4,
:position {:bounding {:x1 607.0606689453125,
:y1 157.875,
:x2 735.3746337890625,
:y2 195.875,
:width 992.1266666666666,
:height 1403.1499999999999},
:rects ({:x1 607.0606689453125,
:y1 157.875,
:x2 735.3746337890625,
:y2 195.875,
:width 992.1266666666666,
:height 1403.1499999999999}),
:page 4},
:content {:text "Literacy"},
:properties {:color "yellow"}}
{:id #uuid "67f9fe91-c95c-48ce-b41d-a3565a398233",
:page 4,
:position {:bounding {:x1 335.2395324707031,
:y1 658.5390625,
:x2 423.1986083984375,
:y2 681.5390625,
:width 992.1266666666666,
:height 1403.1499999999999},
:rects ({:x1 335.2395324707031,
:y1 658.5390625,
:x2 423.1986083984375,
:y2 681.5390625,
:width 992.1266666666666,
:height 1403.1499999999999}),
:page 4},
:content {:text "paradigm"},
:properties {:color "yellow"}}],
:extra {:page 4}}

View File

@@ -1,35 +1,35 @@
{:highlights [{:id #uuid "67f9fe21-bc6d-42b5-ab09-3cb568d36c3f",
:page 4,
:position {:bounding {:x1 607.0606689453125,
:y1 157.875,
:x2 735.3746337890625,
:y2 195.875,
:width 992.1266666666666,
:height 1403.1499999999999},
:rects ({:x1 607.0606689453125,
:y1 157.875,
:x2 735.3746337890625,
:y2 195.875,
:width 992.1266666666666,
:height 1403.1499999999999}),
:page 4},
:content {:text "Literacy"},
:properties {:color "yellow"}}
{:id #uuid "67f9fe91-c95c-48ce-b41d-a3565a398233",
:page 4,
:position {:bounding {:x1 335.2395324707031,
:y1 658.5390625,
:x2 423.1986083984375,
:y2 681.5390625,
:width 992.1266666666666,
:height 1403.1499999999999},
:rects ({:x1 335.2395324707031,
:y1 658.5390625,
:x2 423.1986083984375,
:y2 681.5390625,
:width 992.1266666666666,
:height 1403.1499999999999}),
:page 4},
:content {:text "paradigm"},
:properties {:color "yellow"}}],
:extra {:page 4}}
{:highlights [{:id #uuid "67f9fe21-bc6d-42b5-ab09-3cb568d36c3f",
:page 4,
:position {:bounding {:x1 607.0606689453125,
:y1 157.875,
:x2 735.3746337890625,
:y2 195.875,
:width 992.1266666666666,
:height 1403.1499999999999},
:rects ({:x1 607.0606689453125,
:y1 157.875,
:x2 735.3746337890625,
:y2 195.875,
:width 992.1266666666666,
:height 1403.1499999999999}),
:page 4},
:content {:text "Literacy"},
:properties {:color "yellow"}}
{:id #uuid "67f9fe91-c95c-48ce-b41d-a3565a398233",
:page 4,
:position {:bounding {:x1 335.2395324707031,
:y1 658.5390625,
:x2 423.1986083984375,
:y2 681.5390625,
:width 992.1266666666666,
:height 1403.1499999999999},
:rects ({:x1 335.2395324707031,
:y1 658.5390625,
:x2 423.1986083984375,
:y2 681.5390625,
:width 992.1266666666666,
:height 1403.1499999999999}),
:page 4},
:content {:text "paradigm"},
:properties {:color "yellow"}}],
:extra {:page 4}}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

View File

@@ -1,34 +1,34 @@
import os
import shutil
assets_dir = './assets'
journal_dir = './journals'
pages_dir = './pages'
to_delete_dir = './to_delete'
if not os.path.exists(to_delete_dir):
os.makedirs(to_delete_dir)
assets_files = os.listdir(assets_dir)
referenced_files = []
for dirname in [journal_dir, pages_dir]:
for filename in os.listdir(dirname):
if filename.endswith('.md'):
# 打开 .md 文件
with open(os.path.join(dirname, filename),encoding="utf-8") as f:
# 遍历文件中的每一行
for line in f:
# 遍历 assets 目录中的所有文件
for asset in assets_files:
# 如果这一行包含了 assets 目录中的某个文件的名称,则将这个文件的名称加入到 referenced_files 列表中
if asset in line:
referenced_files.append(asset)
for asset in assets_files:
if asset not in referenced_files and not asset.endswith(".edn"):
print(asset)
import os
import shutil
assets_dir = './assets'
journal_dir = './journals'
pages_dir = './pages'
to_delete_dir = './to_delete'
if not os.path.exists(to_delete_dir):
os.makedirs(to_delete_dir)
assets_files = os.listdir(assets_dir)
referenced_files = []
for dirname in [journal_dir, pages_dir]:
for filename in os.listdir(dirname):
if filename.endswith('.md'):
# 打开 .md 文件
with open(os.path.join(dirname, filename),encoding="utf-8") as f:
# 遍历文件中的每一行
for line in f:
# 遍历 assets 目录中的所有文件
for asset in assets_files:
# 如果这一行包含了 assets 目录中的某个文件的名称,则将这个文件的名称加入到 referenced_files 列表中
if asset in line:
referenced_files.append(asset)
for asset in assets_files:
if asset not in referenced_files and not asset.endswith(".edn"):
print(asset)
shutil.move(os.path.join(assets_dir, asset), to_delete_dir)

View File

@@ -1,421 +1,421 @@
{:meta/version 1
;; Set the preferred format.
;; Available options:
;; - Markdown (default)
;; - Org
;; :preferred-format "Markdown"
;; Set the preferred workflow style.
;; Available options:
;; - :now for NOW/LATER style (default)
;; - :todo for TODO/DOING style
:preferred-workflow :now
;; Exclude directories/files.
;; Example usage:
;; :hidden ["/archived" "/test.md" "../assets/archived"]
:hidden []
;; Define the default journal page template.
;; Enter the template name between the quotes.
:default-templates
{:journals ""}
;; Set a custom date format for the journal page title.
;; Default value: "MMM do, yyyy"
;; e.g., "Jan 19th, 2038"
;; Example usage e.g., "Tue 19th, Jan 2038"
;; :journal/page-title-format "EEE do, MMM yyyy"
;; Specify the journal filename format using a valid date format string.
;; !Warning:
;; This configuration is not retroactive and affects only new journals.
;; To show old journal files in the app, manually rename the files in the
;; journal directory to match the new format.
;; Default value: "yyyy_MM_dd"
;; :journal/file-name-format "yyyy_MM_dd"
;; Enable tooltip preview on hover.
;; Default value: true
:ui/enable-tooltip? true
;; Display brackets [[]] around page references.
;; Default value: true
;; :ui/show-brackets? true
;; Display all lines of a block when referencing ((block)).
;; Default value: false
:ui/show-full-blocks? false
;; Automatically expand block references when zooming in.
;; Default value: true
:ui/auto-expand-block-refs? true
;; Enable Block timestamps.
;; Default value: false
:feature/enable-block-timestamps? false
;; Disable accent marks when searching.
;; After changing this setting, rebuild the search index by pressing (^C ^S).
;; Default value: true
:feature/enable-search-remove-accents? true
;; Enable journals.
;; Default value: true
;; :feature/enable-journals? true
;; Enable flashcards.
;; Default value: true
;; :feature/enable-flashcards? true
;; Enable whiteboards.
;; Default value: true
;; :feature/enable-whiteboards? true
;; Disable the journal's built-in 'Scheduled tasks and deadlines' query.
;; Default value: false
;; :feature/disable-scheduled-and-deadline-query? false
;; Specify the number of days displayed in the future for
;; the 'scheduled tasks and deadlines' query.
;; Example usage:
;; Display all scheduled and deadline blocks for the next 14 days:
;; :scheduled/future-days 14
;; Default value: 7
;; :scheduled/future-days 7
;; Specify the first day of the week.
;; Available options:
;; - integer from 0 to 6 (Monday to Sunday)
;; Default value: 6 (Sunday)
:start-of-week 6
;; Specify a custom CSS import.
;; This option takes precedence over the local `logseq/custom.css` file.
;; Example usage:
;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');"
;; Specify a custom JS import.
;; This option takes precedence over the local `logseq/custom.js` file.
;; Example usage:
;; :custom-js-url "https://cdn.logseq.com/custom.js"
;; Set a custom Arweave gateway
;; Default gateway: https://arweave.net
;; :arweave/gateway "https://arweave.net"
;; Set bullet indentation when exporting
;; Available options:
;; - `:eight-spaces` as eight spaces
;; - `:four-spaces` as four spaces
;; - `:two-spaces` as two spaces
;; - `:tab` as a tab character (default)
;; :export/bullet-indentation :tab
;; Publish all pages within the Graph
;; Regardless of whether individual pages have been marked as public.
;; Default value: false
;; :publishing/all-pages-public? false
;; Define the default home page and sidebar status.
;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden.
;; The `:page` value represents the name of the page displayed at startup.
;; Available options for `:sidebar` are:
;; - "Contents" to display the Contents page in the right sidebar.
;; - A specific page name to display in the right sidebar.
;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"].
;; If `:sidebar` remains unset, the right sidebar will stay hidden.
;; Examples:
;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar:
;; :default-home {:page "Changelog", :sidebar "Contents"}
;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar:
;; :default-home {:page "Jun 3rd, 2021"}
;; 3. Set "home" as the home page and display multiple pages in the right sidebar:
;; :default-home {:page "home", :sidebar ["Page A" "Page B"]}
;; Set the default location for storing notes.
;; Default value: "pages"
;; :pages-directory "pages"
;; Set the default location for storing journals.
;; Default value: "journals"
;; :journals-directory "journals"
;; Set the default location for storing whiteboards.
;; Default value: "whiteboards"
;; :whiteboards-directory "whiteboards"
;; Enabling this option converts
;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode.
;; For more information, visit https://github.com/logseq/logseq/issues/672
;; :org-mode/insert-file-link? false
;; Configure custom shortcuts.
;; Syntax:
;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`.
;; 2. A space between keys represents key chords, e.g., `t s` means
;; pressing `t` followed by `s`.
;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac.
;; 4. Use false to disable a specific shortcut.
;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"].
;; The full list of configurable shortcuts is available at:
;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs
;; Example:
;; :shortcuts
;; {:editor/new-block "enter"
;; :editor/new-line "shift+enter"
;; :editor/insert-link "mod+shift+k"
;; :editor/highlight false
;; :ui/toggle-settings "t s"
;; :editor/up ["ctrl+k" "up"]
;; :editor/down ["ctrl+j" "down"]
;; :editor/left ["ctrl+h" "left"]
;; :editor/right ["ctrl+l" "right"]}
:shortcuts {}
;; Configure the behavior of pressing Enter in document mode.
;; if set to true, pressing Enter will create a new block.
;; Default value: false
:shortcut/doc-mode-enter-for-new-block? false
;; Block content larger than `block/content-max-length` will not be searchable
;; or editable for performance.
;; Default value: 10000
:block/content-max-length 10000
;; Display command documentation on hover.
;; Default value: true
:ui/show-command-doc? true
;; Display empty bullet points.
;; Default value: false
:ui/show-empty-bullets? false
;; Pre-defined :view function to use with advanced queries.
:query/views
{:pprint
(fn [r] [:pre.code (pprint r)])}
;; Advanced queries `:result-transform` function.
;; Transform the query result before displaying it.
:query/result-transforms
{:sort-by-priority
(fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))}
;; The following queries will be displayed at the bottom of today's journal page.
;; The "NOW" query returns tasks with "NOW" or "DOING" status.
;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status.
:default-queries
{:journals
[{:title "🔨 NOW"
:query [:find (pull ?h [*])
:in $ ?start ?today
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "DOING"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(>= ?d ?start)]
[(<= ?d ?today)]]
:inputs [:14d :today]
:result-transform (fn [result]
(sort-by (fn [h]
(get h :block/priority "Z")) result))
:group-by-page? false
:collapsed? false}
{:title "📅 NEXT"
:query [:find (pull ?h [*])
:in $ ?start ?next
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "LATER" "TODO"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(> ?d ?start)]
[(< ?d ?next)]]
:inputs [:today :7d-after]
:group-by-page? false
:collapsed? false}]}
;; Add custom commands to the command palette
;; Example usage:
;; :commands
;; [
;; ["js" "Javascript"]
;; ["md" "Markdown"]
;; ]
:commands []
;; Enable collapsing blocks with titles but no children.
;; By default, only blocks with children can be collapsed.
;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing
;; blocks with titles (multiple lines) and content. For example:
;; - block title
;; block content
;; Default value: false
:outliner/block-title-collapse-enabled? false
;; Macros replace texts and will make you more productive.
;; Example usage:
;; Change the :macros value below to:
;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."}
;; input "{{poem red,blue}}"
;; becomes
;; Rose is red, violet's blue. Life's ordered: Org assists you.
:macros {}
;; Configure the default expansion level for linked references.
;; For example, consider the following block hierarchy:
;; - a [[page]] (level 1)
;; - b (level 2)
;; - c (level 3)
;; - d (level 4)
;;
;; With the default value of level 2, block b will be collapsed.
;; If the level's value is set to 3, block c will be collapsed.
;; Default value: 2
:ref/default-open-blocks-level 2
;; Configure the threshold for linked references before collapsing.
;; Default value: 100
:ref/linked-references-collapsed-threshold 50
;; Graph view configuration.
;; Example usage:
;; :graph/settings
;; {:orphan-pages? true ; Default value: true
;; :builtin-pages? false ; Default value: false
;; :excluded-pages? false ; Default value: false
;; :journal? false} ; Default value: false
;; Graph view configuration.
;; Example usage:
;; :graph/forcesettings
;; {:link-dist 180 ; Default value: 180
;; :charge-strength -600 ; Default value: -600
;; :charge-range 600} ; Default value: 600
;; Favorites to list on the left sidebar
:favorites []
;; Set flashcards interval.
;; Expected value:
;; - Float between 0 and 1
;; higher values result in faster changes to the next review interval.
;; Default value: 0.5
;; :srs/learning-fraction 0.5
;; Set the initial interval after the first successful review of a card.
;; Default value: 4
;; :srs/initial-interval 4
;; Hide specific block properties.
;; Example usage:
;; :block-hidden-properties #{:public :icon}
;; Create a page for all properties.
;; Default value: true
:property-pages/enabled? true
;; Properties to exclude from having property pages
;; Example usage:
;; :property-pages/excludelist #{:duration :author}
;; By default, property value separated by commas will not be treated as
;; page references. You can add properties to enable it.
;; Example usage:
;; :property/separated-by-commas #{:alias :tags}
;; Properties that are ignored when parsing property values for references
;; Example usage:
;; :ignored-page-references-keywords #{:author :website}
;; logbook configuration.
;; :logbook/settings
;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated
;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking
;; :enabled-in-timestamped-blocks false ;don't display logbook at all
;; }
;; Mobile photo upload configuration.
;; :mobile/photo
;; {:allow-editing? true
;; :quality 80}
;; Mobile features options
;; Gestures
;; Example usage:
;; :mobile
;; {:gestures/disabled-in-block-with-tags ["kanban"]}
;; Extra CodeMirror options
;; See https://codemirror.net/5/doc/manual.html#config for possible options
;; Example usage:
;; :editor/extra-codemirror-options
;; {:lineWrapping false ; Default value: false
;; :lineNumbers true ; Default value: true
;; :readOnly false} ; Default value: false
;; Enable logical outdenting
;; Default value: false
;; :editor/logical-outdenting? false
;; Prefer pasting the file when text and a file are in the clipboard.
;; Default value: false
;; :editor/preferred-pasting-file? false
;; Quick capture templates for receiving content from other apps.
;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded
;; by receiving content from other apps. Note: the {} cannot be omitted.
;; - {time}: capture time
;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference
;; - {text}: text that users selected before sharing.
;; - {url}: URL or assets path for media files stored in Logseq.
;; You can also reorder them or use only one or two of them in the template.
;; You can also insert or format any text in the template, as shown in the following examples.
;; :quick-capture-templates
;; {:text "[[quick capture]] **{time}**: {text} from {url}"
;; :media "[[quick capture]] **{time}**: {url}"}
;; Quick capture options.
;; - insert-today? Insert the capture at the end of today's journal page (boolean).
;; - redirect-page? Redirect to the quick capture page after capturing (boolean).
;; - default-page The default page to capture to if insert-today? is false (string).
;; :quick-capture-options
;; {:insert-today? false ;; Default value: true
;; :redirect-page? false ;; Default value: false
;; :default-page "quick capture"} ;; Default page: "quick capture"
;; File sync options
;; Ignore these files when syncing, regexp is supported.
;; :file-sync/ignore-files []
;; Configure the Enter key behavior for
;; context-aware editing with DWIM (Do What I Mean).
;; context-aware Enter key behavior implies that pressing Enter will
;; have different outcomes based on the context.
;; For instance, pressing Enter within a list generates a new list item,
;; whereas pressing Enter in a block reference opens the referenced block.
;; :dwim/settings
;; {:admonition&src? true ;; Default value: true
;; :markup? false ;; Default value: false
;; :block-ref? true ;; Default value: true
;; :page-ref? true ;; Default value: true
;; :properties? true ;; Default value: true
;; :list? false} ;; Default value: false
;; Configure the escaping method for special characters in page titles.
;; Warning:
;; This is a dangerous operation. To modify the setting,
;; access the 'Filename format' setting and follow the instructions.
;; Otherwise, You may need to manually rename all affected files and
;; re-index them on all clients after synchronization.
;; Incorrect handling may result in messy page titles.
;; Available options:
;; - :triple-lowbar (default)
;; ;use triple underscore `___` for slash `/` in page title
;; ;use Percent-encoding for other invalid characters
:file/name-format :triple-lowbar}
{:meta/version 1
;; Set the preferred format.
;; Available options:
;; - Markdown (default)
;; - Org
;; :preferred-format "Markdown"
;; Set the preferred workflow style.
;; Available options:
;; - :now for NOW/LATER style (default)
;; - :todo for TODO/DOING style
:preferred-workflow :now
;; Exclude directories/files.
;; Example usage:
;; :hidden ["/archived" "/test.md" "../assets/archived"]
:hidden []
;; Define the default journal page template.
;; Enter the template name between the quotes.
:default-templates
{:journals ""}
;; Set a custom date format for the journal page title.
;; Default value: "MMM do, yyyy"
;; e.g., "Jan 19th, 2038"
;; Example usage e.g., "Tue 19th, Jan 2038"
;; :journal/page-title-format "EEE do, MMM yyyy"
;; Specify the journal filename format using a valid date format string.
;; !Warning:
;; This configuration is not retroactive and affects only new journals.
;; To show old journal files in the app, manually rename the files in the
;; journal directory to match the new format.
;; Default value: "yyyy_MM_dd"
;; :journal/file-name-format "yyyy_MM_dd"
;; Enable tooltip preview on hover.
;; Default value: true
:ui/enable-tooltip? true
;; Display brackets [[]] around page references.
;; Default value: true
;; :ui/show-brackets? true
;; Display all lines of a block when referencing ((block)).
;; Default value: false
:ui/show-full-blocks? false
;; Automatically expand block references when zooming in.
;; Default value: true
:ui/auto-expand-block-refs? true
;; Enable Block timestamps.
;; Default value: false
:feature/enable-block-timestamps? false
;; Disable accent marks when searching.
;; After changing this setting, rebuild the search index by pressing (^C ^S).
;; Default value: true
:feature/enable-search-remove-accents? true
;; Enable journals.
;; Default value: true
;; :feature/enable-journals? true
;; Enable flashcards.
;; Default value: true
;; :feature/enable-flashcards? true
;; Enable whiteboards.
;; Default value: true
;; :feature/enable-whiteboards? true
;; Disable the journal's built-in 'Scheduled tasks and deadlines' query.
;; Default value: false
;; :feature/disable-scheduled-and-deadline-query? false
;; Specify the number of days displayed in the future for
;; the 'scheduled tasks and deadlines' query.
;; Example usage:
;; Display all scheduled and deadline blocks for the next 14 days:
;; :scheduled/future-days 14
;; Default value: 7
;; :scheduled/future-days 7
;; Specify the first day of the week.
;; Available options:
;; - integer from 0 to 6 (Monday to Sunday)
;; Default value: 6 (Sunday)
:start-of-week 6
;; Specify a custom CSS import.
;; This option takes precedence over the local `logseq/custom.css` file.
;; Example usage:
;; :custom-css-url "@import url('https://cdn.jsdelivr.net/gh/dracula/logseq@master/custom.css');"
;; Specify a custom JS import.
;; This option takes precedence over the local `logseq/custom.js` file.
;; Example usage:
;; :custom-js-url "https://cdn.logseq.com/custom.js"
;; Set a custom Arweave gateway
;; Default gateway: https://arweave.net
;; :arweave/gateway "https://arweave.net"
;; Set bullet indentation when exporting
;; Available options:
;; - `:eight-spaces` as eight spaces
;; - `:four-spaces` as four spaces
;; - `:two-spaces` as two spaces
;; - `:tab` as a tab character (default)
;; :export/bullet-indentation :tab
;; Publish all pages within the Graph
;; Regardless of whether individual pages have been marked as public.
;; Default value: false
;; :publishing/all-pages-public? false
;; Define the default home page and sidebar status.
;; If unspecified, the journal page will be loaded on startup and the right sidebar will stay hidden.
;; The `:page` value represents the name of the page displayed at startup.
;; Available options for `:sidebar` are:
;; - "Contents" to display the Contents page in the right sidebar.
;; - A specific page name to display in the right sidebar.
;; - An array of multiple pages, e.g., ["Contents" "Page A" "Page B"].
;; If `:sidebar` remains unset, the right sidebar will stay hidden.
;; Examples:
;; 1. Set "Changelog" as the home page and display "Contents" in the right sidebar:
;; :default-home {:page "Changelog", :sidebar "Contents"}
;; 2. Set "Jun 3rd, 2021" as the home page without the right sidebar:
;; :default-home {:page "Jun 3rd, 2021"}
;; 3. Set "home" as the home page and display multiple pages in the right sidebar:
;; :default-home {:page "home", :sidebar ["Page A" "Page B"]}
;; Set the default location for storing notes.
;; Default value: "pages"
;; :pages-directory "pages"
;; Set the default location for storing journals.
;; Default value: "journals"
;; :journals-directory "journals"
;; Set the default location for storing whiteboards.
;; Default value: "whiteboards"
;; :whiteboards-directory "whiteboards"
;; Enabling this option converts
;; [[Grant Ideas]] to [[file:./grant_ideas.org][Grant Ideas]] for org-mode.
;; For more information, visit https://github.com/logseq/logseq/issues/672
;; :org-mode/insert-file-link? false
;; Configure custom shortcuts.
;; Syntax:
;; 1. + indicates simultaneous key presses, e.g., `Ctrl+Shift+a`.
;; 2. A space between keys represents key chords, e.g., `t s` means
;; pressing `t` followed by `s`.
;; 3. mod refers to `Ctrl` for Windows/Linux and `Command` for Mac.
;; 4. Use false to disable a specific shortcut.
;; 5. You can define multiple bindings for a single action, e.g., ["ctrl+j" "down"].
;; The full list of configurable shortcuts is available at:
;; https://github.com/logseq/logseq/blob/master/src/main/frontend/modules/shortcut/config.cljs
;; Example:
;; :shortcuts
;; {:editor/new-block "enter"
;; :editor/new-line "shift+enter"
;; :editor/insert-link "mod+shift+k"
;; :editor/highlight false
;; :ui/toggle-settings "t s"
;; :editor/up ["ctrl+k" "up"]
;; :editor/down ["ctrl+j" "down"]
;; :editor/left ["ctrl+h" "left"]
;; :editor/right ["ctrl+l" "right"]}
:shortcuts {}
;; Configure the behavior of pressing Enter in document mode.
;; if set to true, pressing Enter will create a new block.
;; Default value: false
:shortcut/doc-mode-enter-for-new-block? false
;; Block content larger than `block/content-max-length` will not be searchable
;; or editable for performance.
;; Default value: 10000
:block/content-max-length 10000
;; Display command documentation on hover.
;; Default value: true
:ui/show-command-doc? true
;; Display empty bullet points.
;; Default value: false
:ui/show-empty-bullets? false
;; Pre-defined :view function to use with advanced queries.
:query/views
{:pprint
(fn [r] [:pre.code (pprint r)])}
;; Advanced queries `:result-transform` function.
;; Transform the query result before displaying it.
:query/result-transforms
{:sort-by-priority
(fn [result] (sort-by (fn [h] (get h :block/priority "Z")) result))}
;; The following queries will be displayed at the bottom of today's journal page.
;; The "NOW" query returns tasks with "NOW" or "DOING" status.
;; The "NEXT" query returns tasks with "NOW", "LATER", or "TODO" status.
:default-queries
{:journals
[{:title "🔨 NOW"
:query [:find (pull ?h [*])
:in $ ?start ?today
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "DOING"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(>= ?d ?start)]
[(<= ?d ?today)]]
:inputs [:14d :today]
:result-transform (fn [result]
(sort-by (fn [h]
(get h :block/priority "Z")) result))
:group-by-page? false
:collapsed? false}
{:title "📅 NEXT"
:query [:find (pull ?h [*])
:in $ ?start ?next
:where
[?h :block/marker ?marker]
[(contains? #{"NOW" "LATER" "TODO"} ?marker)]
[?h :block/page ?p]
[?p :block/journal? true]
[?p :block/journal-day ?d]
[(> ?d ?start)]
[(< ?d ?next)]]
:inputs [:today :7d-after]
:group-by-page? false
:collapsed? false}]}
;; Add custom commands to the command palette
;; Example usage:
;; :commands
;; [
;; ["js" "Javascript"]
;; ["md" "Markdown"]
;; ]
:commands []
;; Enable collapsing blocks with titles but no children.
;; By default, only blocks with children can be collapsed.
;; Setting `:outliner/block-title-collapse-enabled?` to true allows collapsing
;; blocks with titles (multiple lines) and content. For example:
;; - block title
;; block content
;; Default value: false
:outliner/block-title-collapse-enabled? false
;; Macros replace texts and will make you more productive.
;; Example usage:
;; Change the :macros value below to:
;; {"poem" "Rose is $1, violet's $2. Life's ordered: Org assists you."}
;; input "{{poem red,blue}}"
;; becomes
;; Rose is red, violet's blue. Life's ordered: Org assists you.
:macros {}
;; Configure the default expansion level for linked references.
;; For example, consider the following block hierarchy:
;; - a [[page]] (level 1)
;; - b (level 2)
;; - c (level 3)
;; - d (level 4)
;;
;; With the default value of level 2, block b will be collapsed.
;; If the level's value is set to 3, block c will be collapsed.
;; Default value: 2
:ref/default-open-blocks-level 2
;; Configure the threshold for linked references before collapsing.
;; Default value: 100
:ref/linked-references-collapsed-threshold 50
;; Graph view configuration.
;; Example usage:
;; :graph/settings
;; {:orphan-pages? true ; Default value: true
;; :builtin-pages? false ; Default value: false
;; :excluded-pages? false ; Default value: false
;; :journal? false} ; Default value: false
;; Graph view configuration.
;; Example usage:
;; :graph/forcesettings
;; {:link-dist 180 ; Default value: 180
;; :charge-strength -600 ; Default value: -600
;; :charge-range 600} ; Default value: 600
;; Favorites to list on the left sidebar
:favorites []
;; Set flashcards interval.
;; Expected value:
;; - Float between 0 and 1
;; higher values result in faster changes to the next review interval.
;; Default value: 0.5
;; :srs/learning-fraction 0.5
;; Set the initial interval after the first successful review of a card.
;; Default value: 4
;; :srs/initial-interval 4
;; Hide specific block properties.
;; Example usage:
;; :block-hidden-properties #{:public :icon}
;; Create a page for all properties.
;; Default value: true
:property-pages/enabled? true
;; Properties to exclude from having property pages
;; Example usage:
;; :property-pages/excludelist #{:duration :author}
;; By default, property value separated by commas will not be treated as
;; page references. You can add properties to enable it.
;; Example usage:
;; :property/separated-by-commas #{:alias :tags}
;; Properties that are ignored when parsing property values for references
;; Example usage:
;; :ignored-page-references-keywords #{:author :website}
;; logbook configuration.
;; :logbook/settings
;; {:with-second-support? false ;limit logbook to minutes, seconds will be eliminated
;; :enabled-in-all-blocks true ;display logbook in all blocks after timetracking
;; :enabled-in-timestamped-blocks false ;don't display logbook at all
;; }
;; Mobile photo upload configuration.
;; :mobile/photo
;; {:allow-editing? true
;; :quality 80}
;; Mobile features options
;; Gestures
;; Example usage:
;; :mobile
;; {:gestures/disabled-in-block-with-tags ["kanban"]}
;; Extra CodeMirror options
;; See https://codemirror.net/5/doc/manual.html#config for possible options
;; Example usage:
;; :editor/extra-codemirror-options
;; {:lineWrapping false ; Default value: false
;; :lineNumbers true ; Default value: true
;; :readOnly false} ; Default value: false
;; Enable logical outdenting
;; Default value: false
;; :editor/logical-outdenting? false
;; Prefer pasting the file when text and a file are in the clipboard.
;; Default value: false
;; :editor/preferred-pasting-file? false
;; Quick capture templates for receiving content from other apps.
;; Each template contains three elements {time}, {text} and {url}, which can be auto-expanded
;; by receiving content from other apps. Note: the {} cannot be omitted.
;; - {time}: capture time
;; - {date}: capture date using current date format, use `[[{date}]]` to get a page reference
;; - {text}: text that users selected before sharing.
;; - {url}: URL or assets path for media files stored in Logseq.
;; You can also reorder them or use only one or two of them in the template.
;; You can also insert or format any text in the template, as shown in the following examples.
;; :quick-capture-templates
;; {:text "[[quick capture]] **{time}**: {text} from {url}"
;; :media "[[quick capture]] **{time}**: {url}"}
;; Quick capture options.
;; - insert-today? Insert the capture at the end of today's journal page (boolean).
;; - redirect-page? Redirect to the quick capture page after capturing (boolean).
;; - default-page The default page to capture to if insert-today? is false (string).
;; :quick-capture-options
;; {:insert-today? false ;; Default value: true
;; :redirect-page? false ;; Default value: false
;; :default-page "quick capture"} ;; Default page: "quick capture"
;; File sync options
;; Ignore these files when syncing, regexp is supported.
;; :file-sync/ignore-files []
;; Configure the Enter key behavior for
;; context-aware editing with DWIM (Do What I Mean).
;; context-aware Enter key behavior implies that pressing Enter will
;; have different outcomes based on the context.
;; For instance, pressing Enter within a list generates a new list item,
;; whereas pressing Enter in a block reference opens the referenced block.
;; :dwim/settings
;; {:admonition&src? true ;; Default value: true
;; :markup? false ;; Default value: false
;; :block-ref? true ;; Default value: true
;; :page-ref? true ;; Default value: true
;; :properties? true ;; Default value: true
;; :list? false} ;; Default value: false
;; Configure the escaping method for special characters in page titles.
;; Warning:
;; This is a dangerous operation. To modify the setting,
;; access the 'Filename format' setting and follow the instructions.
;; Otherwise, You may need to manually rename all affected files and
;; re-index them on all clients after synchronization.
;; Incorrect handling may result in messy page titles.
;; Available options:
;; - :triple-lowbar (default)
;; ;use triple underscore `___` for slash `/` in page title
;; ;use Percent-encoding for other invalid characters
:file/name-format :triple-lowbar}

View File

@@ -1,215 +1,215 @@
{
"type": "excalidraw",
"version": 2,
"source": "file://",
"elements": [
{
"type": "rectangle",
"version": 212,
"versionNonce": 189355138,
"isDeleted": false,
"id": "dWmet8QIJL9sGQp4nayNk",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 76,
"y": 67,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 411,
"height": 341,
"seed": 2140713922,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1690850349200,
"link": null,
"locked": false
},
{
"type": "line",
"version": 128,
"versionNonce": 671460510,
"isDeleted": false,
"id": "Hz-OqsOqavvp_MEmAw9oM",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 75,
"y": 178,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 412,
"height": 0,
"seed": 1766504834,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1690850349200,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
412,
0
]
]
},
{
"type": "line",
"version": 71,
"versionNonce": 99578946,
"isDeleted": false,
"id": "WD15Zk6i7NkJmfbXJ4Pmg",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 74,
"y": 298,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 414,
"height": 0,
"seed": 1604346462,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1690850349200,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
414,
0
]
]
},
{
"type": "line",
"version": 54,
"versionNonce": 706898142,
"isDeleted": false,
"id": "bA_duLAZVdhCfS9MZpn75",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 220,
"y": 65,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 0,
"height": 340,
"seed": 849272350,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1690850349200,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
0,
340
]
]
},
{
"type": "line",
"version": 79,
"versionNonce": 1234846530,
"isDeleted": false,
"id": "dtbO5E_Tdx-jLnWekdS0l",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 353.24037880850324,
"y": 64.6731814469419,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 0,
"height": 341.85996429709047,
"seed": 3476254,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1690850349201,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
0,
341.85996429709047
]
]
}
],
"appState": {
"gridSize": null,
"viewBackgroundColor": "#FFF"
},
"files": {}
{
"type": "excalidraw",
"version": 2,
"source": "file://",
"elements": [
{
"type": "rectangle",
"version": 212,
"versionNonce": 189355138,
"isDeleted": false,
"id": "dWmet8QIJL9sGQp4nayNk",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 76,
"y": 67,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 411,
"height": 341,
"seed": 2140713922,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1690850349200,
"link": null,
"locked": false
},
{
"type": "line",
"version": 128,
"versionNonce": 671460510,
"isDeleted": false,
"id": "Hz-OqsOqavvp_MEmAw9oM",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 75,
"y": 178,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 412,
"height": 0,
"seed": 1766504834,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1690850349200,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
412,
0
]
]
},
{
"type": "line",
"version": 71,
"versionNonce": 99578946,
"isDeleted": false,
"id": "WD15Zk6i7NkJmfbXJ4Pmg",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 74,
"y": 298,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 414,
"height": 0,
"seed": 1604346462,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1690850349200,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
414,
0
]
]
},
{
"type": "line",
"version": 54,
"versionNonce": 706898142,
"isDeleted": false,
"id": "bA_duLAZVdhCfS9MZpn75",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 220,
"y": 65,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 0,
"height": 340,
"seed": 849272350,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1690850349200,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
0,
340
]
]
},
{
"type": "line",
"version": 79,
"versionNonce": 1234846530,
"isDeleted": false,
"id": "dtbO5E_Tdx-jLnWekdS0l",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 353.24037880850324,
"y": 64.6731814469419,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"width": 0,
"height": 341.85996429709047,
"seed": 3476254,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1690850349201,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
0,
341.85996429709047
]
]
}
],
"appState": {
"gridSize": null,
"viewBackgroundColor": "#FFF"
},
"files": {}
}

View File

@@ -1,10 +1,10 @@
{
"type": "excalidraw",
"version": 2,
"source": "https://logseq.com",
"elements": [],
"appState": {
"viewBackgroundColor": "#FFF",
"gridSize": null
}
{
"type": "excalidraw",
"version": 2,
"source": "https://logseq.com",
"elements": [],
"appState": {
"viewBackgroundColor": "#FFF",
"gridSize": null
}
}

Some files were not shown because too many files have changed in this diff Show More