From cd5523310eeb287b72f664751bfeebd0aa7c79b7 Mon Sep 17 00:00:00 2001 From: bleubulblight Date: Wed, 13 Aug 2025 17:42:11 +0900 Subject: [PATCH] vault backup: 2025-08-13 17:42:11 --- CODE_OF_CONDUCT.md | 90 ---- README.md | 18 - content/A/빈 파일.md | 28 ++ content/index.md | 7 +- content/전공/교통계획/임시 포스트.md | 7 + logseq/config.edn | 421 ++++++++++++++++++ logseq/custom.css | 0 .../[Formatting]Anki:Set Cloze.md | 54 +++ .../001. Formatting/[Formatting]Workout.md | 7 + .../[Formatting]각주(Footnote).md | 7 + .../[Formatting]굵게(Bold).md | 7 + .../[Formatting]글자 색상(Font Color).md | 10 + .../[Formatting]밑줄(Underline).md | 7 + .../[Formatting]백틱(BackTick).md | 7 + ...옵시디언 (위키)링크, 노트 생성, 노트 추가.md | 7 + .../[Formatting]이미지(Image).md | 10 + .../[Formatting]이탤릭(Italic).md | 7 + ...Formatting]인용, 콜아웃(Quote, Callout).md | 9 + .../[Formatting]제목1(Heading1).md | 8 + .../[Formatting]제목2(Heading2).md | 8 + .../[Formatting]제목3(Heading3).md | 8 + .../[Formatting]제목4(Heading4).md | 8 + .../[Formatting]제목5(Heading5).md | 8 + .../[Formatting]제목6(Heading6).md | 8 + ...matting]체크박스, 할 일(Checkbox, Task).md | 7 + .../[Formatting]취소선(Strikeout).md | 7 + .../[Formatting]코드블록(Code block).md | 3 + .../[Formatting]표(Table).md | 5 + .../[Formatting]하이라이트(Highlight).md | 7 + .../[Formatting]하이퍼링크(Hyperlink).md | 37 ++ ...matting]현재시각, 타임스탬프(Timestamp).md | 1 + ...[Template]Any Note(Book, Idea, Recap).md | 29 ++ .../002. Templater/[Template]Blog Post.md | 15 + .../002. Templater/[Template]Daily Notes.md | 61 +++ .../002. Templater/[Template]Recipe.md | 35 ++ .../[Template]Study(Index Page).md | 41 ++ ...[Template]Study(Index Page)_(P) Paper.md | 84 ++++ .../[Template]Zettelkasten note(memo).md | 30 ++ ...d:'빈칸 추론' with hint (shuffled words).md | 69 +++ ...Template]add Anki Card:Quiz with Cloze.md | 52 +++ ...rd:Quiz with Context(Case Type Question).md | 69 +++ .../[Template]add Anki Card:Quiz.md | 48 ++ ...emplate]add Anki Card:VOCA(ENG to KOR).md | 76 ++++ pages/contents.md | 1 + 44 files changed, 1319 insertions(+), 109 deletions(-) delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 README.md create mode 100644 content/전공/교통계획/임시 포스트.md create mode 100644 logseq/config.edn create mode 100644 logseq/custom.css create mode 100644 obsidian_templater/001. Formatting/[Formatting]Anki:Set Cloze.md create mode 100644 obsidian_templater/001. Formatting/[Formatting]Workout.md create mode 100644 obsidian_templater/001. Formatting/[Formatting]각주(Footnote).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]굵게(Bold).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]글자 색상(Font Color).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]밑줄(Underline).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]백틱(BackTick).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]옵시디언 (위키)링크, 노트 생성, 노트 추가.md create mode 100644 obsidian_templater/001. Formatting/[Formatting]이미지(Image).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]이탤릭(Italic).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]인용, 콜아웃(Quote, Callout).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]제목1(Heading1).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]제목2(Heading2).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]제목3(Heading3).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]제목4(Heading4).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]제목5(Heading5).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]제목6(Heading6).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]체크박스, 할 일(Checkbox, Task).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]취소선(Strikeout).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]코드블록(Code block).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]표(Table).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]하이라이트(Highlight).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]하이퍼링크(Hyperlink).md create mode 100644 obsidian_templater/001. Formatting/[Formatting]현재시각, 타임스탬프(Timestamp).md create mode 100644 obsidian_templater/002. Templater/[Template]Any Note(Book, Idea, Recap).md create mode 100644 obsidian_templater/002. Templater/[Template]Blog Post.md create mode 100644 obsidian_templater/002. Templater/[Template]Daily Notes.md create mode 100644 obsidian_templater/002. Templater/[Template]Recipe.md create mode 100644 obsidian_templater/002. Templater/[Template]Study(Index Page).md create mode 100644 obsidian_templater/002. Templater/[Template]Study(Index Page)_(P) Paper.md create mode 100644 obsidian_templater/002. Templater/[Template]Zettelkasten note(memo).md create mode 100644 obsidian_templater/002. Templater/[Template]add Anki Card:'빈칸 추론' with hint (shuffled words).md create mode 100644 obsidian_templater/002. Templater/[Template]add Anki Card:Quiz with Cloze.md create mode 100644 obsidian_templater/002. Templater/[Template]add Anki Card:Quiz with Context(Case Type Question).md create mode 100644 obsidian_templater/002. Templater/[Template]add Anki Card:Quiz.md create mode 100644 obsidian_templater/002. Templater/[Template]add Anki Card:VOCA(ENG to KOR).md create mode 100644 pages/contents.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 887a2c44f..000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -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._ diff --git a/README.md b/README.md deleted file mode 100644 index 27d6dbdb0..000000000 --- a/README.md +++ /dev/null @@ -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 - -

- - - -

diff --git a/content/A/빈 파일.md b/content/A/빈 파일.md index e69de29bb..2ebc9935f 100644 --- a/content/A/빈 파일.md +++ b/content/A/빈 파일.md @@ -0,0 +1,28 @@ +[[안녕]]하세요 + +![asd](https://lh3.googleusercontent.com/pw/AP1GczOtFoPgEkrBqXU9lbU681N4pj8g8rQg9Du14Bbv7ARd7-BLLp_KvVH70m3i50EzYJpFnJfno-lCWhZfRhcNX5EVCc2JytM5dwN8rsHYeIry8fFKyFD6xYtJ9PxfsSR-68UuLiRvntA7p8NPUXzlvl1Q=w328-h153-s-no-gm?authuser=0) + +```python +print('hello') +``` + + +# 목차 1 +## 하위 목차 1 +## 하위 목차 2 + +# 2탄 + +$$\lambda=1+2$$ + + +
+ +
+ [Figure num] + Image from clipboard +
+
+ + + diff --git a/content/index.md b/content/index.md index 3098545a7..c3d25718d 100644 --- a/content/index.md +++ b/content/index.md @@ -1 +1,6 @@ -안녕하세요? mayobloom 입니다. \ No newline at end of file +--- +title: mayobloom's blog +--- + +안녕하세요? mayobloom 입니다. + diff --git a/content/전공/교통계획/임시 포스트.md b/content/전공/교통계획/임시 포스트.md new file mode 100644 index 000000000..5c0eef3d2 --- /dev/null +++ b/content/전공/교통계획/임시 포스트.md @@ -0,0 +1,7 @@ +--- +title: 프로퍼티로 작성한 제목인 임시 포스트입니다. +--- + + +안녕하세요 + diff --git a/logseq/config.edn b/logseq/config.edn new file mode 100644 index 000000000..5ef6e652c --- /dev/null +++ b/logseq/config.edn @@ -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} diff --git a/logseq/custom.css b/logseq/custom.css new file mode 100644 index 000000000..e69de29bb diff --git a/obsidian_templater/001. Formatting/[Formatting]Anki:Set Cloze.md b/obsidian_templater/001. Formatting/[Formatting]Anki:Set Cloze.md new file mode 100644 index 000000000..6a542b473 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]Anki:Set Cloze.md @@ -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%> \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]Workout.md b/obsidian_templater/001. Formatting/[Formatting]Workout.md new file mode 100644 index 000000000..0e5c16a6a --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]Workout.md @@ -0,0 +1,7 @@ +<%* +const whether_aero = await tp.system.suggester(["🏃 유산소(Aerobic)","🏋️ 무산소(Anaerobic)"], ["Aerobic","Anaerobic"]); + + +-%> + +<%whether_aero%> \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]각주(Footnote).md b/obsidian_templater/001. Formatting/[Formatting]각주(Footnote).md new file mode 100644 index 000000000..594414a88 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]각주(Footnote).md @@ -0,0 +1,7 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> +<%selected%> ^[Contents] \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]굵게(Bold).md b/obsidian_templater/001. Formatting/[Formatting]굵게(Bold).md new file mode 100644 index 000000000..00cc2ed65 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]굵게(Bold).md @@ -0,0 +1,7 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> +**<%selected%>** \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]글자 색상(Font Color).md b/obsidian_templater/001. Formatting/[Formatting]글자 색상(Font Color).md new file mode 100644 index 000000000..c45a2822f --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]글자 색상(Font Color).md @@ -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"] ); +-%> +<%selected%> + diff --git a/obsidian_templater/001. Formatting/[Formatting]밑줄(Underline).md b/obsidian_templater/001. Formatting/[Formatting]밑줄(Underline).md new file mode 100644 index 000000000..fe82135c7 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]밑줄(Underline).md @@ -0,0 +1,7 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> +<%selected%> \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]백틱(BackTick).md b/obsidian_templater/001. Formatting/[Formatting]백틱(BackTick).md new file mode 100644 index 000000000..c3429747b --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]백틱(BackTick).md @@ -0,0 +1,7 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); +} +-%> +<% selected ? "`" + selected + "`" : "" %> \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]옵시디언 (위키)링크, 노트 생성, 노트 추가.md b/obsidian_templater/001. Formatting/[Formatting]옵시디언 (위키)링크, 노트 생성, 노트 추가.md new file mode 100644 index 000000000..f6a933463 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]옵시디언 (위키)링크, 노트 생성, 노트 추가.md @@ -0,0 +1,7 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> +[[<%selected%>]] \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]이미지(Image).md b/obsidian_templater/001. Formatting/[Formatting]이미지(Image).md new file mode 100644 index 000000000..1b7d745f4 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]이미지(Image).md @@ -0,0 +1,10 @@ +<%* +const clipboard = await tp.system.clipboard(); +-%> +
+ +
+ [Figure num] + Image from clipboard +
+
diff --git a/obsidian_templater/001. Formatting/[Formatting]이탤릭(Italic).md b/obsidian_templater/001. Formatting/[Formatting]이탤릭(Italic).md new file mode 100644 index 000000000..0a67fb6ef --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]이탤릭(Italic).md @@ -0,0 +1,7 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> +_<%selected%>_ \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]인용, 콜아웃(Quote, Callout).md b/obsidian_templater/001. Formatting/[Formatting]인용, 콜아웃(Quote, Callout).md new file mode 100644 index 000000000..01b5afb21 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]인용, 콜아웃(Quote, Callout).md @@ -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%> \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]제목1(Heading1).md b/obsidian_templater/001. Formatting/[Formatting]제목1(Heading1).md new file mode 100644 index 000000000..cf5e175e2 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]제목1(Heading1).md @@ -0,0 +1,8 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> + +

