Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Persistent Self Notes but New Reading Notes #1

Open
Bulgy404 opened this issue Mar 3, 2024 · 3 comments
Open

Persistent Self Notes but New Reading Notes #1

Bulgy404 opened this issue Mar 3, 2024 · 3 comments

Comments

@Bulgy404
Copy link

Bulgy404 commented Mar 3, 2024

Hey man,

love the template. I am using it a lot lately which is why I tweaked it a bit to my needs ;)

Espacially I am using the Headings as Links which makes it easier for me to organise my writing. The problem I has was that new comments where always added to the end and ones I already deleted in Zotero have still been visible in the obsidian file. I removed the persist badge from this and now that works but unfortunately It does not work with the self notes.

I would like to keep the self notes but reload the reading notes with every import. If I keep the persist at the self notes, write something there and reimport all my reading notes are gone :D

Do you have any idea how to solve this? Help would be highly appreciated ;)

You can try it yourself, just use this template, import a paper, add something add the self notes and reimport the paper
`---
tags: [{{allTags}}]
title: "{{title}}"
authors: "{{authors}}"
year: {{date | format("YYYY")}}
publisher: "{{publicationTitle}}"
citekey: {{citekey}}
collection: "[[{{collections[0].fullPath}}]]"

[!meta]- Metadata
abstract:: {{abstractNote}}
zotero_link:: {{pdfZoteroLink}}
Related:: {% for relation in relations -%} {%- if relation.citekey -%} [[{{relation.citekey}}]], {% endif -%} {%- endfor%}
url:: {{url}}
doi:: {{doi}}
bibliography:: {{bibliography}}


Webpage

<iframe src="{{url}}" allow="fullscreen" allowfullscreen="" style="height:100%;width:100%; aspect-ratio: 16 / 10; "></iframe>

Self Notes

{% persist "notes" %}{% if isFirstImport %}

{% endif %}things to add each time you import
{% endpersist %}


Reading notes

{%-
set zoteroColors = {
"#2ea8e5": "blue",
"#5fb236": "green",
"#a28ae5": "purple",
"#ff6666": "red",
"#ffd400": "yellow",
"#f19837": "orange",
"#aaaaaa": "grey",
"#e56eee": "magenta"
}
-%}

{%-
set colorHeading = {
"blue": "ℹ Background information, Prerequisites",
"green": "❓ Assumptions, Questions, Goals, Problems",
"purple": "📊 Main findings, Results, Conclusions",
"red": "🧪Experimental details or Methods",
"yellow": "⭐ Interesting point, Facts, Examples",
"orange": "⚠️ Discussion, Disagree with author",
"grey": "📅 Vocabulary, Names, Dates, Definitions",
"magenta": "📄 Important references"
}
-%}

{%- macro calloutHeader(type) -%}
{%- switch type -%}
{%- case "highlight" -%}
Highlight
{%- case "image" -%}
Image
{%- default -%}
Note
{%- endswitch -%}
{%- endmacro %}

{%- set newAnnot = [] -%}
{%- set newAnnotations = [] -%}
{%- set annotations = annotations | filterby("date", "dateafter", lastImportDate) %}

{% if annotations.length > 0 %}
Imported: {{importDate | format("YYYY-MM-DD HH:mm")}}

{%- for annot in annotations -%}

{%- if annot.color in zoteroColors -%}
    {%- set customColor = zoteroColors[annot.color] -%}
{%- elif annot.colorCategory|lower in colorHeading -%}
	{%- set customColor = annot.colorCategory|lower -%}
{%- else -%}
    {%- set customColor = "other" -%}
{%- endif -%}

{%- set newAnnotations = (newAnnotations.push({"annotation": annot, "customColor": customColor}), newAnnotations) -%}

{%- endfor -%}

{#- INSERT ANNOTATIONS -#}
{#- Loops through each of the available colors and only inserts matching annotations -#}
{#- This is a workaround for inserting categories in a predefined order (instead of using groupby & the order in which they appear in the PDF) -#}

{%- for color, heading in colorHeading -%}
{%- for entry in newAnnotations | filterby ("customColor", "startswith", color) -%}
{%- set annot = entry.annotation -%}

{%- if entry and loop.first %}

{{colorHeading[color]}}

{%- endif %}

[!quote{{"|" + color if color != "other"}}]+ {{calloutHeader(annot.type)}} (page. {{annot.pageLabel}})

{%- if annot.annotatedText %}

{{annot.annotatedText|nl2br}} {% if annot.hashTags %}{{annot.hashTags}}{% endif -%}
{%- endif %}

{%- if annot.imageRelativePath %}

![[{{annot.imageRelativePath}}]]
{%- endif %}

{%- if annot.ocrText %}

{{annot.ocrText}}
{%- endif %}

{%- if annot.comment %}

  • {{annot.comment|nl2br}}
    {%- endif -%}

{%- endfor -%}
{%- endfor -%}
{% endif %}`

@muhammadammarzahid
Copy link
Owner

Hi

Check the attached template if it works for you as you described.

template.md

@Bulgy404
Copy link
Author

Bulgy404 commented Mar 4, 2024

Yeah perfect that does the trick - what did I miss?

@muhammadammarzahid
Copy link
Owner

muhammadammarzahid commented Mar 9, 2024

The template contains two lists. One containing the previous annotations and one new. You just need to remove the previous annotations and consider only new annotations each time you import. And no "persist" wrap around the annotations which you already did.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants