OcttKB Cross-Repo Sync (HTML to Raw)

This commit is contained in:
2023-03-24 11:58:33 +00:00
parent e0528394e6
commit dc21b3c71c
1537 changed files with 93 additions and 1028 deletions

View File

@ -0,0 +1,12 @@
tags:
title: $:/plugins/kookma/refnotes/history
type: text/vnd.tiddlywiki
Full change log https://kookma.github.io/TW-Refnotes/#ChangeLog
* ''1.8.1'' -- 2022.06.03 -- many improvements to APA7 and BibTeX support in Refnotes
* ''1.8.0'' -- 2022.05.27 -- many improvements, refrence manager has APA7 as default style
* ''1.7.4'' -- 2022.05.18 -- stable release based on TW 5.2.2, minor bugs fixed
* ''1.7.2'' -- 2021.09.19 -- stable release based on TW 5.2.0
* ''1.6.0'' -- 2021.04.02 -- development (beta) of new release
* ''1.0.3'' -- 2019.03.20 -- first stable release

View File

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

View File

@ -0,0 +1,12 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/abbr
type: text/vnd.tiddlywiki
\define abbr(term:"", dict:"Glossary")
<$set name="abbreviation"
tiddler=<<__dict__>>
index=<<__term__>>
emptyValue="Term not found">
<span class=refnotes-abbr><abbr title=<<abbreviation>> ><$text text=<<__term__>> /></abbr></span>
</$set>
\end

View File

@ -0,0 +1,100 @@
code-body: yes
tags:
title: $:/plugins/kookma/refnotes/macros/apa/authors
type: text/vnd.tiddlywiki
\define show-authors-in-citation(conjunction:"&")
<!-- used in ref macro APA7 -->
<$let authorlist= {{{ [<__tid__>get[bibtex-author]] }}}
number-authors= {{{ [<authorlist>split[ and ]!is[blank]count[]] }}}
>
<!-- single authors -->
<$list filter="[<number-authors>compare:number:eq[1]]" variable=null>
<$list filter="[<authorlist>split[ and ]first[]]" variable=author>
<<authorName "LastName">>
</$list>
</$list>
<!-- two authors -->
<$list filter="[<number-authors>compare:number:eq[2]]" variable=null>
<$list filter="[<authorlist>split[ and ]first[]]" variable=author><<authorName "LastName">> $conjunction$</$list>
<$list filter="[<authorlist>split[ and ]last[]]" variable=author><<authorName "LastName">></$list>
</$list>
<!-- multiple authors -->
<$list filter="[<number-authors>compare:number:gt[2]]" variable=null>
<$list filter="[<authorlist>split[ and ]first[]]" variable=author>
<<authorName "LastName">> et al.
</$list>
</$list>
<!-- no author, use three words of title -->
<$list filter="[<number-authors>compare:number:eq[0]]" variable=null>
<$text text={{{ [<__tid__>get[bibtex-title]split[ ]!is[blank]first[3]join[ ]] :else[<__tid__>]}}}/>
</$list>
</$let>
\end
\define parse-fullname()
<!-- parse author full name and returns: last_name, first_name middle_name
it handles nobiliary particle like: Lugwig von Beethoven
-->
<!-- return the same name if it is stored in BibTeX method 2: https://www.bibtex.com/f/author-field/ -->
<$list filter="[<author>!search[,]]" emptyMessage=<<author>> variable=null>
<$let
pattern1="\s+([a-z][a-zA-Z]*?)\s+"
pname={{{
[<author>search-replace:g:regexp<pattern1>,[ $1°]]
+[splitregexp[\s]trim[]]
+[search-replace:g:regexp[°],[ ]]
+[join[°_°]]
}}}
><$text text={{{ [<pname>split[°_°]!is[blank]last[]addsuffix[,]] [<pname>split[°_°]!is[blank]butlast[]] +[join[ ]] }}}/>
</$let>
</$list>
\end
<!-- Macros for reference list -->
\define authorName(format:"")
<!-- display a single author name in form of Family, F.N.
it can also send the last name only (surname) used in show-authors-in-citation macro
-->
\whitespace trim
<$wikify name=pname text=<<parse-fullname>> >
<$let last= {{{ [<pname>split[,]!is[blank]trim[]first[]]}}}
initials={{{ [<pname>split[,]!is[blank]trim[]butfirst[]split[ ]!is[blank]] :map[split[]!is[blank]first[]addsuffix[.]] +[join[ ]]}}}
dispname={{{ [<last>addsuffix[, ]addsuffix<initials>] }}}
>
<$list filter="[<__format__>!match[LastName]]" variable=null emptyMessage=<<last>>><<dispname>></$list>
</$let>
</$wikify>
\end
\define show-authors-in-references()
<!-- used in template -->
<$let authorslist= {{!!bibtex-author}}
number-authors= {{{ [<authorslist>split[ and ]!is[blank]count[]] }}}
>
<$set name=authors filter="[<authorslist>split[ and ]trim[]]" >
<!-- single author ---------->
<$list filter="[<number-authors>compare:integer:eq[1]]" variable=null>
<$vars author={{{ [enlist<authors>last[]] }}}><<authorName>></$vars>
</$list>
<!-- multi authors ---------->
<$list filter="[<number-authors>compare:integer:gt[1]]" variable=null>
<$list filter="[enlist<authors>butlast[]]" variable=author>
<<authorName>>,
</$list>
<$vars author={{{ [enlist<authors>last[]] }}}>& <<authorName>></$vars>
</$list>
<!-- no author, use three words of title -->
<$list filter="[<number-authors>compare:number:eq[0]]" variable=null>
<$text text={{{ [{!!bibtex-title}split[ ]!is[blank]first[3]join[ ]] :else[[Unknown author]]}}}/>
</$list>
</$set>
</$let>
\end

View File

@ -0,0 +1,23 @@
code-body: yes
tags:
title: $:/plugins/kookma/refnotes/macros/apa/bibliography-helper
type: text/vnd.tiddlywiki
\define find-cited-works()
\import $:/plugins/kookma/refnotes/macros/bibtex/find-refs
<$list filter=<<__citedfilter__>> >
<$macrocall $name="find-refs" thisTiddler=<<currentTiddler>> />
</$list>
\end
\define display-single-reference()
\import $:/plugins/kookma/refnotes/macros/apa/authors
<$let currentType={{{[<reference>get[bibtex-entry-type]lowercase[]] ~[[miscellaneous]]}}} >
<$set name="bodyLookup"
filter="[all[tiddlers+shadows]tag[$:/tags/Refnotes/ReflistTemplate]contains:list<currentType>] +[limit[1]get[title]]"
value=<<bodyLookup>>
emptyValue="$:/plugins/kookma/refnotes/templates/reflist/apa/default">
<$transclude tiddler=<<bodyLookup>> field="text" mode="inline"/>
</$set>
</$let>
\end