<%selected%>

diff --git a/obsidian_templater/001. Formatting/[Formatting]제목2(Heading2).md b/obsidian_templater/001. Formatting/[Formatting]제목2(Heading2).md new file mode 100644 index 000000000..286742288 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]제목2(Heading2).md @@ -0,0 +1,8 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> + +

<%selected%>

\ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]제목3(Heading3).md b/obsidian_templater/001. Formatting/[Formatting]제목3(Heading3).md new file mode 100644 index 000000000..69c4fea84 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]제목3(Heading3).md @@ -0,0 +1,8 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> + +

<%selected%>

\ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]제목4(Heading4).md b/obsidian_templater/001. Formatting/[Formatting]제목4(Heading4).md new file mode 100644 index 000000000..0bcf88032 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]제목4(Heading4).md @@ -0,0 +1,8 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> + +

<%selected%>

\ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]제목5(Heading5).md b/obsidian_templater/001. Formatting/[Formatting]제목5(Heading5).md new file mode 100644 index 000000000..54c5866fd --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]제목5(Heading5).md @@ -0,0 +1,8 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> + +
<%selected%>
\ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]제목6(Heading6).md b/obsidian_templater/001. Formatting/[Formatting]제목6(Heading6).md new file mode 100644 index 000000000..9d62358e9 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]제목6(Heading6).md @@ -0,0 +1,8 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> + +
<%selected%>
\ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]체크박스, 할 일(Checkbox, Task).md b/obsidian_templater/001. Formatting/[Formatting]체크박스, 할 일(Checkbox, Task).md new file mode 100644 index 000000000..544d6ab2e --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]체크박스, 할 일(Checkbox, Task).md @@ -0,0 +1,7 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> +- [ ] <%selected%> \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]취소선(Strikeout).md b/obsidian_templater/001. Formatting/[Formatting]취소선(Strikeout).md new file mode 100644 index 000000000..8237a82e9 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]취소선(Strikeout).md @@ -0,0 +1,7 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> +~~<%selected%>~~ \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]코드블록(Code block).md b/obsidian_templater/001. Formatting/[Formatting]코드블록(Code block).md new file mode 100644 index 000000000..e228cdd17 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]코드블록(Code block).md @@ -0,0 +1,3 @@ +```java +System.out.println("hello world!"); +``` \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]표(Table).md b/obsidian_templater/001. Formatting/[Formatting]표(Table).md new file mode 100644 index 000000000..e7a384e1e --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]표(Table).md @@ -0,0 +1,5 @@ +|기본값|왼쪽 정렬|가운데 정렬|오른쪽 정렬| +|---|:---|:---:|---:| +|내용 1|내용 2|내용 3|내용 4| +|내용 5|내용 6|내용 7|내용 8| +|내용 9|내용 10|내용 11|내용 12| diff --git a/obsidian_templater/001. Formatting/[Formatting]하이라이트(Highlight).md b/obsidian_templater/001. Formatting/[Formatting]하이라이트(Highlight).md new file mode 100644 index 000000000..a13667192 --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]하이라이트(Highlight).md @@ -0,0 +1,7 @@ +<%* +var sel = window.getSelection && window.getSelection(); +if (sel && sel.rangeCount > 0) { + var selected = sel.getRangeAt(0).toString(); + } +-%> +==<%selected%>== \ No newline at end of file diff --git a/obsidian_templater/001. Formatting/[Formatting]하이퍼링크(Hyperlink).md b/obsidian_templater/001. Formatting/[Formatting]하이퍼링크(Hyperlink).md new file mode 100644 index 000000000..41bf7608a --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]하이퍼링크(Hyperlink).md @@ -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 = ``; + +if (metadata.favicon) { + output += ``; + output += ``; + output += `${metadata.title}`; +} else { + output += `${metadata.title}`; +} + +output += ``; +-%> +<% output %> diff --git a/obsidian_templater/001. Formatting/[Formatting]현재시각, 타임스탬프(Timestamp).md b/obsidian_templater/001. Formatting/[Formatting]현재시각, 타임스탬프(Timestamp).md new file mode 100644 index 000000000..94d169d0f --- /dev/null +++ b/obsidian_templater/001. Formatting/[Formatting]현재시각, 타임스탬프(Timestamp).md @@ -0,0 +1 @@ +<% tp.date.now("YYYYMMDD_HHmmss") %> \ No newline at end of file diff --git a/obsidian_templater/002. Templater/[Template]Any Note(Book, Idea, Recap).md b/obsidian_templater/002. Templater/[Template]Any Note(Book, Idea, Recap).md new file mode 100644 index 000000000..b7338df08 --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]Any Note(Book, Idea, Recap).md @@ -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 diff --git a/obsidian_templater/002. Templater/[Template]Blog Post.md b/obsidian_templater/002. Templater/[Template]Blog Post.md new file mode 100644 index 000000000..a835feace --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]Blog Post.md @@ -0,0 +1,15 @@ +`Publishing Timestamp : <% tp.date.now("YYYYMMDD_HHmmss") %>` +`Last Modified : -` + +Tags : #태그 + +--- + +# 제목 1 + + +# 제목 2 + + +# 제목 3 + diff --git a/obsidian_templater/002. Templater/[Template]Daily Notes.md b/obsidian_templater/002. Templater/[Template]Daily Notes.md new file mode 100644 index 000000000..eb9a2b8a2 --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]Daily Notes.md @@ -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 +``` +*** diff --git a/obsidian_templater/002. Templater/[Template]Recipe.md b/obsidian_templater/002. Templater/[Template]Recipe.md new file mode 100644 index 000000000..8f83f6a4e --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]Recipe.md @@ -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 \ No newline at end of file diff --git a/obsidian_templater/002. Templater/[Template]Study(Index Page).md b/obsidian_templater/002. Templater/[Template]Study(Index Page).md new file mode 100644 index 000000000..17307ee1d --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]Study(Index Page).md @@ -0,0 +1,41 @@ +--- +date: <% tp.date.now("YYYYMMDDHHmmss") %> +type: +title: +aliases: +author(lecturer): +tags: +category: +status: +cssClass: +publish: +--- + +

Cover Image

+ +![[sample image(for template).png| 400x400 ]] + +*** + +>[!caution] +>- **Study 글에서 Frontmatter 작성 시**, 아래와 같은 규칙을 반드시 지켜주세요. +> - **type**는 book, lecture, paper 중 하나로 선택 + +*** +

Contents

+ +1. text + +*** +

Link

+ +- link + +*** +

Other Metadata(Optional)

+ +- [start_read_date:: <% tp.file.creation_date() %>] +- [finish_read_date:: ] +- [total_page:: ] +- [book_note:: ] +- [my_rate:: ] \ No newline at end of file diff --git a/obsidian_templater/002. Templater/[Template]Study(Index Page)_(P) Paper.md b/obsidian_templater/002. Templater/[Template]Study(Index Page)_(P) Paper.md new file mode 100644 index 000000000..ba3b542b2 --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]Study(Index Page)_(P) Paper.md @@ -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) + +*** + +*** diff --git a/obsidian_templater/002. Templater/[Template]Zettelkasten note(memo).md b/obsidian_templater/002. Templater/[Template]Zettelkasten note(memo).md new file mode 100644 index 000000000..e0034902b --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]Zettelkasten note(memo).md @@ -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 문서의 경우, 글을 쓰다 필요한 부분에 `[[]]`를 통해 링크할 것 + + diff --git a/obsidian_templater/002. Templater/[Template]add Anki Card:'빈칸 추론' with hint (shuffled words).md b/obsidian_templater/002. Templater/[Template]add Anki Card:'빈칸 추론' with hint (shuffled words).md new file mode 100644 index 000000000..1797017db --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]add Anki Card:'빈칸 추론' with hint (shuffled words).md @@ -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 +*** + +

