├── README.md
├── docs
├── index.html
└── test.html
├── packaged
└── refnotes.tid
└── source
└── refnotes
├── history.tid
├── license.tid
├── macros
├── APA
│ ├── authors.tid
│ ├── bibliography-helper.tid
│ ├── bibliography.tid
│ ├── ref-helper.tid
│ ├── ref.tid
│ └── showrefs.tid
├── abbr.tid
├── bibtex
│ ├── find-refs.tid
│ ├── process-entries.tid
│ ├── regexprefs.js
│ ├── regexprefs.js.meta
│ └── utility.tid
├── find.tid
├── footnote.tid
├── numbered
│ └── refnum.tid
├── search-ui.tid
├── showabbrs.tid
├── showfnotes.tid
└── stretch-text.tid
├── plugin.info
├── readme.tid
├── styles
├── abbr.css
├── abbr.css.meta
├── bibtex-details.css
├── bibtex-details.css.meta
├── bibtex-entryview.css
├── bibtex-entryview.css.meta
├── bibtex.tid
├── dropzone.css
├── dropzone.css.meta
├── footnote-counter.css
├── footnote-counter.css.meta
├── library.css
├── library.css.meta
├── showfnotes.css
├── showfnotes.css.meta
├── table-borderless.css
├── table-borderless.css.meta
├── tooltip.css
└── tooltip.css.meta
├── templates
└── reflist
│ ├── apa
│ ├── article.tid
│ ├── book.tid
│ ├── default.tid
│ ├── inproceedings.tid
│ ├── patent.tid
│ ├── thesis.tid
│ └── website.tid
│ └── numbered
│ ├── article.tid
│ ├── book.tid
│ ├── default.tid
│ └── website.tid
├── ui
├── bibtexlibrary.tid
└── dropzone.tid
└── viewtemplates
├── article.tid
├── book.tid
├── default.tid
├── helper.tid
├── incollection.tid
├── inproceedings.tid
├── main.tid
├── thesis.tid
├── unpublished.tid
└── website.tid
/README.md:
--------------------------------------------------------------------------------
1 | ## Refnotes
2 | Refnotes is a reference manager tool that allows you to maintain a "personal library" of references, citations, footnotes and abbreviations in Tiddlywiki.
3 |
4 |
5 | It can creates tables of footnotes, abbreviations and also bibliography table. Refnotes best works with bibtex. It can import bibtex entries (.bib files),
6 | and bibtex records from clipboard (e.g copy bibtex data from Google Scholar, Zotero, EndNote, BibGuru, OATD, ...)
7 |
8 |
9 | ## Release
10 | From release 1.5, refnotes is a stable and mature tool to be used in real works. Release 1.7.0 is a powerful one
11 | can be used for creating academic texts like (thesis, reports, essays, ...)
12 |
13 | ## Usage note
14 | * Like any other tools, it is highly recommended to make back up of your data before install
15 | * Refnotes 1.7+ requires Tiddlywiki 5.2.0+
16 |
17 | ## Collaborations
18 | * Feedbacks are highly welcome, please use discussion, issue reporting and PR submission
19 | * For Q&A please use Forum at https://talk.tiddlywiki.org/
--------------------------------------------------------------------------------
/packaged/refnotes.tid:
--------------------------------------------------------------------------------
1 | author: Mohammad Rahmani
2 | core-version: >=5.2.5
3 | description: References, citations, footnotes and abbreviations in Tiddlywiki
4 | list: readme license history
5 | name: Refnotes
6 | plugin-type: plugin
7 | source: https://github.com/kookma/TW-Refnotes
8 | tags:
9 | title: $:/plugins/kookma/refnotes
10 | type: application/json
11 | version: 1.9.0
12 |
13 | {"tiddlers":{"$:/plugins/kookma/refnotes/history":{"title":"$:/plugins/kookma/refnotes/history","tags":"","type":"text/vnd.tiddlywiki","text":"Full change log https://kookma.github.io/TW-Refnotes/#ChangeLog\n\n* ''1.8.1'' -- 2022.06.03 -- many improvements to APA7 and BibTeX support in Refnotes\n* ''1.8.0'' -- 2022.05.27 -- many improvements, refrence manager has APA7 as default style\n* ''1.7.4'' -- 2022.05.18 -- stable release based on TW 5.2.2, minor bugs fixed\n* ''1.7.2'' -- 2021.09.19 -- stable release based on TW 5.2.0\n* ''1.6.0'' -- 2021.04.02 -- development (beta) of new release\n* ''1.0.3'' -- 2019.03.20 -- first stable release\n"},"$:/plugins/kookma/refnotes/license":{"title":"$:/plugins/kookma/refnotes/license","tags":"","type":"text/vnd.tiddlywiki","text":"Distributed under an MIT license.\n\nCopyright (c) 2019-2023 [[Mohammad Rahmani|https://github.com/kookma]]\n\n<<<\nPermission 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:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE 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.\n<<<"},"$:/plugins/kookma/refnotes/macros/abbr":{"title":"$:/plugins/kookma/refnotes/macros/abbr","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define abbr(term:\"\", dict:\"Glossary\")\n<$set name=\"abbreviation\" \n tiddler=<<__dict__>>\n index=<<__term__>>\n emptyValue=\"Term not found\">\n > ><$text text=<<__term__>> />\n$set>\n\\end\n"},"$:/plugins/kookma/refnotes/macros/apa/authors":{"title":"$:/plugins/kookma/refnotes/macros/apa/authors","code-body":"yes","tags":"","type":"text/vnd.tiddlywiki","text":"\\define show-authors-in-citation(conjunction:\"&\")\n\n<$let authorlist= {{{ [<__tid__>get[bibtex-author]] }}}\n number-authors= {{{ [split[ and ]!is[blank]count[]] }}}\n>\n\n<$list filter=\"[compare:number:eq[1]]\" variable=null>\n<$list filter=\"[split[ and ]first[]]\" variable=author>\n<>\n$list>\n$list>\n\n\n<$list filter=\"[compare:number:eq[2]]\" variable=null>\n<$list filter=\"[split[ and ]first[]]\" variable=author><> $conjunction$$list>\n<$list filter=\"[split[ and ]last[]]\" variable=author><>$list>\n$list>\n\n\n<$list filter=\"[compare:number:gt[2]]\" variable=null>\n<$list filter=\"[split[ and ]first[]]\" variable=author>\n<> et al.\n$list>\n$list>\n\n\n<$list filter=\"[compare:number:eq[0]]\" variable=null>\n<$text text={{{ [<__tid__>get[bibtex-title]split[ ]!is[blank]first[3]join[ ]] :else[<__tid__>]}}}/>\n$list>\n$let>\n\\end\n\n\n\\define parse-fullname()\n\n\n<$list filter=\"[!search[,]]\" emptyMessage=<> variable=null>\n<$let \n pattern1=\"\\s+([a-z][a-zA-Z]*?)\\s+\"\n pname={{{\n [search-replace:g:regexp,[ $1°]]\n +[splitregexp[\\s]trim[]]\n +[search-replace:g:regexp[°],[ ]]\n +[join[°_°]]\n }}}\n><$text text={{{ [split[°_°]!is[blank]last[]addsuffix[,]] [split[°_°]!is[blank]butlast[]] +[join[ ]] }}}/>\n$let>\n$list>\n\\end\n\n\n\n\\define authorName(format:\"\")\n\n\\whitespace trim\n<$wikify name=pname text=<> >\n<$let last= {{{ [split[,]!is[blank]trim[]first[]]}}}\n initials={{{ [split[,]!is[blank]trim[]butfirst[]split[ ]!is[blank]] :map[split[]!is[blank]first[]addsuffix[.]] +[join[ ]]}}}\n dispname={{{ [addsuffix[, ]addsuffix] }}}\n>\n<$list filter=\"[<__format__>!match[LastName]]\" variable=null emptyMessage=<>><>$list>\n$let>\n$wikify>\n\\end\n\n\\define show-authors-in-references()\n\n<$let authorslist= {{!!bibtex-author}}\n number-authors= {{{ [split[ and ]!is[blank]count[]] }}}\n >\t\t\n<$set name=authors filter=\"[split[ and ]trim[]]\" >\t\n\n<$list filter=\"[compare:integer:eq[1]]\" variable=null>\n<$vars author={{{ [enlistlast[]] }}}><>$vars>\n$list>\n\n<$list filter=\"[compare:integer:gt[1]]\" variable=null>\n<$list filter=\"[enlistbutlast[]]\" variable=author>\n<>,\n$list>\n<$vars author={{{ [enlistlast[]] }}}>& <>$vars>\n$list>\n\n<$list filter=\"[compare:number:eq[0]]\" variable=null>\n<$text text={{{ [{!!bibtex-title}split[ ]!is[blank]first[3]join[ ]] :else[[Unknown author]]}}}/>\n$list>\n$set>\n$let>\t\t\t\n\\end\n\n\n"},"$:/plugins/kookma/refnotes/macros/apa/bibliography":{"title":"$:/plugins/kookma/refnotes/macros/apa/bibliography","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define bibliography(citedfilter:\"[]\", furtherfilter:\"\", class:\"ref-list\")\n\\import $:/plugins/kookma/refnotes/macros/apa/bibliography-helper\n\n<$wikify name=\"works-cited\" text=<> >\n\n\n<$list filter=\"[enlist][subfilter<__furtherfilter__>]:and[sort[]]\" variable=\"reference\">\n<>\n$list>\n\n$wikify>\n\\end\n\n"},"$:/plugins/kookma/refnotes/macros/apa/bibliography-helper":{"title":"$:/plugins/kookma/refnotes/macros/apa/bibliography-helper","code-body":"yes","tags":"","type":"text/vnd.tiddlywiki","text":"\\define find-cited-works()\n\\import $:/plugins/kookma/refnotes/macros/bibtex/find-refs\n<$list filter=<<__citedfilter__>> >\n<$macrocall $name=\"find-refs\" thisTiddler=<> />\n$list>\n\\end\n\n\\define display-single-reference()\n\\import $:/plugins/kookma/refnotes/macros/apa/authors\n<$let currentType={{{[get[bibtex-entry-type]lowercase[]] ~[[miscellaneous]]}}} >\n<$set name=\"bodyLookup\" \n filter=\"[all[tiddlers+shadows]tag[$:/tags/Refnotes/ReflistTemplate]contains:list] +[limit[1]get[title]]\"\n value=<> \n emptyValue=\"$:/plugins/kookma/refnotes/templates/reflist/apa/default\">\n<$transclude tiddler=<> field=\"text\" mode=\"inline\"/>\n$set>\n$let>\n\\end"},"$:/plugins/kookma/refnotes/macros/apa/ref":{"title":"$:/plugins/kookma/refnotes/macros/apa/ref","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define ref(tid, type:\"p\", pages:\"\")\n\\import $:/plugins/kookma/refnotes/macros/apa/authors\n\\import $:/plugins/kookma/refnotes/macros/apa/ref-helper\n\\whitespace trim\n<$set name=\"ref-tid\" tiddler=<<__tid__>> field=\"title\" emptyValue=\"RefNotFound\">\n
\n$vars>\n\\end\n\n"},"$:/plugins/kookma/refnotes/macros/stretch-text":{"title":"$:/plugins/kookma/refnotes/macros/stretch-text","tags":"","type":"text/vnd.tiddlywiki","text":"\\define tmpTidDetails() $:/temp/refnotes/library/$(currentTiddler)$\n\n\\define stretchText(text, title:\"...\")\n<$button class=\"tc-btn-invisible\">$title$\n<$action-listops $tiddler=<> $field=\"text\" $subfilter=\"+[toggle[show]]\" />\n$button> <$reveal type=\"match\" stateTitle=<> sateField=text text=\"show\">$text$$reveal>\n\\end\n"},"$:/plugins/kookma/refnotes/readme":{"title":"$:/plugins/kookma/refnotes/readme","tags":"","type":"text/vnd.tiddlywiki","text":"; Refnotes\nRefnotes 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.\n\n;Code and demo\nFor learning Refnotes features, syntax, tutorial and examples see the plugin demo and code pages\n\n* Demo: https://kookma.github.io/TW-Refnotes/\n* Code: https://github.com/kookma/TW-Refnotes\n"},"$:/plugins/kookma/refnotes/styles/abbr":{"title":"$:/plugins/kookma/refnotes/styles/abbr","text":"/* Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS3 */ \n.refnotes-abbr abbr[title] {\n\tcolor: inherit;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tborder-bottom: 1px dotted #aaa;\n\tcursor: help;\n}\n\n.refnotes-abbr-term-not-found{\n/*\tcolor:red;*/\n\tfont-style: oblique;\n}\n\n.refnotes-abbr-term{\n/*\tcolor:blue;*/\n}\n\n/* Ref:https://aarontgrogg.com/lab/\nShow the title for small screen\n*/ \n/* this works based on the max-width*/\n@media only screen and (max-width: 960px) {\n.refnotes-abbr abbr:hover:after { content: ' ('attr(title)')'; }\n}\n\n@media (hover: none) {\n/* Push the title attribute into generated content after the abbr. */\n.refnotes-abbr abbr[title]::after { \n content: ' ('attr(title)')'; }\n}\n","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/refnotes/styles/bibtex":{"title":"$:/plugins/kookma/refnotes/styles/bibtex","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki","text":".ref-nonumber{\n/* color:blue;*/\n font-size:90%;\n list-style-type:none;\n}\n\n.ref-nonumber li{\n padding-bottom:8px;\n}\n\n.ref-list{\n/* color:blue;*/\n font-size:90%;\n}\n\n.link-refcls{\n font-weight:400;\n/* color:#00008B;*/ /*darkblue*/\n text-decoration:none;\n color: <>; \t\n}\n\n.refcls{\n/* color:#00008B;*/\n color: <>; \n/* text-transform: capitalize;*/\n}\n\n.ref-notfound{\n/* color: #856404 !important;*/\n/* background-color: #fff3cd !important;*/\n}\n\n.ref-author{\n/* color:#00008B;*/ /*color for author in tooltip*/\n}"},"$:/plugins/kookma/refnotes/styles/bibtex-details":{"title":"$:/plugins/kookma/refnotes/styles/bibtex-details","text":".refnotes-details > summary{\n\tpadding-left:0;\n\tpadding-top:15px;\n\tpadding-bottom:15px;\n\twidth: 160px;\n\tcursor: pointer;\n\tfont-weight:bold;\n}\n\n","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/refnotes/styles/bibtex-entryview":{"title":"$:/plugins/kookma/refnotes/styles/bibtex-entryview","text":"/* used for viewtemplate displaying the bibtex entry */\n.refnotes-bibtex-field{\n\tdisplay:table-row\n}\n.refnotes-bibtex-field > span{\n\tdisplay:table-cell\n}\n.refnotes-bibtex-field > span:first-of-type{\n\tfont-weight:bold;\n\tpadding-right:10px;\n\twhite-space: nowrap;\n}","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/refnotes/styles/dropzone":{"title":"$:/plugins/kookma/refnotes/styles/dropzone","text":".bibtex-dropzone{\n\tmin-height:30px;\n\tmax-width:100%;\n\tmargin:4px auto;\n\tborder:2px dotted green;\n\ttext-align:center;\n}\n\n.bibtex-dropzone:focus {\n\tbackground: #fffedd;\n}","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/refnotes/styles/footnote-counter":{"title":"$:/plugins/kookma/refnotes/styles/footnote-counter","text":"/*automatic counter for fnote macro. The counter resets at the begining of each tiddler*/\n.tc-tiddler-frame,\n.tc-single-tiddler-window { /* to cover tiddler when it is opened in a new window */ \n counter-reset: fnote-count;\n}\n.refnotes-footnote {\n counter-increment: fnote-count;\n}\n.refnotes-footnote:after {\n content: counter(fnote-count);\n font-size:small;\n vertical-align: super;\n line-height: 1.5;\n margin-left: -0.1em;\n /* color:#0000ee;*/\n}\n","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/refnotes/styles/library":{"title":"$:/plugins/kookma/refnotes/styles/library","text":"/* in folding-editor*/\n.refnotes-library button svg{\n\tfont-size:0.8em;\n\tvertical-align: middle;\n\tmargin-right:0;\n\tmargin-left:0;\n\n}\n\n","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/refnotes/styles/showfnotes":{"title":"$:/plugins/kookma/refnotes/styles/showfnotes","text":"/* Footnote class*/\n\n.fnote-list{\n/* color:blue;*/\n font-size:90%;\n}\n\n.fnote-pretty{\n display: block;\n margin: 0.5em;\n margin-right: auto;\n width: 100% !important;\n border-collapse: collapse;\n padding: 15px 15px 15px 25px; /*left padding=25px*/\n border-width: 0px;\n border-style: solid;\n border-left-width: 1px;\n background-color: rgb(255,248,220);\n color: rgb(91,49,7);\n line-height: 1.2em; \n font-size:0.9em;\n}\n","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/refnotes/styles/table-borderless":{"title":"$:/plugins/kookma/refnotes/styles/table-borderless","text":"/*Borderless table*/\n.refnotes-table-borderless, \n.refnotes-table-borderless th, \n.refnotes-table-borderless tr, \n.refnotes-table-borderless td{\n border:0;\n}","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/refnotes/styles/tooltip":{"title":"$:/plugins/kookma/refnotes/styles/tooltip","text":"/* tooltip class used for ref, fnote and other macros */\n.refnotes-tooltip {\n\tposition: relative;\n\tdisplay: inline-block;\n\tcursor: pointer; \n}\n\n.refnotes-tooltip .refnotes-tooltiptext{\n\tfont-size: 0.90em; /* change if it is too small */\n}\n\n.refnotes-tooltip .refnotes-tooltiptext {\n\tvisibility: hidden;\n\tbackground-color: #fff;\n\tcolor: #222222; \n\ttext-align: left;\n\tborder-radius: 2px;\n\tpadding: 5px 10px;\n\tmax-width: 30vw;\n\tmax-height:20em;\n\toverflow-y: auto;\n\tcursor: auto;\n\twidth: max-content;\n\twidth: -moz-max-content;\n\twidth: -webkit-max-content;\n\twidth: -o-max-content;\n\n\t/* Position the tooltip */\n\tposition: absolute;\n\tz-index: 1;\n\tbottom: 100%;\n\tleft: 50%;\n\tmargin-left: -40px;\n\tbox-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19);\n}\n\n.refnotes-tooltip:hover .refnotes-tooltiptext {\n\tvisibility: visible;\n\t/*opacity: 0.9;*/\n}\n\n/* for small screens */\n\n@media screen and (max-width: 960px) {\n.refnotes-tooltip .refnotes-tooltiptext {\n /* Position the tooltip */\n \tposition:fixed;\n top:0;\n left: 0;\n margin-left: 0px;\n bottom: unset;\n width:100%;\n max-width: 100vw;\n z-index: 9999;\n} \n\n.refnotes-tooltip:hover .refnotes-tooltiptext {\n opacity: 1;\n} \n \n}","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/refnotes/templates/reflist/apa/article":{"title":"$:/plugins/kookma/refnotes/templates/reflist/apa/article","code-body":"yes","list":"article","tags":"$:/tags/Refnotes/ReflistTemplate","type":"text/vnd.tiddlywiki","text":"<$wikify name=bibtexEntryTiddler text=<> >\n<$set name=currentTiddler tiddler=<> field=title emptyValue=\"RefNotFound\">\n<$reveal type=\"nomatch\" default=\"RefNotFound\" text=<> >\n