View File

@ -0,0 +1,18 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/apa/bibliography
type: text/vnd.tiddlywiki
\define bibliography(citedfilter:"[<currentTiddler>]", furtherfilter:"", class:"ref-list")
\import $:/plugins/kookma/refnotes/macros/apa/bibliography-helper
<!-- populate all citations in given tiddler or list of tiddlers (given scope through citedfilter) -->
<$wikify name="works-cited" text=<<find-cited-works>> >
<!-- generate the reference list/bibliograpgy -->
<ol class="$class$">
<$list filter="[enlist<works-cited>][subfilter<__furtherfilter__>]:and[sort[]]" variable="reference">
<<display-single-reference>>
</$list>
</ol>
</$wikify>
\end
<!-- see $:/plugins/kookma/refnotes/macros/apa/bibliography-helper for utility macros -->

View File

@ -0,0 +1,27 @@
code-body: yes
tags:
title: $:/plugins/kookma/refnotes/macros/apa/ref-helper
type: text/vnd.tiddlywiki
<!-- This tiddler contains helper macros used in $:/plugins/kookma/refnotes/macros/apa/ref -->
<!-- parenthetical in text citation -->
\define parenthetical()
<$wikify name=authors text=<<show-authors-in-citation>> >
(<$text text={{{ [<authors>trim[]addsuffix[, ]] }}}/><$text text={{{ [<__tid__>get[bibtex-year]] :else[[n.d.]] }}}/><$text text={{{[<__pages__>!is[blank]then<__pages__>addprefix[, ]]}}}/>)
</$wikify>
\end
<!-- narrative in text citation -->
\define narrative()
<$wikify name=authors text=<<show-authors-in-citation and>> >
<$text text={{{ [<authors>trim[]addsuffix[ ]] }}}/>(<$text text={{{ [<__tid__>get[bibtex-year]] :else[[n.d.]] }}}/><$text text={{{[<__pages__>!is[blank]then<__pages__>addprefix[, ]]}}}/>)
</$wikify>
\end
<!-- multiwork parenthetical in text citation -->
\define multiwork-parenthetical()
<$wikify name=authors text=<<show-authors-in-citation>> >
<$text text={{{ [<authors>trim[]addsuffix[, ]] }}}/><$text text={{{ [<__tid__>get[bibtex-year]] :else[[n.d.]] }}}/><$text text={{{[<__pages__>!is[blank]then<__pages__>addprefix[, ]]}}}/>
</$wikify>
\end

View File

@ -0,0 +1,30 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/apa/ref
type: text/vnd.tiddlywiki
\define ref(tid, type:"p", pages:"")
\import $:/plugins/kookma/refnotes/macros/apa/authors
\import $:/plugins/kookma/refnotes/macros/apa/ref-helper
\whitespace trim
<$set name="ref-tid" tiddler=<<__tid__>> field="title" emptyValue="RefNotFound">
<div class="refnotes-tooltip refcls">
<$reveal type="match" default=<<ref-tid>> text="RefNotFound">
<$link overrideClass="link-refcls">[<$view tiddler=<<__tid__>> field="title"/>]</$link>
<div class="refnotes-tooltiptext ref-notfound"><b>Warning</b>: Reference Not Found.<br>Click to create it:<<create-notexisted-ref "$tid$">></div>
</$reveal>
<$reveal type="nomatch" default=<<ref-tid>> text="RefNotFound">
<$list filter="[[$type$]lowercase[]match[p]]" variable=null><<parenthetical>></$list>
<$list filter="[[$type$]lowercase[]match[n]]" variable=null><<narrative>></$list>
<$list filter="[[$type$]lowercase[]match[m]]" variable=null><<multiwork-parenthetical>></$list>
<div class="refnotes-tooltiptext">
<$macrocall $name="displayref-onhover" refTid=<<ref-tid>> />
</div>
</$reveal>
</div>
</$set>
\end
<!-- cite is a synonym for ref macro -->
\define cite(tid, type:"p", pages:"") <$macrocall $name=ref tid=<<__tid__>> type=<<__type__>> pages=<<__pages__>> />
<!-- for helper macros see $:/plugins/kookma/refnotes/macros/apa/ref-helper -->

View File

@ -0,0 +1,34 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/apa/showrefs
type: text/vnd.tiddlywiki
\define showrefs(filter:[<currentTiddler>] title:Empty class:ref-list emptyMessage)
\import $:/plugins/kookma/refnotes/macros/apa/authors
\import $:/plugins/kookma/refnotes/macros/bibtex/find-refs
<$let leftDelimiter1="<<ref " leftDelimiter2="<<cite ">
<$list filter="[subfilter<__filter__>search:text:literal<leftDelimiter1>][subfilter<__filter__>search:text:literal<leftDelimiter2>]:and[limit[1]]" emptyMessage=<<__emptyMessage__>>variable=null>
<$reveal tag=div type=nomatch text=<<__title__>>default=Empty>
<h2>$title$</h2>
</$reveal>
<!---->
<$wikify text="
<$list filter=<<__filter__>>>
<$macrocall thisTiddler={{!!title}}$name=find-refs/>
</$list>
"name=mylist>
<!---->
<ol class="$class$">
<$list filter="[enlist<mylist>trim[]sort[]]"variable=reference>
<$let currentType={{{[<reference>get[bibtex-entry-type]lowercase[]]~miscellaneous}}}>
<$set filter="[[$:/tags/Refnotes/ReflistTemplate]tagging[]contains:list<currentType>nth[]get[title]]"value=<<bodyLookup>>emptyValue="$:/plugins/kookma/refnotes/templates/reflist/apa/default"name=bodyLookup>
<$transclude tiddler=<<bodyLookup>>field=text mode=inline/>
</$set>
</$let>
</$list>
</ol>
</$wikify>
</$list>
\end

View File

@ -0,0 +1,31 @@
code-body: yes
tags:
title: $:/plugins/kookma/refnotes/macros/bibtex/find-refs
type: text/vnd.tiddlywiki
<!-- find-refs looks into thisTiddler text and finds all forms of <<ref .>> and <<cite .>> -->
\define find-refs(thisTiddler)
<$vars
regexp="(?g)<<ref .+?>>" regexpc ="(?g)<<cite .+?>>"
regexp2='<<ref\s+(.*?)>>' regexp2c='<<cite\s+(.*?)>>'
regexp3='^"(.*?)"'
regexp4="^'(.*?)'"
regexp5="\[\[(.*?)\]\]"
regexp6="^(.*?)\s"
>
<$list filter="[<__thisTiddler__>regexprefs:text<regexp>][<__thisTiddler__>regexprefs:text<regexpc>]">
<$list filter="[all[current]regexprefs<regexp2>][all[current]regexprefs<regexp2c>]">
<$list filter="""
[all[current]regexprefs<regexp3>]
:else[all[current]regexprefs<regexp4>]
:else[all[current]regexprefs<regexp5>]
:else[all[current]regexprefs<regexp6>]
:else[all[current]]
:and[format:titlelist[]]
""" variable=p >
<$text text=<<p>> />
</$list>
</$list>
</$list>
</$vars>
\end

View File