Commentary & Reference

+ +_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_ +*** +- text + +*** + +

Outgoing Link

+ +_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_ +*** +- 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 를 통해 작성하였습니다.` \ No newline at end of file diff --git a/obsidian_templater/002. Templater/[Template]add Anki Card:Quiz with Cloze.md b/obsidian_templater/002. Templater/[Template]add Anki Card:Quiz with Cloze.md new file mode 100644 index 000000000..4e8392752 --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]add Anki Card:Quiz with Cloze.md @@ -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 + +*** + +

Commentary & Reference

+ +_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_ +*** +- text + +*** + +

Outgoing Link

+ +_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_ +*** +- text +*** + +> [!info] Note Type 앞의 # 지우기 + File명은 'ANKI + 생성된ID' 로 통일 +> Front: 앞면, cloze 입력 가능 {{c1:cloze}} +> Back: 뒷면 + +`해당 Template은 KOREANKI 카페의 https://cafe.naver.com/koreanki/13 를 통해 작성하였습니다.` \ No newline at end of file diff --git a/obsidian_templater/002. Templater/[Template]add Anki Card:Quiz with Context(Case Type Question).md b/obsidian_templater/002. Templater/[Template]add Anki Card:Quiz with Context(Case Type Question).md new file mode 100644 index 000000000..cbbd32858 --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]add Anki Card:Quiz with Context(Case Type Question).md @@ -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 + +*** + +

