mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-24 05:14:06 -06:00
vault backup: 2025-08-13 17:42:11
This commit is contained in:
parent
dda6784324
commit
cd5523310e
@ -1,90 +0,0 @@
|
||||
# Citizen Code of Conduct
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
A primary goal of the Quartz community is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof).
|
||||
|
||||
This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.
|
||||
|
||||
We invite all those who participate in the Quartz community to help us create safe and positive experiences for everyone.
|
||||
|
||||
## 2. Open [Source/Culture/Tech] Citizenship
|
||||
|
||||
A supplemental goal of this Code of Conduct is to increase open [source/culture/tech] citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community.
|
||||
|
||||
Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society.
|
||||
|
||||
If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know.
|
||||
|
||||
## 3. Expected Behavior
|
||||
|
||||
The following behaviors are expected and requested of all community members:
|
||||
|
||||
- Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community.
|
||||
- Exercise consideration and respect in your speech and actions.
|
||||
- Attempt collaboration before conflict.
|
||||
- Refrain from demeaning, discriminatory, or harassing behavior and speech.
|
||||
- Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential.
|
||||
- Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations.
|
||||
|
||||
## 4. Unacceptable Behavior
|
||||
|
||||
The following behaviors are considered harassment and are unacceptable within our community:
|
||||
|
||||
- Violence, threats of violence or violent language directed against another person.
|
||||
- Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
|
||||
- Posting or displaying sexually explicit or violent material.
|
||||
- Posting or threatening to post other people's personally identifying information ("doxing").
|
||||
- Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability.
|
||||
- Inappropriate photography or recording.
|
||||
- Inappropriate physical contact. You should have someone's consent before touching them.
|
||||
- Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances.
|
||||
- Deliberate intimidation, stalking or following (online or in person).
|
||||
- Advocating for, or encouraging, any of the above behavior.
|
||||
- Sustained disruption of community events, including talks and presentations.
|
||||
|
||||
## 5. Weapons Policy
|
||||
|
||||
No weapons will be allowed at Quartz community events, community spaces, or in other spaces covered by the scope of this Code of Conduct. Weapons include but are not limited to guns, explosives (including fireworks), and large knives such as those used for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. Anyone seen in possession of one of these items will be asked to leave immediately, and will only be allowed to return without the weapon. Community members are further expected to comply with all state and local laws on this matter.
|
||||
|
||||
## 6. Consequences of Unacceptable Behavior
|
||||
|
||||
Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.
|
||||
|
||||
Anyone asked to stop unacceptable behavior is expected to comply immediately.
|
||||
|
||||
If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event).
|
||||
|
||||
## 7. Reporting Guidelines
|
||||
|
||||
If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. j.zhao2k19@gmail.com.
|
||||
|
||||
Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress.
|
||||
|
||||
## 8. Addressing Grievances
|
||||
|
||||
If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify @jackyzha0 with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies.
|
||||
|
||||
## 9. Scope
|
||||
|
||||
We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues--online and in-person--as well as in all one-on-one communications pertaining to community business.
|
||||
|
||||
This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members.
|
||||
|
||||
## 10. Contact info
|
||||
|
||||
j.zhao2k19@gmail.com
|
||||
|
||||
## 11. License and attribution
|
||||
|
||||
The Citizen Code of Conduct is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/).
|
||||
|
||||
Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy).
|
||||
|
||||
_Revision 2.3. Posted 6 March 2017._
|
||||
|
||||
_Revision 2.2. Posted 4 February 2016._
|
||||
|
||||
_Revision 2.1. Posted 23 June 2014._
|
||||
|
||||
_Revision 2.0, adopted by the [Stumptown Syndicate](http://stumptownsyndicate.org) board on 10 January 2013. Posted 17 March 2013._
|
||||
18
README.md
18
README.md
@ -1,18 +0,0 @@
|
||||
# Quartz v4
|
||||
|
||||
> “[One] who works with the door open gets all kinds of interruptions, but [they] also occasionally gets clues as to what the world is and what might be important.” — Richard Hamming
|
||||
|
||||
Quartz is a set of tools that helps you publish your [digital garden](https://jzhao.xyz/posts/networked-thought) and notes as a website for free.
|
||||
Quartz v4 features a from-the-ground rewrite focusing on end-user extensibility and ease-of-use.
|
||||
|
||||
🔗 Read the documentation and get started: https://quartz.jzhao.xyz/
|
||||
|
||||
[Join the Discord Community](https://discord.gg/cRFFHYye7t)
|
||||
|
||||
## Sponsors
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/sponsors/jackyzha0">
|
||||
<img src="https://cdn.jsdelivr.net/gh/jackyzha0/jackyzha0/sponsorkit/sponsors.svg" />
|
||||
</a>
|
||||
</p>
|
||||
@ -0,0 +1,28 @@
|
||||
[[안녕]]하세요
|
||||
|
||||

|
||||
|
||||
```python
|
||||
print('hello')
|
||||
```
|
||||
|
||||
|
||||
# 목차 1
|
||||
## 하위 목차 1
|
||||
## 하위 목차 2
|
||||
|
||||
# 2탄
|
||||
|
||||
$$\lambda=1+2$$
|
||||
|
||||
|
||||
<figure style="display: flex; flex-direction: column; align-items: center; text-align: center;">
|
||||
<img src="https://raw.githubusercontent.com/RyotaUshio/obsidian-math-booster/1c7b106fcfbddccdcda8451de1c21a094994b686/docs/fig/screenshot.png" style="max-width: 100%; height: auto;"/>
|
||||
<figcaption>
|
||||
<span style="font-weight:bold"> [Figure num] </span>
|
||||
<span style="font-style:italic;">Image from clipboard</span>
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
|
||||
|
||||
@ -1 +1,6 @@
|
||||
안녕하세요? mayobloom 입니다.
|
||||
---
|
||||
title: mayobloom's blog
|
||||
---
|
||||
|
||||
안녕하세요? mayobloom 입니다.
|
||||
|
||||
|
||||
7
content/전공/교통계획/임시 포스트.md
Normal file
7
content/전공/교통계획/임시 포스트.md
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
title: 프로퍼티로 작성한 제목인 임시 포스트입니다.
|
||||
---
|
||||
|
||||
|
||||
안녕하세요
|
||||
|
||||
421
logseq/config.edn
Normal file
421
logseq/config.edn
Normal file
@ -0,0 +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}
|
||||
0
logseq/custom.css
Normal file
0
logseq/custom.css
Normal file
@ -0,0 +1,54 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
const clozeType = await tp.system.suggester(
|
||||
["드래그 내용을 뒷면(정답)으로 처리","드래그 내용을 앞면(문제,힌트)로 처리"],
|
||||
["setselectedAnswer","setselectedQuestion"]
|
||||
);
|
||||
const showFirstLetter = await tp.system.suggester(
|
||||
["정답의 첫 글자를 보여줍니다","정답의 첫 글자를 보여주지 않습니다"],
|
||||
["Yes","No"]
|
||||
);
|
||||
|
||||
if (clozeType == "setselectedAnswer") {
|
||||
var clozeIndex = await tp.system.prompt("몇번째 cloze 입니까? 숫자를 입력하세요.")
|
||||
var exposed = await tp.system.prompt("앞면에 노출시킬 내용을 입력하세요(없으면 빈칸 그대로 Enter)")
|
||||
if (exposed == null && showFirstLetter == "No") {
|
||||
var newselected = selected.replace(
|
||||
selected,
|
||||
`{{c${clozeIndex}::${selected}}}`
|
||||
);
|
||||
} else if (showFirstLetter == "No") {
|
||||
var newselected = selected.replace(
|
||||
selected,
|
||||
`{{c${clozeIndex}::${selected}::${exposed};---}}`
|
||||
);
|
||||
} else {
|
||||
var newselected = selected.replace(
|
||||
selected,
|
||||
`{{c${clozeIndex}::${selected}::${exposed};${selected[0]}--}}`
|
||||
);
|
||||
}
|
||||
|
||||
} else if (clozeType == "setselectedQuestion") {
|
||||
var clozeIndex = await tp.system.prompt("몇번째 cloze 입니까? 숫자를 입력하세요.")
|
||||
var answer = await tp.system.prompt("정답을 입력하세요")
|
||||
if (showFirstLetter == "No") {
|
||||
var newselected = selected.replace(
|
||||
selected,
|
||||
`{{c${clozeIndex}::${answer}::${selected};---}}`
|
||||
);
|
||||
} else {
|
||||
var newselected = selected.replace(
|
||||
selected,
|
||||
`{{c${clozeIndex}::${answer}::${selected};${answer[0]}--}}`
|
||||
);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
-%>
|
||||
<%newselected%>
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
const whether_aero = await tp.system.suggester(["🏃 유산소(Aerobic)","🏋️ 무산소(Anaerobic)"], ["Aerobic","Anaerobic"]);
|
||||
|
||||
|
||||
-%>
|
||||
|
||||
<%whether_aero%>
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
<%selected%> ^[Contents]
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
**<%selected%>**
|
||||
@ -0,0 +1,10 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
const selectedColor = await tp.system.suggester([" ","🔴 Red","🟠 Orange","🟡 Yellow","🟢 Green","🔵 Blue","🟣 Purple","🟤 Brown"], [" ","orangered","orange","yellow","limegreen","aqua","mediumorchid","sienna"]);
|
||||
//const selectedBackgroundColor = await tp.system.suggester([" ","Firebrick Red","Orange","Yellow","Light Green","Sea Green","Cyan","Sky Blue","Royal Blue","Blue","Navy","Purple(Dark Violet)","Pink(Violet)","Magenta"], [" ","firebrick","orange","yellow","lightgreen","seagreen","cyan","skyblue","royalblue","blue","navy","darkviolet","violet","magenta"] );
|
||||
-%>
|
||||
<span style="color:<%selectedColor%>;font-weight:bold"><%selected%></span>
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
<u><%selected%></u>
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
<% selected ? "`" + selected + "`" : "" %>
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
[[<%selected%>]]
|
||||
10
obsidian_templater/001. Formatting/[Formatting]이미지(Image).md
Normal file
10
obsidian_templater/001. Formatting/[Formatting]이미지(Image).md
Normal file
@ -0,0 +1,10 @@
|
||||
<%*
|
||||
const clipboard = await tp.system.clipboard();
|
||||
-%>
|
||||
<figure style="display: flex; flex-direction: column; align-items: center; text-align: center;">
|
||||
<img src="<% clipboard %>" style="max-width: 100%; height: auto;"/>
|
||||
<figcaption>
|
||||
<span style="font-weight:bold"> [Figure num] </span>
|
||||
<span style="font-style:italic;">Image from clipboard</span>
|
||||
</figcaption>
|
||||
</figure>
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
_<%selected%>_
|
||||
@ -0,0 +1,9 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
const choice = await tp.system.suggester(["Note", "Abstract, Summary", "Info", "Todo", "Important, Tip", "Check, Success", "Question, FAQ", "Warning", "Failure, Missing", "Danger, Error", "Bug", "Example", "Quote, Cite"], ["Note", "Abstract, Summary", "Info", "Todo", "Important", "Check", "Question", "Warning", "Failure", "Danger, Error", "Bug", "Example", "Quote"]);
|
||||
-%>
|
||||
> [!<%choice%>]
|
||||
> <%selected%>
|
||||
@ -0,0 +1,8 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
|
||||
<h1><%selected%></h1>
|
||||
@ -0,0 +1,8 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
|
||||
<h2><%selected%></h2>
|
||||
@ -0,0 +1,8 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
|
||||
<h3><%selected%></h3>
|
||||
@ -0,0 +1,8 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
|
||||
<h4><%selected%></h4>
|
||||
@ -0,0 +1,8 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
|
||||
<h5><%selected%></h5>
|
||||
@ -0,0 +1,8 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
|
||||
<h6><%selected%></h6>
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
- [ ] <%selected%>
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
~~<%selected%>~~
|
||||
@ -0,0 +1,3 @@
|
||||
```java
|
||||
System.out.println("hello world!");
|
||||
```
|
||||
@ -0,0 +1,5 @@
|
||||
|기본값|왼쪽 정렬|가운데 정렬|오른쪽 정렬|
|
||||
|---|:---|:---:|---:|
|
||||
|내용 1|내용 2|내용 3|내용 4|
|
||||
|내용 5|내용 6|내용 7|내용 8|
|
||||
|내용 9|내용 10|내용 11|내용 12|
|
||||
@ -0,0 +1,7 @@
|
||||
<%*
|
||||
var sel = window.getSelection && window.getSelection();
|
||||
if (sel && sel.rangeCount > 0) {
|
||||
var selected = sel.getRangeAt(0).toString();
|
||||
}
|
||||
-%>
|
||||
==<%selected%>==
|
||||
@ -0,0 +1,37 @@
|
||||
<%*
|
||||
async function fetchMetadata(url) {
|
||||
try {
|
||||
let proxyUrl = "https://api.allorigins.win/get?url=" + encodeURIComponent(url);
|
||||
let response = await fetch(proxyUrl);
|
||||
let data = await response.json();
|
||||
let parser = new DOMParser();
|
||||
let doc = parser.parseFromString(data.contents, "text/html");
|
||||
let title = doc.querySelector("title") ? doc.querySelector("title").innerText.trim() : "No Title";
|
||||
let faviconTag = doc.querySelector("link[rel='icon'], link[rel='shortcut icon']");
|
||||
let favicon = faviconTag ? faviconTag.href : "";
|
||||
if (favicon && !favicon.startsWith("http")) {
|
||||
let urlObj = new URL(url);
|
||||
favicon = urlObj.origin + favicon;
|
||||
}
|
||||
return { title, favicon };
|
||||
} catch (error) {
|
||||
console.error("Error fetching metadata:", error);
|
||||
return { title: "Unknown Title", favicon: "" };
|
||||
}
|
||||
}
|
||||
|
||||
const clipboard = await tp.system.clipboard();
|
||||
const metadata = await fetchMetadata(clipboard);
|
||||
let output = `<a href="${clipboard}" style="text-decoration: none; color: inherit;">`;
|
||||
|
||||
if (metadata.favicon) {
|
||||
output += `<span style="display: inline-flex; align-items: center;">`;
|
||||
output += `<img src="${metadata.favicon}" width="16" height="16" style="margin-right: 6px;">`;
|
||||
output += `${metadata.title}</span>`;
|
||||
} else {
|
||||
output += `${metadata.title}`;
|
||||
}
|
||||
|
||||
output += `</a>`;
|
||||
-%>
|
||||
<% output %>
|
||||
@ -0,0 +1 @@
|
||||
<% tp.date.now("YYYYMMDD_HHmmss") %>
|
||||
@ -0,0 +1,29 @@
|
||||
---
|
||||
tags:
|
||||
---
|
||||
<%*
|
||||
let now = new Date();
|
||||
now.setHours(now.getHours() + 9);
|
||||
let dateString = now.toISOString().replace(/[-T:.Z]/g, '').slice(0, 14);
|
||||
let file_written_date = dateString.substr(0,8) + '_' +dateString.substr(8,14);
|
||||
|
||||
await tp.file.rename(file_written_date + ":")
|
||||
-%>
|
||||
|
||||
- [ ] is writing done?
|
||||
# Entry Point
|
||||
|
||||
|
||||
## Why i taking this note?
|
||||
|
||||
|
||||
## Outline / Summary
|
||||
|
||||
|
||||
# Main Text
|
||||
|
||||
|
||||
# Outgoing Link & Reference
|
||||
|
||||
|
||||
# Further Information & Research
|
||||
15
obsidian_templater/002. Templater/[Template]Blog Post.md
Normal file
15
obsidian_templater/002. Templater/[Template]Blog Post.md
Normal file
@ -0,0 +1,15 @@
|
||||
`Publishing Timestamp : <% tp.date.now("YYYYMMDD_HHmmss") %>`
|
||||
`Last Modified : -`
|
||||
|
||||
Tags : #태그
|
||||
|
||||
---
|
||||
|
||||
# 제목 1
|
||||
|
||||
|
||||
# 제목 2
|
||||
|
||||
|
||||
# 제목 3
|
||||
|
||||
61
obsidian_templater/002. Templater/[Template]Daily Notes.md
Normal file
61
obsidian_templater/002. Templater/[Template]Daily Notes.md
Normal file
@ -0,0 +1,61 @@
|
||||
---
|
||||
date: <% tp.date.now("YYYYMMDDHHmmss") %>
|
||||
tags:
|
||||
aliases:
|
||||
cssClass:
|
||||
publish:
|
||||
---
|
||||
<%*
|
||||
let now = new Date();
|
||||
now.setHours(now.getHours() + 9);
|
||||
let dateString = now.toISOString().replace(/[-T:.Z]/g, '').slice(0, 14);
|
||||
let file_written_date = dateString.substr(0,4) + '-' + dateString.substr(4,2) + '-' + dateString.substr(6,2) ;
|
||||
|
||||
await tp.file.rename(file_written_date)
|
||||
-%>
|
||||
|
||||
- [ ] is writing done?
|
||||
***
|
||||
creation date: <% tp.date.now("dddd Do MMMM YYYY HH:mm:ss") %>
|
||||
modification date: <% tp.file.last_modified_date("dddd Do MMMM YYYY HH:mm:ss") %>
|
||||
[출근시각:: ]
|
||||
[퇴근시각:: ]
|
||||
|
||||
|
||||
***
|
||||
<< [[<% tp.date.now("YYYY-MM-DD", -1) %>]] | [[<% tp.date.now("YYYY-MM-DD", 1) %>]] >>
|
||||
# Daily Quote
|
||||
|
||||
<% tp.web.daily_quote() %>
|
||||
|
||||
***
|
||||
# Note
|
||||
|
||||
- 여기에 내용을 입력하세요
|
||||
|
||||
***
|
||||
# Todo
|
||||
|
||||
`- [ ] 할 일을 체크박스 형식으로 적어주세요. (taks plugin 활용)`
|
||||
|
||||
***
|
||||
|
||||
|
||||
***
|
||||
# Written today
|
||||
|
||||
```dataview
|
||||
LIST
|
||||
FROM ""
|
||||
WHERE file.cday = this.file.day
|
||||
SORT file.name
|
||||
```
|
||||
|
||||
# Modified today(without created)
|
||||
```dataview
|
||||
LIST
|
||||
FROM ""
|
||||
WHERE file.mday = this.file.day AND file.cday != this.file.day
|
||||
SORT file.name
|
||||
```
|
||||
***
|
||||
35
obsidian_templater/002. Templater/[Template]Recipe.md
Normal file
35
obsidian_templater/002. Templater/[Template]Recipe.md
Normal file
@ -0,0 +1,35 @@
|
||||
---
|
||||
ingredients:
|
||||
- apples: 1
|
||||
- pears: 2
|
||||
- oranges: 3
|
||||
ingredients_optional:
|
||||
- grape: 4
|
||||
category:
|
||||
tags:
|
||||
cooking_time:
|
||||
difficulty:
|
||||
aliases:
|
||||
cssClass:
|
||||
publish:
|
||||
---
|
||||
- [ ] is writing done?
|
||||
***
|
||||
# 재료
|
||||
>[!warning] Please
|
||||
> - Frontmatter의 ingredients에 적힌 재료명을, obsidian link : `[[]]` 를 통해 해당 섹션에도 삽입해주세요.
|
||||
> - ex) `[[apples]], [[pears]], [[oranges]]`
|
||||
> - 추후 backlink를 통해 검색과 재료 설명, 대체제 설명 등을 원활하게 하기 위함입니다.
|
||||
|
||||
|
||||
|
||||
***
|
||||
# 조리방법(순서)
|
||||
|
||||
1. text
|
||||
***
|
||||
# 참조 링크
|
||||
|
||||
1. text
|
||||
***
|
||||
# Note
|
||||
@ -0,0 +1,41 @@
|
||||
---
|
||||
date: <% tp.date.now("YYYYMMDDHHmmss") %>
|
||||
type:
|
||||
title:
|
||||
aliases:
|
||||
author(lecturer):
|
||||
tags:
|
||||
category:
|
||||
status:
|
||||
cssClass:
|
||||
publish:
|
||||
---
|
||||
|
||||
<h1>Cover Image</h1>
|
||||
|
||||
![[sample image(for template).png| 400x400 ]]
|
||||
|
||||
***
|
||||
|
||||
>[!caution]
|
||||
>- **Study 글에서 Frontmatter 작성 시**, 아래와 같은 규칙을 반드시 지켜주세요.
|
||||
> - **type**는 book, lecture, paper 중 하나로 선택
|
||||
|
||||
***
|
||||
<h1>Contents</h1>
|
||||
|
||||
1. text
|
||||
|
||||
***
|
||||
<h1>Link</h1>
|
||||
|
||||
- link
|
||||
|
||||
***
|
||||
<h1>Other Metadata(Optional)</h1>
|
||||
|
||||
- [start_read_date:: <% tp.file.creation_date() %>]
|
||||
- [finish_read_date:: ]
|
||||
- [total_page:: ]
|
||||
- [book_note:: ]
|
||||
- [my_rate:: ]
|
||||
@ -0,0 +1,84 @@
|
||||
|
||||
|
||||
---
|
||||
date: <% tp.date.now("YYYYMMDDHHmmss") %>
|
||||
type: paper
|
||||
doi:
|
||||
tags:
|
||||
year:
|
||||
journal:
|
||||
aliases:
|
||||
|
||||
|
||||
>[!caution]
|
||||
>- **Study 글에서 Frontmatter 작성 시**, 아래와 같은 규칙을 반드시 지켜주세요.
|
||||
> - **type**는 book, lecture, paper 중 하나로 선택
|
||||
|
||||
- [ ] is writing done?
|
||||
|
||||
# (Info) Note
|
||||
|
||||
***
|
||||
- 논문과 관련된 개인 기록 사항이 있을 시 기록
|
||||
|
||||
***
|
||||
|
||||
# APA 7th Citation
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
# Abstract
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
# Introduction
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
# Literature Review
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
# Contribution
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
# Problem Statement and Definitions
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
# Analysis(Experimental Results)
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
# Conclusion
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
# Limiation(Future Improvements)
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
# Reference(Prior Works)
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
@ -0,0 +1,30 @@
|
||||
---
|
||||
tags:
|
||||
- zettelkasten
|
||||
---
|
||||
<%*
|
||||
let now = new Date();
|
||||
now.setHours(now.getHours() + 9);
|
||||
let dateString = now.toISOString().replace(/[-T:.Z]/g, '').slice(0, 14);
|
||||
let file_written_date = dateString.substr(0,8);
|
||||
|
||||
await tp.file.rename(file_written_date + "-여기에 제목 입력")
|
||||
-%>
|
||||
|
||||
- [ ] is writing done?
|
||||
# 기록의 동기 / 필요성(Motivation, Need for Records)
|
||||
|
||||
|
||||
# 원자화된 설명(Explanation)
|
||||
|
||||
|
||||
# 활용과 한계(Uses)
|
||||
|
||||
|
||||
|
||||
# 외부 링크 참조(Reference)
|
||||
> [!Important]
|
||||
> - `Alt+E` > `하이퍼링크(Hyperlink)`사용 가능
|
||||
> - 외부 링크가 아닌 다른 Zettelkasten 문서의 경우, 글을 쓰다 필요한 부분에 `[[]]`를 통해 링크할 것
|
||||
|
||||
|
||||
@ -0,0 +1,69 @@
|
||||
<%*
|
||||
const setStart = "START"
|
||||
const clipboard = await tp.system.clipboard()
|
||||
|
||||
var Question = await tp.system.prompt("문제지(앞면)에 표시할 내용을 입력해주세요", clipboard)
|
||||
var Word = await tp.system.prompt("입력된 문장 중, 어느 영단어에 빈칸을 뚫으시겠습니까?", Question)
|
||||
var Answer = await tp.system.prompt("답안지(뒷면)에 표시할 내용을 입력해주세요")
|
||||
|
||||
var Choices = Sentence.replace(/\s/g, ' / ');
|
||||
|
||||
let now = new Date();
|
||||
now.setHours(now.getHours() + 9);
|
||||
let dateString = now.toISOString().replace(/[-T:.Z]/g, '').slice(0, 14);
|
||||
let ankiString = 'Anki ' + dateString.substr(0,8) + '_' +dateString.substr(8,14);
|
||||
await tp.file.rename(ankiString)
|
||||
-%>
|
||||
***
|
||||
> [!Information]
|
||||
> - 빈 칸이 길 때 사용합니다
|
||||
> -
|
||||
|
||||
CREATED : <% tp.date.now("YYYY_MM_DD_HHmmss") %>
|
||||
|
||||
<% setStart %>
|
||||
KOREANKI_WRITING_CLOZE
|
||||
Question: {{c1::<% Sentence %>}}
|
||||
Translation: <% Meaning %>
|
||||
Type?: 1
|
||||
Choices: <% Choices %>
|
||||
Solution:
|
||||
Title: 다음 문장(한글)을 읽고 외국어(영어)로 작문해주세요.
|
||||
Category:
|
||||
Unit:
|
||||
Image:
|
||||
END
|
||||
|
||||
FILE TAGS: SENTENSE(KOR_to_ENG)
|
||||
TARGET DECK: Study English
|
||||
***
|
||||
|
||||
<h1>Commentary & Reference</h1>
|
||||
|
||||
_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_
|
||||
***
|
||||
- text
|
||||
|
||||
***
|
||||
|
||||
<h2>Outgoing Link</h2>
|
||||
|
||||
_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_
|
||||
***
|
||||
- text
|
||||
***
|
||||
|
||||
> [!info] Note Type 앞의 # 지우기 + File명은 'ANKI + 생성된ID' 로 통일
|
||||
> Question: 여기에 **정답을 입력**(작문할 문장 전체를 cloze로 만들어주기)
|
||||
> - ex) {{c1::I've always had a great many worries, most of which were silly.}}
|
||||
> Translation: 정답 언어의 번역을 입력
|
||||
> Type?: 키보드 타이핑을 원하는 경우 1 입력
|
||||
> Choices: 위 Quesion에 입력한 문장을 원하는 단위로 쪼개줌 (Anki가 랜덤으로 섞음, **힌트 역할**)
|
||||
> - ex) I / have / always / had / a great many worries / most of which / were / silly.
|
||||
> Solution: 뒷면에 나오는 정답 해설
|
||||
> Title: 문제의 제목
|
||||
> Category: 카테고리 분류(우측 첫째줄)
|
||||
> Unit: 유닛 혹은 챕터명(우측 둘째줄)
|
||||
> Image: 이미지 입력
|
||||
|
||||
`해당 Template은 KOREANKI 카페의 https://cafe.naver.com/koreanki/143 를 통해 작성하였습니다.`
|
||||
@ -0,0 +1,52 @@
|
||||
<%*
|
||||
const clipboard = await tp.system.clipboard()
|
||||
const setStart = "START"
|
||||
var Question = await tp.system.prompt("퀴즈 문제를 입력하세요. (cloze는 formatting을 사용해 작성 요)", clipboard)
|
||||
|
||||
let now = new Date();
|
||||
now.setHours(now.getHours() + 9);
|
||||
let dateString = now.toISOString().replace(/[-T:.Z]/g, '').slice(0, 14);
|
||||
let ankiString = 'Anki ' + dateString.substr(0,8) + '_' +dateString.substr(8,14);
|
||||
await tp.file.rename(ankiString)
|
||||
|
||||
-%>
|
||||
|
||||
***
|
||||
|
||||
CREATED : <% tp.date.now("YYYY_MM_DD_HHmmss") %>
|
||||
<%setStart%>
|
||||
KOREANKI_CLOZE
|
||||
Text: <%Question%>
|
||||
Extra:
|
||||
Title:
|
||||
Reference:
|
||||
Source:
|
||||
Category:
|
||||
Unit:
|
||||
END
|
||||
|
||||
FILE TAGS: Quiz_with_Cloze
|
||||
TARGET DECK: Anki Quiz
|
||||
|
||||
***
|
||||
|
||||
<h1>Commentary & Reference</h1>
|
||||
|
||||
_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_
|
||||
***
|
||||
- text
|
||||
|
||||
***
|
||||
|
||||
<h2>Outgoing Link</h2>
|
||||
|
||||
_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_
|
||||
***
|
||||
- text
|
||||
***
|
||||
|
||||
> [!info] Note Type 앞의 # 지우기 + File명은 'ANKI + 생성된ID' 로 통일
|
||||
> Front: 앞면, cloze 입력 가능 {{c1:cloze}}
|
||||
> Back: 뒷면
|
||||
|
||||
`해당 Template은 KOREANKI 카페의 https://cafe.naver.com/koreanki/13 를 통해 작성하였습니다.`
|
||||
@ -0,0 +1,69 @@
|
||||
<%*
|
||||
const clipboard = await tp.system.clipboard()
|
||||
const setStart = "START"
|
||||
var Question = await tp.system.prompt("퀴즈 문제(Context)를 입력하세요. (cloze는 formatting을 사용해 작성 요)", clipboard)
|
||||
|
||||
let now = new Date();
|
||||
now.setHours(now.getHours() + 9);
|
||||
let dateString = now.toISOString().replace(/[-T:.Z]/g, '').slice(0, 14);
|
||||
let ankiString = 'Anki ' + dateString.substr(0,8) + '_' +dateString.substr(8,14);
|
||||
await tp.file.rename(ankiString)
|
||||
|
||||
-%>
|
||||
|
||||
***
|
||||
|
||||
CREATED : <% tp.date.now("YYYY_MM_DD_HHmmss") %>
|
||||
<% setStart %>
|
||||
KOREANKI_BASIC_CONTEXT
|
||||
CONTEXT: <% Question %>
|
||||
Q1:
|
||||
A1:
|
||||
Personal Notes:
|
||||
Missed Questions:
|
||||
Q2:
|
||||
A2:
|
||||
Q3:
|
||||
A3:
|
||||
Q4:
|
||||
A4:
|
||||
Q5:
|
||||
A5:
|
||||
Q6:
|
||||
A6:
|
||||
Q7:
|
||||
A7:
|
||||
Q8:
|
||||
A8:
|
||||
Q9:
|
||||
A9:
|
||||
Q10:
|
||||
A10:
|
||||
END
|
||||
|
||||
FILE TAGS: Quiz_With_Context
|
||||
TARGET DECK: Anki Quiz
|
||||
|
||||
***
|
||||
|
||||
<h1>Commentary & Reference</h1>
|
||||
|
||||
_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_
|
||||
***
|
||||
- text
|
||||
|
||||
***
|
||||
|
||||
<h2>Outgoing Link</h2>
|
||||
|
||||
_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_
|
||||
***
|
||||
- text
|
||||
***
|
||||
|
||||
> [!info] Note Type 앞의 # 지우기 + File명은 'ANKI + 생성된ID' 로 통일
|
||||
> Context: 본문
|
||||
> Q1~Q10: 하위문제
|
||||
> A1~A10: 하위문제에 해당하는 답안
|
||||
|
||||
`해당 Template은 KOREANKI 카페의 https://cafe.naver.com/koreanki/104 를 통해 작성하였습니다.`
|
||||
@ -0,0 +1,48 @@
|
||||
<%*
|
||||
const setStart = "START"
|
||||
const clipboard = await tp.system.clipboard()
|
||||
var Question = await tp.system.prompt("퀴즈 문제를 입력하세요", clipboard)
|
||||
var Answer = await tp.system.prompt("퀴즈 정답을 입력하세요")
|
||||
|
||||
let now = new Date();
|
||||
now.setHours(now.getHours() + 9);
|
||||
let dateString = now.toISOString().replace(/[-T:.Z]/g, '').slice(0, 14);
|
||||
let ankiString = 'Anki ' + dateString.substr(0,8) + '_' +dateString.substr(8,14);
|
||||
await tp.file.rename(ankiString)
|
||||
|
||||
-%>
|
||||
|
||||
***
|
||||
|
||||
CREATED : <% tp.date.now("YYYY_MM_DD_HHmmss") %>
|
||||
<% setStart %>
|
||||
KOREANKI_BASIC
|
||||
Front: <% Question %>
|
||||
Back: <% Answer %>
|
||||
END
|
||||
|
||||
FILE TAGS: shortanswerQuestion
|
||||
TARGET DECK: Anki Quiz
|
||||
|
||||
***
|
||||
|
||||
<h1>Commentary & Reference</h1>
|
||||
|
||||
_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_
|
||||
***
|
||||
- text
|
||||
|
||||
***
|
||||
|
||||
<h2>Outgoing Link</h2>
|
||||
|
||||
_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_
|
||||
***
|
||||
- text
|
||||
***
|
||||
|
||||
> [!info] Note Type 앞의 # 지우기 + File명은 'ANKI + 생성된ID' 로 통일
|
||||
> Front: 앞면, cloze 입력 가능 {{c1:cloze}}
|
||||
> Back: 뒷면
|
||||
|
||||
`해당 Template은 KOREANKI 카페의 https://cafe.naver.com/koreanki/45 를 통해 작성하였습니다.`
|
||||
@ -0,0 +1,76 @@
|
||||
<%*
|
||||
const setStart = "START"
|
||||
const clipboard = await tp.system.clipboard()
|
||||
var Sentence = await tp.system.prompt("영단어를 통한 한글 뜻 맞추기입니다. 전체 영어 문장을 입력해주세요", clipboard)
|
||||
var Word = await tp.system.prompt("입력된 문장 중, 어느 영단어에 빈칸을 뚫으시겠습니까?", Sentence+" 중 단어 선택")
|
||||
if (Sentence.includes(Word)) {
|
||||
console.log("문장 내 단어가 있습니다");
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
var Meaning = await tp.system.prompt("입력된 영단어의 한글 뜻은 무엇입니까?", Word+'의 뜻을 입력하세요')
|
||||
|
||||
if (Sentence.includes(Word)) {
|
||||
var newSentence = Sentence.replace(
|
||||
Word,
|
||||
`{{c1::${Meaning}::${Word};${Meaning[0]}--}}`
|
||||
);
|
||||
console.log(newSentence);
|
||||
}
|
||||
|
||||
let now = new Date();
|
||||
now.setHours(now.getHours() + 9);
|
||||
let dateString = now.toISOString().replace(/[-T:.Z]/g, '').slice(0, 14);
|
||||
let ankiString = 'Anki ' + dateString.substr(0,8) + '_' +dateString.substr(8,14);
|
||||
|
||||
await tp.file.rename(ankiString)
|
||||
-%>
|
||||
|
||||
***
|
||||
|
||||
CREATED : <% tp.date.now("YYYY_MM_DD_HHmmss") %>
|
||||
<% setStart %>
|
||||
KOREANKI_VOCA_CLOZE
|
||||
Text: <% newSentence %>
|
||||
Type?: 1
|
||||
Extra:
|
||||
Title: 문장에 제시된 빈 칸(영어)을 보고, 다음 단어의 뜻(한글)을 맞춰주세요.
|
||||
Category:
|
||||
Unit:
|
||||
Reference:
|
||||
Source:
|
||||
Image:
|
||||
END
|
||||
|
||||
FILE TAGS: VOCA(ENG to KOR)
|
||||
TARGET DECK: Study English
|
||||
***
|
||||
|
||||
<h1>Commentary & Reference</h1>
|
||||
|
||||
_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_
|
||||
***
|
||||
- text
|
||||
|
||||
***
|
||||
|
||||
<h2>Outgoing Link</h2>
|
||||
|
||||
_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_
|
||||
***
|
||||
- text
|
||||
***
|
||||
|
||||
> [!info] Note Type 앞의 # 지우기 + File명은 'ANKI + 생성된ID' 로 통일
|
||||
> Text: 빈칸으로 만들 텍스트(본문)
|
||||
> - ex) the {{c1::conclusion::결론; c--}} of a trustworthy … 라 입력하면, 1번째(c1) 빈칸에는 결론; c- 라고 나오고, conclusion이라는 단어를 맞춰야 함
|
||||
> Type?: 키보드 타이핑을 추가하려면 1을 입력
|
||||
> Extra: 부가적인 설명 (뒷장 답안지에만 출력됨)
|
||||
> Title: 문제의 제목
|
||||
> Category: 카테고리 분류(우측 첫째줄)
|
||||
> Unit: 유닛 혹은 챕터명(우측 둘째줄)
|
||||
> Reference: 기타 참고자료 (뒷장 답안지에만 출력됨)
|
||||
> Source: 기타 출처
|
||||
> Image: 이미지 입력
|
||||
|
||||
`해당 Template은 KOREANKI 카페의 https://cafe.naver.com/koreanki/143 를 통해 작성하였습니다.`
|
||||
1
pages/contents.md
Normal file
1
pages/contents.md
Normal file
@ -0,0 +1 @@
|
||||
-
|
||||
Loading…
Reference in New Issue
Block a user