@ -0,0 +1,49 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/bibtex/process-entries
type: text/vnd.tiddlywiki
\define title-slugify()
<$vars curTitle=<<currentTiddler>> newTitle={{{[<currentTiddler>slugify[]]}}}>
<$list filter="[<curTitle>!match<newTitle>]" variable=null>
<$action-sendmessage $message="tm-rename-tiddler" from=<<currentTiddler>> to=<<newTitle>> />
</$list>
</$vars>
\end
\define correct-doi()
<$list filter="[<currentTiddler>has[bibtex-doi]get[bibtex-doi]!prefix[https://doi.org]]" variable=null>
<$action-setfield $field="bibtex-doi" $value={{{ [{!!bibtex-doi}addprefix[https://doi.org/]] }}}/>
</$list>
\end
\define tag-entries()
<!-- change entry type to lower case -->
<$action-setfield $tiddler=<<currentTiddler>> bibtex-entry-type={{{[<currentTiddler>get[bibtex-entry-type]lowercase[]]}}} />
<!-- add bibtex-entry -->
<$fieldmangler>
<$action-sendmessage $message="tm-add-tag" $param="bibtex-entry" />
</$fieldmangler>
\end
\define process-entries(title:"Process New Bibtex Entries")
<$button> $title$
<$wikify name=chkDuplicates text=<<check-duplicates>> >
<$action-confirm $message=<<chkDuplicates>> >
<$list filter="[has[bibtex-title]!tag[bibtex-entry]]">
<<tag-entries>>
<<title-slugify>>
<<correct-doi>>
</$list>
</$action-confirm>
</$wikify>
</$button>
\end
<!-- check duplicate reference tiddlers before slugifying -->
\define check-duplicates()
<$list filter="[has[bibtex-title]duplicateslugs[]limit[1]]" emptyMessage="There are no duplicate entries, do you want to process new entries?">
The following tiddlers have duplicate slugs, so they will overwrite eachother, do you want to continue?
<$list filter="[has[bibtex-title]duplicateslugs[]] +[join[, ]]" template="$:/core/ui/ListItemTemplate"/>
</$list>
\end

View File

@ -0,0 +1,87 @@
/*\
title: $:/plugins/kookma/macro/bibtex/regexprefs.js
type: application/javascript
module-type: filteroperator
Filter operator for regexp matching and returning result. All results are returned if global flag used. All sub-groups are returned if not global and sub-group hits are found.
This is a hacked version of core macro: $:/core/modules/filters/regexp.js
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Export our filter function
*/
exports.regexprefs = function(source,operator,options) {
var results = [],
fieldname = (operator.suffix || "title").toLowerCase(),
regexpString, regexp, flags = "", match, global,
getFieldString = function(tiddler,title) {
if(tiddler) {
return tiddler.getFieldString(fieldname);
} else if(fieldname === "title") {
return title;
} else {
return null;
}
};
// Process flags and construct regexp
regexpString = operator.operand;
match = /^\(\?([gim]+)\)/.exec(regexpString);
if(match) {
flags = match[1];
regexpString = regexpString.substr(match[0].length);
} else {
match = /\(\?([gim]+)\)$/.exec(regexpString);
if(match) {
flags = match[1];
regexpString = regexpString.substr(0,regexpString.length - match[0].length);
}
}
try {
regexp = new RegExp(regexpString,flags);
} catch(e) {
return ["" + e];
}
global = /g/.test(flags) ;
// Process the incoming tiddlers
if(operator.prefix === "!") {
source(function(tiddler,title) {
var text = getFieldString(tiddler,title);
if(text !== null) {
if(!regexp.exec(text)) {
results.push(title);
}
}
});
} else {
source(function(tiddler,title) {
var text = getFieldString(tiddler,title), ret="";
if(text !== null) {
ret = text.match(regexp) ;
if(ret !==null) {
if(global) {
results.push.apply(results,ret) ; //DEBUG
} else {
// if there are sub groups return sub groups START
if(ret.length > 1) { // return sub groups
results = results.concat(ret.slice(1)) ;
} else { // if no sub-groups
results.push(ret[0]);
}
}
}
}
});
}
return results;
};
})();

View File

@ -0,0 +1,3 @@
module-type: filteroperator
title: $:/plugins/kookma/refnotes/macros/bibtex/regexprefs.js
type: application/javascript

View File

@ -0,0 +1,30 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/bibtex/utility
type: text/vnd.tiddlywiki
\define displayref-onhover(refTid)
<$set name="ref-tid" value=<<__refTid__>> >
<$link overrideClass="link-refcls" to=<<ref-tid>> >
<$list filter="[<ref-tid>get[bibtex-entry-type]lowercase[]!match[website]]" variable=null
emptyMessage="""<span class="ref-author"><$view tiddler=<<ref-tid>> field="bibtex-url"/>.</span>""">
<span class="ref-author"><$view tiddler=<<ref-tid>> field="bibtex-author"/>.</span>
</$list>
</$link>
<$view tiddler=<<ref-tid>> field="bibtex-title"/>. (<$view tiddler=<<ref-tid>> field="bibtex-year"/>)
</$set>
\end
\define create-notexisted-ref(refTid)
<$set name="myTid" value=<<__refTid__>> >
<$button class="tc-btn-invisible tc-tiddlylink">
<$action-sendmessage $message="tm-new-tiddler"
title=<<myTid>>
bibtex-author="" bibtex-year=""
bibtex-title="" bibtex-abstract=""
bibtex-entry-type="" bibtex-keywords=""
bibtex-doi="" bibtex-url=""
tags="bibtex-entry"
/><<myTid>>
</$button>
</$set>
\end

View File

@ -0,0 +1,36 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/find
type: text/vnd.tiddlywiki
\define find(text, begin, end, output:"simple", mode:"all")
<$vars
fulltext=<<__text__>>
start=<<__begin__>>
stop=<<__end__>>
output-macro=<<__output__>>
>
<$list variable=p1 filter="[<fulltext>splitbefore<start>]">
<$list variable=p2 filter="[<fulltext>removeprefix<p1>]">
<$list variable=p3 filter="[<p2>splitbefore<stop>removesuffix<stop>]">
<$macrocall $name=<<output-macro>> p=<<p3>> />
<$reveal type="match" text="all" default=<<__mode__>> >
<$macrocall $name="find"
text={{{[<p2>removeprefix<p3>removeprefix<stop>]}}}
begin=<<start>>
end=<<stop>>
output=<<output-macro>>
/>
</$reveal>
</$list>
</$list>
</$list>
</$vars>
\end
\define simple(p)
<$text text=<<__p__>> />
\end
\define simple-list(p)
<li><$text text=<<__p__>>/></li>
\end

View File

@ -0,0 +1,7 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/footnote
type: text/vnd.tiddlywiki
\define fnote(note)
<div class="refnotes-tooltip refnotes-footnote"><div class="refnotes-tooltiptext">$note$</div></div>
\end

View File

@ -0,0 +1,22 @@
tags:
title: $:/plugins/kookma/refnotes/macros/numbered/refnum
type: text/vnd.tiddlywiki
\define refnum(tid)
<$set name="ref-tid" tiddler=<<__tid__>> field="title" emptyValue="RefNotFound">
<div class="refnotes-tooltip refcls">
<$reveal type="match" default=<<ref-tid>> text="RefNotFound">
<$link overrideClass="link-refcls">
[<$view tiddler=<<__tid__>> field="title"/>]
</$link>
<div class="refnotes-tooltiptext ref-notfound"><b>Warning</b>: Reference Not Found.<br>Click to create it:<<create-notexisted-ref "$tid$">></div>
</$reveal>
<$reveal type="nomatch" default=<<ref-tid>> text="RefNotFound">
[<$view tiddler=<<__tid__>> field="caption"><$view tiddler=<<__tid__>> field="title"/></$view>]
<div class="refnotes-tooltiptext">
<$macrocall $name="displayref-onhover" refTid=<<ref-tid>> />
</div>
</$reveal>
</div>
</$set>
\end

View File

@ -0,0 +1,33 @@
tags:
title: $:/plugins/kookma/refnotes/macros/search-ui
type: text/vnd.tiddlywiki
\define searchTid() $:/temp/refnotes/search
\define bibtexFields() [!is[shadow]!is[system]has[bibtex-title]fields[]prefix[bibtex-]sort[]]
\define mainFields() bibtex-title bibtex-author bibtex-year
\define searchUi()
<div class="tc-search">
<$edit-text tiddler=<<searchTid>> type="search" tag="input" placeholder="search terms" default=""/> <$select field="field" tiddler=<<searchTid>> default="bibtex-author">
<$set name=allfields filter= "[subfilter<bibtexFields>split[ ]join[,]]" >
<option value=<<allfields>> >all fields</option>
</$set>
<optgroup label="Main fields">
<$list filter="[enlist<mainFields>removeprefix[bibtex-]]" variable="field">
<option value={{{[<field>addprefix[bibtex-]]}}} ><<field>></option>
</$list>
</optgroup>
<optgroup label="Other fields">
<$list filter="[subfilter<bibtexFields>] -[enlist<mainFields>] +[removeprefix[bibtex-]]" variable="field">
<option value={{{[<field>addprefix[bibtex-]]}}} ><<field>></option>
</$list>
</optgroup>
</$select>
<$reveal state=<<searchTid>> type="nomatch" text="">
<$button class="tc-btn-invisible">
<$action-setfield $tiddler=<<searchTid>> text=""/>
{{$:/core/images/close-button}}
</$button>
</$reveal>
</div>
\end

View File

@ -0,0 +1,56 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/showabbrs
type: text/vnd.tiddlywiki
\define showabbrs(filter:"[<currentTiddler>]", dtiddler:"Glossary", title:"Empty", emptyMessage:"")
<$wikify name="indexes" text=<<find-all-items>> >
<$macrocall $name="abbr-list" indexes=<<indexes>> dtiddler=<<__dtiddler__>> title=<<__title__>> emptyMessage=<<__emptyMessage__>> />
</$wikify>
\end
\define patterndb() \[\[|\]\]
\define pattern() ('.*?'|".*?"|\S+)
\define output-item(p)
<$list filter="""[<__p__>search-replace:g:regexp<patterndb>,["]]""" variable=pars>
<$list filter="""[<pars>trim[]!prefix[dict:]search-replace[term:],[]splitregexp<pattern>trim[]!is[blank]!prefix[dict:]first[]]""">
<$text text=<<currentTiddler>>/>
</$list>
<$list filter="""[<pars>trim[]prefix[dict:]search-replace[term:],[]splitregexp<pattern>trim[]!is[blank]!prefix[dict:]last[]]""">
<$text text=<<currentTiddler>>/>
</$list>
</$list>
\end
\define find-all-items()
<$list filter=<<__filter__>> >
<$macrocall $name="find" text={{!!text}} begin="<<abbr " end=">>" output="output-item"/>
</$list>
\end
\define abbr-list(dtiddler, indexes, title:"Empty", emptyMessage:"")
<$list filter="[<indexes>limit[1]]" variable=null emptyMessage=<<__emptyMessage__>> ><!-- check to see if there is any abbreviations -->
<$reveal tag="div" type="nomatch" default="Empty" text=<<__title__>> >
<h2><$text text=<<__title__>> /></h2>
</$reveal>
<table class="refnotes-table-borderless">
<$list filter="""[subfilter<__indexes__>]""" variable="item">
<tr>
<td class="refnotes-abbr-term"><$text text=<<item>> /></td>
<td>
<$set name="term" tiddler=<<__dtiddler__>> index=<<item>> emptyValue=<<term-not-found>> >
<<term>>
</$set>
</td>
</tr>
</$list>
</table>
</$list>
\end
\define term-not-found()
<span class="refnotes-abbr-term-not-found">Term not found</span>
\end

View File

@ -0,0 +1,30 @@
tags: $:/tags/Macro
title: $:/plugins/kookma/refnotes/macros/showfnotes
type: text/vnd.tiddlywiki
\define showfnotes(filter:"[<currentTiddler>]", title:"Empty" class:"fnote-list", emptyMessage:"")
<$vars leftDelimiter="<<fnote ">
<$list filter="[subfilter<__filter__>search:text:literal<leftDelimiter>limit[1]]" variable=null emptyMessage=<<__emptyMessage__>> ><!-- check to see if there is any footnote -->
<$reveal tag="div" type="nomatch" default="Empty" text=<<__title__>> >
<h2>$title$</h2>
</$reveal>
<ol class="$class$">
<$list filter=<<__filter__>> >
<$macrocall $name="find"
text={{!!text}}
begin="<<fnote "
end=">>"
output="output-fnote"
/>
</$list>
</ol>
</$list>
</$vars>
\end
\define output-fnote(p)
<$vars output=$p$>
<li><<output>></li>
</$vars>
\end

View File

@ -0,0 +1,11 @@
tags:
title: $:/plugins/kookma/refnotes/macros/stretch-text
type: text/vnd.tiddlywiki
\define tmpTidDetails() $:/temp/refnotes/library/$(currentTiddler)$
\define stretchText(text, title:"...")
<$button class="tc-btn-invisible">$title$
<$action-listops $tiddler=<<tmpTidDetails>> $field="text" $subfilter="+[toggle[show]]" />
</$button>&nbsp;<$reveal type="match" stateTitle=<<tmpTidDetails>> sateField=text text="show">$text$</$reveal>
\end

View File

@ -0,0 +1,12 @@
tags:
title: $:/plugins/kookma/refnotes/readme
type: text/vnd.tiddlywiki
; Refnotes
Refnotes is a Tiddlywiki plugin to create and manage footnotes, abbreviations, citations, and references. Refnotes can create bibliography, but for the best performance, and to use import bibtex entries, the use of the official ''bibtex importer'' plugin is required. APA7 style is used as default. Refnotes output is very close to APA7 standard.
;Code and demo
For learning Refnotes features, syntax, tutorial and examples see the plugin demo and code pages
* Demo: https://kookma.github.io/TW-Refnotes/
* Code: https://github.com/kookma/TW-Refnotes

View File

@ -0,0 +1,31 @@
/* Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS3 */
.refnotes-abbr abbr[title] {
color: inherit;
font-style: normal;
text-decoration: none;
border-bottom: 1px dotted #aaa;
cursor: help;
}
.refnotes-abbr-term-not-found{
/* color:red;*/
font-style: oblique;
}
.refnotes-abbr-term{
/* color:blue;*/
}
/* Ref:https://aarontgrogg.com/lab/
Show the title for small screen
*/
/* this works based on the max-width*/
@media only screen and (max-width: 960px) {
.refnotes-abbr abbr:hover:after { content: ' ('attr(title)')'; }
}
@media (hover: none) {
/* Push the title attribute into generated content after the abbr. */
.refnotes-abbr abbr[title]::after {
content: ' ('attr(title)')'; }
}

View File

@ -0,0 +1,3 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/abbr
type: text/css

View File

@ -0,0 +1,9 @@
.refnotes-details > summary{
padding-left:0;
padding-top:15px;
padding-bottom:15px;
width: 160px;
cursor: pointer;
font-weight:bold;
}

View File

@ -0,0 +1,3 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/bibtex-details
type: text/css

View File

@ -0,0 +1,12 @@
/* used for viewtemplate displaying the bibtex entry */
.refnotes-bibtex-field{
display:table-row
}
.refnotes-bibtex-field > span{
display:table-cell
}
.refnotes-bibtex-field > span:first-of-type{
font-weight:bold;
padding-right:10px;
white-space: nowrap;
}

View File

@ -0,0 +1,3 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/bibtex-entryview
type: text/css

View File

@ -0,0 +1,40 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/bibtex
type: text/vnd.tiddlywiki
.ref-nonumber{
/* color:blue;*/
font-size:90%;
list-style-type:none;
}
.ref-nonumber li{
padding-bottom:8px;
}
.ref-list{
/* color:blue;*/
font-size:90%;
}
.link-refcls{
font-weight:400;
/* color:#00008B;*/ /*darkblue*/
text-decoration:none;
color: <<colour tiddler-link-foreground>>;
}
.refcls{
/* color:#00008B;*/
color: <<colour tiddler-link-foreground>>;
/* text-transform: capitalize;*/
}
.ref-notfound{
/* color: #856404 !important;*/
/* background-color: #fff3cd !important;*/
}
.ref-author{
/* color:#00008B;*/ /*color for author in tooltip*/
}

View File

@ -0,0 +1,11 @@
.bibtex-dropzone{
min-height:30px;
max-width:100%;
margin:4px auto;
border:2px dotted green;
text-align:center;
}
.bibtex-dropzone:focus {
background: #fffedd;
}

View File

@ -0,0 +1,3 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/dropzone
type: text/css

View File

@ -0,0 +1,15 @@
/*automatic counter for fnote macro. The counter resets at the begining of each tiddler*/
.tc-tiddler-frame {
counter-reset: fnote-count;
}
.refnotes-footnote {
counter-increment: fnote-count;
}
.refnotes-footnote:after {
content: counter(fnote-count);
font-size:small;
/* color:#0000ee;*/
vertical-align: super;
line-height: 1.5;
margin-left: -0.1em;
}

View File

@ -0,0 +1,3 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/footnote-counter
type: text/css

View File

@ -0,0 +1,9 @@
/* in folding-editor*/
.refnotes-library button svg{
font-size:0.8em;
vertical-align: middle;
margin-right:0;
margin-left:0;
}

View File

@ -0,0 +1,3 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/library
type: text/css

View File

@ -0,0 +1,22 @@
/* Footnote class*/
.fnote-list{
/* color:blue;*/
font-size:90%;
}
.fnote-pretty{
display: block;
margin: 0.5em;
margin-right: auto;
width: 100% !important;
border-collapse: collapse;
padding: 15px 15px 15px 25px; /*left padding=25px*/
border-width: 0px;
border-style: solid;
border-left-width: 1px;
background-color: rgb(255,248,220);
color: rgb(91,49,7);
line-height: 1.2em;
font-size:0.9em;
}

View File

@ -0,0 +1,3 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/showfnotes
type: text/css

View File

@ -0,0 +1,7 @@
/*Borderless table*/
.refnotes-table-borderless,
.refnotes-table-borderless th,
.refnotes-table-borderless tr,
.refnotes-table-borderless td{
border:0;
}

View File

@ -0,0 +1,3 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/table-borderless
type: text/css

View File

@ -0,0 +1,61 @@
/* tooltip class used for ref, fnote and other macros */
.refnotes-tooltip {
position: relative;
display: inline-block;
cursor: pointer;
}
.refnotes-tooltip .refnotes-tooltiptext{
font-size: 0.90em; /* change if it is too small */
}
.refnotes-tooltip .refnotes-tooltiptext {
visibility: hidden;
background-color: #fff;
color: #222222;
text-align: left;
border-radius: 2px;
padding: 5px 10px;
max-width: 30vw;
max-height:20em;
overflow-y: auto;
cursor: auto;
width: max-content;
width: -moz-max-content;
width: -webkit-max-content;
width: -o-max-content;
/* Position the tooltip */
position: absolute;
z-index: 1;
bottom: 100%;
left: 50%;
margin-left: -40px;
box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19);
}
.refnotes-tooltip:hover .refnotes-tooltiptext {
visibility: visible;
/*opacity: 0.9;*/
}
/* for small screens */
@media screen and (max-width: 960px) {
.refnotes-tooltip .refnotes-tooltiptext {
/* Position the tooltip */
position:fixed;
top:0;
left: 0;
margin-left: 0px;
bottom: unset;
width:100%;
max-width: 100vw;
z-index: 9999;
}
.refnotes-tooltip:hover .refnotes-tooltiptext {
opacity: 1;
}
}

View File

@ -0,0 +1,3 @@
tags: $:/tags/Stylesheet
title: $:/plugins/kookma/refnotes/styles/tooltip
type: text/css

View File

@ -0,0 +1,19 @@
code-body: yes
list: article
tags: $:/tags/Refnotes/ReflistTemplate
title: $:/plugins/kookma/refnotes/templates/reflist/apa/article
type: text/vnd.tiddlywiki
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field=title emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><$link to=<<bibtexEntryTiddler>>><<show-authors-in-references>></$link> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />. <span style="font-style:italic"><$view field="bibtex-journal"/></span>. <$view field="bibtex-volume"/>. <$view field="bibtex-pages"/>. <a href={{{[<currentTiddler>get[bibtex-doi]!prefix[https://doi.org/]addprefix[https://doi.org/]else{!!bibtex-doi}]}}} target=_blank><$view field="bibtex-doi"/></a></li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b><$text text=<<reference>>/></b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>
<!-- APA 7
Author. (Year). Title [Translated Title] [Type of Article] [Reviewed Item]|. Journal|, Volume|(Issue)|, Pages|, Article Number|.| `https://doi.org/`DOI (Reprint Edition) (Original Publication) (Errata)
-->

View File

@ -0,0 +1,24 @@
code-body: yes
list: book incollection
tags: $:/tags/Refnotes/ReflistTemplate
title: $:/plugins/kookma/refnotes/templates/reflist/apa/book
type: text/vnd.tiddlywiki
\define disp-bibtex-edition()
<$list filter="[<currentTiddler>has[bibtex-edition]]" variable=null>(<$view field="bibtex-edition"/>).</$list>
\end
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field=title emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><$link to=<<bibtexEntryTiddler>>><<show-authors-in-references>></$link> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <span style="font-style:italic;"><$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} /></span>. <<disp-bibtex-edition>> <$view field="bibtex-publisher"/>.</li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b><$text text=<<reference>>/></b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>
<!--
Author. (Year). Title [Translated Title] (|Translator, Trans.;| Editor, Ed.^Eds.| Edition ed.,| Vol. Volume|)| [Type of Work]|. Publisher|. `https://doi.org/`DOI (Original Publication)
-->

View File

@ -0,0 +1,14 @@
code-body: yes
tags: $:/tags/Refnotes/ReflistTemplate
title: $:/plugins/kookma/refnotes/templates/reflist/apa/default
type: text/vnd.tiddlywiki
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field="title" emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><$link to=<<bibtexEntryTiddler>>><<show-authors-in-references>></$link> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />.</li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b><$text text=<<reference>>/></b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>

View File

@ -0,0 +1,19 @@
code-body: yes
list: inproceedings
tags: $:/tags/Refnotes/ReflistTemplate
title: $:/plugins/kookma/refnotes/templates/reflist/apa/inproceedings
type: text/vnd.tiddlywiki
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field=title emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><$link to=<<bibtexEntryTiddler>>><<show-authors-in-references>></$link> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />. In <span style="font-style:italic"><$view field="bibtex-booktitle"/></span>. pp. <$view field="bibtex-pages"/>. <a href={{{[<currentTiddler>get[bibtex-doi]]}}}><$view field="bibtex-doi"/></a></li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b><$text text=<<reference>>/></b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>
<!-- APA 7
Author, A. A. (Date). Title of paper. In A. Editor & B. Editor (Eds.), Title of proceedings (page numbers). Publisher. DOI OR URL if relevant.
-->

View File

@ -0,0 +1,20 @@
code-body: yes
list: patent
tags: $:/tags/Refnotes/ReflistTemplate
title: $:/plugins/kookma/refnotes/templates/reflist/apa/patent
type: text/vnd.tiddlywiki
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field=title emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><$link to=<<bibtexEntryTiddler>>><<show-authors-in-references>></$link> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <span style="font-style:italic;"><$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} /></span>. (<$view field="bibtex-nationality"/> Patent No. <$view field="bibtex-number"/>). <a href={{!!bibtext-url}} target=_blank><$view field="bibtex-url"/></a></li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b><$text text=<<reference>>/></b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>
<!-- APA 7 ?? check this, it has issues
Author. (Year). Patent Title (Country patent No. patent number). Institution. URL
-->

View File

@ -0,0 +1,31 @@
code-body: yes
list: thesis mastersthesis phdthesis
tags: $:/tags/Refnotes/ReflistTemplate
title: $:/plugins/kookma/refnotes/templates/reflist/apa/thesis
type: text/vnd.tiddlywiki
\define disp-thesis-type()
\whitespace trim
<$list filter="[<currentTiddler>get[bibtex-entry-type]]" variable=thesisType>
<$text text={{{
[<thesisType>match[mastersthesis]then[Master's thesis]]
[<thesisType>match[phdthesis]then[PhD thesis]]
:else[[Thesis]] }}} />
</$list>
\end
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field=title emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><$link to=<<bibtexEntryTiddler>>><<show-authors-in-references>></$link> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <span style="font-style:italic;"><$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} /></span>. <<disp-thesis-type>>, <$view field="bibtex-school"/>.</li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b><$text text=<<reference>>/></b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>
<!-- Thesis, master and phd
Author. (Year). //Title//. Phd Thesis, School.
Author. (Year). //Title//. Master's Thesis, School.
-->

View File

@ -0,0 +1,19 @@
code-body: yes
list: website
tags: $:/tags/Refnotes/ReflistTemplate
title: $:/plugins/kookma/refnotes/templates/reflist/apa/website
type: text/vnd.tiddlywiki
\define retrieved-date()
<$list filter="[<currentTiddler>has[bibtex-urldate]]" variable=null>Retrieved <$text text={{{ [{!!bibtex-urldate}search-replace:g[.],[]search-replace:g[-],[]] :map[format:date[MMM 0DD, YYYY]] }}}/></$list><$list filter="[<currentTiddler>!has[bibtex-urldate]has[bibtex-note]]" variable=null><$view field="bibtex-note"/></$list><$list filter="[<currentTiddler>!has[bibtex-urldate]!has[bibtex-note]]" variable=null>Retrieved n.d.</$list>
\end
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field="title" emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><$link to=<<bibtexEntryTiddler>>><$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} /></$link>. <<retrieved-date>>, <a href={{!!bibtex-url}} target="_blank"><$text text={{!!bibtex-url}} /></a>.</li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b><$text text=<<reference>>/></b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>

View File

@ -0,0 +1,15 @@
code-body: yes
list: article
tags:
title: $:/plugins/kookma/refnotes/templates/reflist/numbered/article
type: text/vnd.tiddlywiki
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field=title emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><$view field="bibtex-author"/>, <i><span style="text-transform: capitalize;"><$view field="bibtex-title"/></span></i>, <$view field="bibtex-journal"/>, <$view field="bibtex-year"/>.</li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b>$p$</b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>

View File

@ -0,0 +1,15 @@
code-body: yes
list: book
tags:
title: $:/plugins/kookma/refnotes/templates/reflist/numbered/book
type: text/vnd.tiddlywiki
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field=title emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><<show-authors-in-references>>, <span style="text-transform: capitalize;font-style:italic;"><$view field="bibtex-title"/></span>, <$view field="bibtex-edition"/>, <$view field="bibtex-year"/>, <$view field="bibtex-address"/>, <$view field="bibtex-publisher"/>.</li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b>$p$</b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>

View File

@ -0,0 +1,14 @@
code-body: yes
tags:
title: $:/plugins/kookma/refnotes/templates/reflist/numbered/default
type: text/vnd.tiddlywiki
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name=currentTiddler tiddler=<<bibtexEntryTiddler>> field="title" emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<currentTiddler>> >
<li><$view field="bibtex-author"/>, <span style="text-transform: capitalize;"><$view field="bibtex-title"/></span>,<i><$view field="bibtex-journal"/></i>, <$view field="bibtex-year"/>.</li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<currentTiddler>> >
<li>Reference <b>$p$</b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>

View File

@ -0,0 +1,15 @@
code-body: yes
list: website
tags:
title: $:/plugins/kookma/refnotes/templates/reflist/numbered/website
type: text/vnd.tiddlywiki
<$wikify name=bibtexEntryTiddler text=<<reference>> >
<$set name="curtid" tiddler=<<bibtexEntryTiddler>> field="title" emptyValue="RefNotFound">
<$reveal type="nomatch" default="RefNotFound" text=<<curtid>> >
<li><span style="text-transform: capitalize;"><$view field="bibtex-title" tiddler=<<curtid>>/></span>, <a href={{{[<curtid>get[bibtex-url]]}}} target="_blank"><$text text={{{ [<curtid>get[bibtex-url]] }}}/></a>, <$view field="bibtex-year" tiddler=<<curtid>>/>.</li>
</$reveal>
<$reveal type="match" default="RefNotFound" text=<<curtid>> >
<li>Reference <b>$p$</b> NOT FOUND. Check your input.</li>
</$reveal>
</$set></$wikify>

View File

@ -0,0 +1,60 @@
caption: Bibliography
tags: $:/tags/SideBar
title: $:/plugins/kookma/refnotes/ui/bibtexlibrary
type: text/vnd.tiddlywiki
\import [[$:/plugins/kookma/refnotes/macros/search-ui]]
\define dispEntry()
<$link/>
<$macrocall $name=stretchText text="""
<$view field="bibtex-author"/>. (<$view field="bibtex-year"/>). <$view field="bibtex-title"/>.""" />
\end
\define searchFilter() [has[bibtex-title]search:$(sField)$[$(sTerm)$]]
\define bibLibrary()
\import [[$:/plugins/kookma/refnotes/macros/stretch-text]]
<$vars sField={{{[<searchTid>get[field]] ~[[bibtex-author]]}}} sTerm={{{[<searchTid>get[text]]}}}>
<!-- show hide entry details -->
<div class="tc-search refnotes-library" style="margin:10px 0 0 20px;">
Show and Hide Details: &nbsp;
<$button class="tc-btn-invisible" tooltip="show item details">{{$:/core/images/down-arrow}}
<$list filter="[subfilter<searchFilter>]">
<$action-setfield $tiddler=<<tmpTidDetails>> text=show />
</$list>
</$button>
<$button class="tc-btn-invisible" tooltip="hide item details">{{$:/core/images/up-arrow}}
<$list filter="[subfilter<searchFilter>]">
<$action-deletetiddler $tiddler=<<tmpTidDetails>> />
</$list>
</$button>
</div>
<!-- show the library data -->
<ol>
<$list filter="[subfilter<searchFilter>]">
<li><<dispEntry>></li>
</$list>
</ol>
</$vars>
\end
<!-- interface -->
<div style="margin-bottom:8px;">
<<process-entries "Process New Entries">>
{{$:/plugins/kookma/refnotes/ui/dropzone}}
</div>
<!-- make this optional
[[Bibliography Table]]
-->
<<searchUi>>
<<bibLibrary>>

View File

@ -0,0 +1,13 @@
caption: Dropzone
tags:
title: $:/plugins/kookma/refnotes/ui/dropzone
type: text/vnd.tiddlywiki
<$dropzone
deserializer="application/x-bibtex"
filesOnly=no
importTitle="Import Bibtex">
<div class="bibtex-dropzone" tabindex=1>
Paste your Bibtex Entry here
</div>
</$dropzone>

View File

@ -0,0 +1,9 @@
list: article
tags: $:/tags/Refnotes/Template
title: $:/plugins/kookma/refnotes/viewtemplates/article
type: text/vnd.tiddlywiki
\define mainFields() bibtex-title bibtex-author bibtex-journal bibtex-year bibtex-pages bibtex-number bibtex-volume bibtex-doi bibtex-entry-type
<!-- display fields -->
<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/>

View File

@ -0,0 +1,8 @@
list: book
tags: $:/tags/Refnotes/Template
title: $:/plugins/kookma/refnotes/viewtemplates/book
type: text/vnd.tiddlywiki
\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-publisher bibtex-entry-type
<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/>

View File

@ -0,0 +1,8 @@
tags: $:/tags/Refnotes/Template
title: $:/plugins/kookma/refnotes/viewtemplates/default
type: text/vnd.tiddlywiki
\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-doi bibtex-entry-type
<!-- display fields -->
<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/>

View File

@ -0,0 +1,37 @@
tags: $:/tags/Refnotes/Template
title: $:/plugins/kookma/refnotes/viewtemplates/helper
type: text/vnd.tiddlywiki
\define citedIn(refname)
<$vars pattern="""<<ref[\s\['"]*?$refname$['"\s\]]*?.*>>""" >
<$list filter="[all[tiddlers]search:text:regexp<pattern>sort[title]]"
template="$:/core/ui/ListItemTemplate"
emptyMessage="""//No tiddler has cited this reference//""" />
</$vars>
\end
\define display-bibtex-field()
<div class="refnotes-bibtex-field">
<span><$text text={{{ [<currentField>removeprefix[bibtex-]titlecase[]] }}} /></span>
<span><$transclude tiddler=<<currentTiddler>> field=<<currentField>> mode=inline /></span>
</div>
\end
<$let tv-wikilinks="no">
<!-- display main bibtex fields -->
<$list filter="[enlist<mainFields>]" variable=currentField>
<<display-bibtex-field>>
</$list>
<!-- display other bibtex fields -->
<details class="refnotes-details">
<summary>More details</summary>
<$list filter="[<currentTiddler>fields[]prefix[bibtex]sort[]] -[enlist<mainFields>]" variable=currentField>
<<display-bibtex-field>>
</$list>
</details>
</$let>
<!-- show the list of tiddlers cited this reference -->
; Cited in
: <$macrocall $name=citedIn refname=<<currentTiddler>> />

View File

@ -0,0 +1,8 @@
list: incollection
tags: $:/tags/Refnotes/Template
title: $:/plugins/kookma/refnotes/viewtemplates/incollection
type: text/vnd.tiddlywiki
\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-booktitle bibtex-editor bibtex-publisher bibtex-doi bibtex-entry-type
<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/>

View File

@ -0,0 +1,8 @@
list: inproceedings
tags: $:/tags/Refnotes/Template
title: $:/plugins/kookma/refnotes/viewtemplates/inproceedings
type: text/vnd.tiddlywiki
\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-booktitle bibtex-editor bibtex-doi bibtex-entry-type
<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/>

View File

@ -0,0 +1,14 @@
tags: $:/tags/ViewTemplate
title: $:/plugins/kookma/refnotes/viewtemplates/main
type: text/vnd.tiddlywiki
<$list filter="[all[current]has[bibtex-title]]">
<$vars currentType={{{[<currentTiddler>get[bibtex-entry-type]lowercase[]] ~[[miscellaneous]]}}} >
<$set name="bodyLookup"
filter="[all[tiddlers+shadows]tag[$:/tags/Refnotes/Template]contains:list<currentType>] +[limit[1]get[title]]"
value=<<bodyLookup>>
emptyValue="$:/plugins/kookma/refnotes/viewtemplates/default">
<$transclude tiddler=<<bodyLookup>> field="text" mode="inline"/>
</$set>
</$vars>
</$list>

View File

@ -0,0 +1,8 @@
list: phdthesis mastersthesis thesis
tags: $:/tags/Refnotes/Template
title: $:/plugins/kookma/refnotes/viewtemplates/thesis
type: text/vnd.tiddlywiki
\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-school bibtex-entry-type
<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/>

View File

@ -0,0 +1,8 @@
list: unpublished
tags: $:/tags/Refnotes/Template
title: $:/plugins/kookma/refnotes/viewtemplates/unpublished
type: text/vnd.tiddlywiki
\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-note bibtex-entry-type
<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/>

View File

@ -0,0 +1,9 @@
list: website
tags: $:/tags/Refnotes/Template
title: $:/plugins/kookma/refnotes/viewtemplates/website
type: text/vnd.tiddlywiki
\define mainFields() bibtex-title bibtex-url bibtex-urldate bibtex-note bibtex-entry-type
<!-- display fields -->
<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/>

View File

@ -0,0 +1,12 @@
{
"title": "$:/plugins/kookma/refnotes",
"name": "Refnotes",
"description": "references, citations, footnotes and abbreviations in Tiddlywiki",
"author": "Mohammad Rahmani",
"version": "1.8.5",
"core-version": ">=5.2.0",
"source": "https://github.com/kookma/TW-Refnotes",
"list": "readme license history",
"dependents": "bibtex",
"plugin-type": "plugin"
}