Commentary & Reference

+ +_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_ +*** +- text + +*** + +

Outgoing Link

+ +_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_ +*** +- text +*** + +> [!info] Note Type 앞의 # 지우기 + File명은 'ANKI + 생성된ID' 로 통일 +> Context: 본문 +> Q1~Q10: 하위문제 +> A1~A10: 하위문제에 해당하는 답안 + +`해당 Template은 KOREANKI 카페의 https://cafe.naver.com/koreanki/104 를 통해 작성하였습니다.` \ No newline at end of file diff --git a/obsidian_templater/002. Templater/[Template]add Anki Card:Quiz.md b/obsidian_templater/002. Templater/[Template]add Anki Card:Quiz.md new file mode 100644 index 000000000..26efbdeb8 --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]add Anki Card:Quiz.md @@ -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 + +*** + +

Commentary & Reference

+ +_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_ +*** +- text + +*** + +

Outgoing Link

+ +_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_ +*** +- text +*** + +> [!info] Note Type 앞의 # 지우기 + File명은 'ANKI + 생성된ID' 로 통일 +> Front: 앞면, cloze 입력 가능 {{c1:cloze}} +> Back: 뒷면 + +`해당 Template은 KOREANKI 카페의 https://cafe.naver.com/koreanki/45 를 통해 작성하였습니다.` \ No newline at end of file diff --git a/obsidian_templater/002. Templater/[Template]add Anki Card:VOCA(ENG to KOR).md b/obsidian_templater/002. Templater/[Template]add Anki Card:VOCA(ENG to KOR).md new file mode 100644 index 000000000..2141e87fb --- /dev/null +++ b/obsidian_templater/002. Templater/[Template]add Anki Card:VOCA(ENG to KOR).md @@ -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 +*** + +

Commentary & Reference

+ +_문제의 해설을 적어주세요. 필요하다면 obsidian의 다른 문서나 외부 페이지도 참조해주세요_ +*** +- text + +*** + +

Outgoing Link

+ +_이후에 읽어야 하거나 이후에 읽으면 좋을 글을 참조_ +*** +- 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 를 통해 작성하였습니다.` \ No newline at end of file diff --git a/pages/contents.md b/pages/contents.md new file mode 100644 index 000000000..3cf20d57b --- /dev/null +++ b/pages/contents.md @@ -0,0 +1 @@ +- \ No newline at end of file