diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..94d3b1cc1 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +smarttemplates.quickfolders.org diff --git a/brands/100/7zip.png b/brands/100/7zip.png new file mode 100644 index 000000000..997cb278a Binary files /dev/null and b/brands/100/7zip.png differ diff --git a/brands/100/amo.png b/brands/100/amo.png new file mode 100644 index 000000000..0d42c8efa Binary files /dev/null and b/brands/100/amo.png differ diff --git a/brands/100/android.png b/brands/100/android.png new file mode 100644 index 000000000..c292f05da Binary files /dev/null and b/brands/100/android.png differ diff --git a/brands/100/babelzilla.png b/brands/100/babelzilla.png new file mode 100644 index 000000000..22f748151 Binary files /dev/null and b/brands/100/babelzilla.png differ diff --git a/brands/100/bluefish.png b/brands/100/bluefish.png new file mode 100644 index 000000000..45df7e1b9 Binary files /dev/null and b/brands/100/bluefish.png differ diff --git a/brands/100/camino.png b/brands/100/camino.png new file mode 100644 index 000000000..d728eeb0f Binary files /dev/null and b/brands/100/camino.png differ diff --git a/brands/100/creativecommons.png b/brands/100/creativecommons.png new file mode 100644 index 000000000..7a099e0db Binary files /dev/null and b/brands/100/creativecommons.png differ diff --git a/brands/100/duckduckgo.png b/brands/100/duckduckgo.png new file mode 100644 index 000000000..c2317bdce Binary files /dev/null and b/brands/100/duckduckgo.png differ diff --git a/brands/100/firefox.png b/brands/100/firefox.png new file mode 100644 index 000000000..c917c8739 Binary files /dev/null and b/brands/100/firefox.png differ diff --git a/brands/100/gimp.png b/brands/100/gimp.png new file mode 100644 index 000000000..3691f75c5 Binary files /dev/null and b/brands/100/gimp.png differ diff --git a/brands/100/gnu.png b/brands/100/gnu.png new file mode 100644 index 000000000..27d132196 Binary files /dev/null and b/brands/100/gnu.png differ diff --git a/brands/100/gpl3.0.png b/brands/100/gpl3.0.png new file mode 100644 index 000000000..567793852 Binary files /dev/null and b/brands/100/gpl3.0.png differ diff --git a/brands/100/html5.png b/brands/100/html5.png new file mode 100644 index 000000000..a7bd6682a Binary files /dev/null and b/brands/100/html5.png differ diff --git a/brands/100/jquery.png b/brands/100/jquery.png new file mode 100644 index 000000000..c8ac7ebe5 Binary files /dev/null and b/brands/100/jquery.png differ diff --git a/brands/100/kompozer.png b/brands/100/kompozer.png new file mode 100644 index 000000000..73f00326b Binary files /dev/null and b/brands/100/kompozer.png differ diff --git a/brands/100/lgpl3.0.png b/brands/100/lgpl3.0.png new file mode 100644 index 000000000..e32733082 Binary files /dev/null and b/brands/100/lgpl3.0.png differ diff --git a/brands/100/libreoffice.png b/brands/100/libreoffice.png new file mode 100644 index 000000000..cc46f2c74 Binary files /dev/null and b/brands/100/libreoffice.png differ diff --git a/brands/100/linux.png b/brands/100/linux.png new file mode 100644 index 000000000..d32af77ce Binary files /dev/null and b/brands/100/linux.png differ diff --git a/brands/100/mdn.png b/brands/100/mdn.png new file mode 100644 index 000000000..8b5920cea Binary files /dev/null and b/brands/100/mdn.png differ diff --git a/brands/100/modernizr.png b/brands/100/modernizr.png new file mode 100644 index 000000000..796b15bab Binary files /dev/null and b/brands/100/modernizr.png differ diff --git a/brands/100/mozbackup.png b/brands/100/mozbackup.png new file mode 100644 index 000000000..6f56406a2 Binary files /dev/null and b/brands/100/mozbackup.png differ diff --git a/brands/100/mozdev.png b/brands/100/mozdev.png new file mode 100644 index 000000000..e190bea2f Binary files /dev/null and b/brands/100/mozdev.png differ diff --git a/brands/100/mozilla.png b/brands/100/mozilla.png new file mode 100644 index 000000000..9c2ea5b62 Binary files /dev/null and b/brands/100/mozilla.png differ diff --git a/brands/100/notepad++.png b/brands/100/notepad++.png new file mode 100644 index 000000000..b46d29fed Binary files /dev/null and b/brands/100/notepad++.png differ diff --git a/brands/100/opensource.png b/brands/100/opensource.png new file mode 100644 index 000000000..17c1122f7 Binary files /dev/null and b/brands/100/opensource.png differ diff --git a/brands/100/postbox.png b/brands/100/postbox.png new file mode 100644 index 000000000..1bfe05842 Binary files /dev/null and b/brands/100/postbox.png differ diff --git a/brands/100/seamonkey.png b/brands/100/seamonkey.png new file mode 100644 index 000000000..7796a4908 Binary files /dev/null and b/brands/100/seamonkey.png differ diff --git a/brands/100/thunderbird.png b/brands/100/thunderbird.png new file mode 100644 index 000000000..c695928a4 Binary files /dev/null and b/brands/100/thunderbird.png differ diff --git a/brands/100/tortoise_cvs.png b/brands/100/tortoise_cvs.png new file mode 100644 index 000000000..c99600a6e Binary files /dev/null and b/brands/100/tortoise_cvs.png differ diff --git a/brands/100/tortoise_svn.png b/brands/100/tortoise_svn.png new file mode 100644 index 000000000..239a3be8f Binary files /dev/null and b/brands/100/tortoise_svn.png differ diff --git a/brands/100/w3c.png b/brands/100/w3c.png new file mode 100644 index 000000000..3e5e168ba Binary files /dev/null and b/brands/100/w3c.png differ diff --git a/brands/100/w3schools.png b/brands/100/w3schools.png new file mode 100644 index 000000000..d31410b66 Binary files /dev/null and b/brands/100/w3schools.png differ diff --git a/brands/16/postbox.png b/brands/16/postbox.png new file mode 100644 index 000000000..e5f70d553 Binary files /dev/null and b/brands/16/postbox.png differ diff --git a/brands/16/seamonkey.png b/brands/16/seamonkey.png new file mode 100644 index 000000000..57b14a05a Binary files /dev/null and b/brands/16/seamonkey.png differ diff --git a/brands/16/thunderbird.png b/brands/16/thunderbird.png new file mode 100644 index 000000000..2b100391c Binary files /dev/null and b/brands/16/thunderbird.png differ diff --git a/brands/200/7zip.png b/brands/200/7zip.png new file mode 100644 index 000000000..5e80dad45 Binary files /dev/null and b/brands/200/7zip.png differ diff --git a/brands/200/amo.png b/brands/200/amo.png new file mode 100644 index 000000000..b2b45d58b Binary files /dev/null and b/brands/200/amo.png differ diff --git a/brands/200/android.png b/brands/200/android.png new file mode 100644 index 000000000..001f421f5 Binary files /dev/null and b/brands/200/android.png differ diff --git a/brands/200/babelzilla.png b/brands/200/babelzilla.png new file mode 100644 index 000000000..eb5015929 Binary files /dev/null and b/brands/200/babelzilla.png differ diff --git a/brands/200/bluefish.png b/brands/200/bluefish.png new file mode 100644 index 000000000..207828cd9 Binary files /dev/null and b/brands/200/bluefish.png differ diff --git a/brands/200/camino.png b/brands/200/camino.png new file mode 100644 index 000000000..ac67b667f Binary files /dev/null and b/brands/200/camino.png differ diff --git a/brands/200/creativecommons.png b/brands/200/creativecommons.png new file mode 100644 index 000000000..3c84a7bfb Binary files /dev/null and b/brands/200/creativecommons.png differ diff --git a/brands/200/duckduckgo.png b/brands/200/duckduckgo.png new file mode 100644 index 000000000..fc92276bf Binary files /dev/null and b/brands/200/duckduckgo.png differ diff --git a/brands/200/firefox.png b/brands/200/firefox.png new file mode 100644 index 000000000..d429c4a7c Binary files /dev/null and b/brands/200/firefox.png differ diff --git a/brands/200/gimp.png b/brands/200/gimp.png new file mode 100644 index 000000000..3a8668851 Binary files /dev/null and b/brands/200/gimp.png differ diff --git a/brands/200/gnu.png b/brands/200/gnu.png new file mode 100644 index 000000000..6ba1d5bab Binary files /dev/null and b/brands/200/gnu.png differ diff --git a/brands/200/gpl3.0.png b/brands/200/gpl3.0.png new file mode 100644 index 000000000..27ab76477 Binary files /dev/null and b/brands/200/gpl3.0.png differ diff --git a/brands/200/html5.png b/brands/200/html5.png new file mode 100644 index 000000000..b3a6b1625 Binary files /dev/null and b/brands/200/html5.png differ diff --git a/brands/200/jquery.png b/brands/200/jquery.png new file mode 100644 index 000000000..678086654 Binary files /dev/null and b/brands/200/jquery.png differ diff --git a/brands/200/kompozer.png b/brands/200/kompozer.png new file mode 100644 index 000000000..af15f2e21 Binary files /dev/null and b/brands/200/kompozer.png differ diff --git a/brands/200/lgpl3.0.png b/brands/200/lgpl3.0.png new file mode 100644 index 000000000..ad70125e7 Binary files /dev/null and b/brands/200/lgpl3.0.png differ diff --git a/brands/200/libreoffice.png b/brands/200/libreoffice.png new file mode 100644 index 000000000..f631a75a2 Binary files /dev/null and b/brands/200/libreoffice.png differ diff --git a/brands/200/linux.png b/brands/200/linux.png new file mode 100644 index 000000000..1ba4c8a55 Binary files /dev/null and b/brands/200/linux.png differ diff --git a/brands/200/mdn.png b/brands/200/mdn.png new file mode 100644 index 000000000..de1b03789 Binary files /dev/null and b/brands/200/mdn.png differ diff --git a/brands/200/modernizr.png b/brands/200/modernizr.png new file mode 100644 index 000000000..cabd1bf7a Binary files /dev/null and b/brands/200/modernizr.png differ diff --git a/brands/200/mozbackup.png b/brands/200/mozbackup.png new file mode 100644 index 000000000..571cad10c Binary files /dev/null and b/brands/200/mozbackup.png differ diff --git a/brands/200/mozdev.png b/brands/200/mozdev.png new file mode 100644 index 000000000..c7b513487 Binary files /dev/null and b/brands/200/mozdev.png differ diff --git a/brands/200/mozilla.png b/brands/200/mozilla.png new file mode 100644 index 000000000..2b7791dee Binary files /dev/null and b/brands/200/mozilla.png differ diff --git a/brands/200/notepad++.png b/brands/200/notepad++.png new file mode 100644 index 000000000..6c7e57cee Binary files /dev/null and b/brands/200/notepad++.png differ diff --git a/brands/200/opensource.png b/brands/200/opensource.png new file mode 100644 index 000000000..66ae180ef Binary files /dev/null and b/brands/200/opensource.png differ diff --git a/brands/200/postbox.png b/brands/200/postbox.png new file mode 100644 index 000000000..0b86a912c Binary files /dev/null and b/brands/200/postbox.png differ diff --git a/brands/200/seamonkey.png b/brands/200/seamonkey.png new file mode 100644 index 000000000..d76f8529b Binary files /dev/null and b/brands/200/seamonkey.png differ diff --git a/brands/200/thunderbird.png b/brands/200/thunderbird.png new file mode 100644 index 000000000..f6b646377 Binary files /dev/null and b/brands/200/thunderbird.png differ diff --git a/brands/200/tortoise_cvs.png b/brands/200/tortoise_cvs.png new file mode 100644 index 000000000..1697ca9a8 Binary files /dev/null and b/brands/200/tortoise_cvs.png differ diff --git a/brands/200/tortoise_svn.png b/brands/200/tortoise_svn.png new file mode 100644 index 000000000..50ff4c940 Binary files /dev/null and b/brands/200/tortoise_svn.png differ diff --git a/brands/200/w3c.png b/brands/200/w3c.png new file mode 100644 index 000000000..92d188b35 Binary files /dev/null and b/brands/200/w3c.png differ diff --git a/brands/200/w3schools.png b/brands/200/w3schools.png new file mode 100644 index 000000000..f319b0779 Binary files /dev/null and b/brands/200/w3schools.png differ diff --git a/brands/50/7zip.png b/brands/50/7zip.png new file mode 100644 index 000000000..8e6ae8f1d Binary files /dev/null and b/brands/50/7zip.png differ diff --git a/brands/50/amo.png b/brands/50/amo.png new file mode 100644 index 000000000..c1d2c3ac5 Binary files /dev/null and b/brands/50/amo.png differ diff --git a/brands/50/android.png b/brands/50/android.png new file mode 100644 index 000000000..2c4dfeccd Binary files /dev/null and b/brands/50/android.png differ diff --git a/brands/50/babelzilla.png b/brands/50/babelzilla.png new file mode 100644 index 000000000..f0e885e0e Binary files /dev/null and b/brands/50/babelzilla.png differ diff --git a/brands/50/betterbird.png b/brands/50/betterbird.png new file mode 100644 index 000000000..97125011b Binary files /dev/null and b/brands/50/betterbird.png differ diff --git a/brands/50/betterbird.svg b/brands/50/betterbird.svg new file mode 100644 index 000000000..e5d279869 --- /dev/null +++ b/brands/50/betterbird.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + diff --git a/brands/50/bluefish.png b/brands/50/bluefish.png new file mode 100644 index 000000000..d36714c20 Binary files /dev/null and b/brands/50/bluefish.png differ diff --git a/brands/50/camino.png b/brands/50/camino.png new file mode 100644 index 000000000..6a1dbae29 Binary files /dev/null and b/brands/50/camino.png differ diff --git a/brands/50/creativecommons.png b/brands/50/creativecommons.png new file mode 100644 index 000000000..93403e7fb Binary files /dev/null and b/brands/50/creativecommons.png differ diff --git a/brands/50/duckduckgo.png b/brands/50/duckduckgo.png new file mode 100644 index 000000000..e08806d63 Binary files /dev/null and b/brands/50/duckduckgo.png differ diff --git a/brands/50/firefox.png b/brands/50/firefox.png new file mode 100644 index 000000000..da34914cc Binary files /dev/null and b/brands/50/firefox.png differ diff --git a/brands/50/gimp.png b/brands/50/gimp.png new file mode 100644 index 000000000..e83e8bfb5 Binary files /dev/null and b/brands/50/gimp.png differ diff --git a/brands/50/gnu.png b/brands/50/gnu.png new file mode 100644 index 000000000..7158e1554 Binary files /dev/null and b/brands/50/gnu.png differ diff --git a/brands/50/gpl3.0.png b/brands/50/gpl3.0.png new file mode 100644 index 000000000..d8b660be2 Binary files /dev/null and b/brands/50/gpl3.0.png differ diff --git a/brands/50/html5.png b/brands/50/html5.png new file mode 100644 index 000000000..860f968b0 Binary files /dev/null and b/brands/50/html5.png differ diff --git a/brands/50/jquery.png b/brands/50/jquery.png new file mode 100644 index 000000000..e25c69aa8 Binary files /dev/null and b/brands/50/jquery.png differ diff --git a/brands/50/kompozer.png b/brands/50/kompozer.png new file mode 100644 index 000000000..6207927e4 Binary files /dev/null and b/brands/50/kompozer.png differ diff --git a/brands/50/lgpl3.0.png b/brands/50/lgpl3.0.png new file mode 100644 index 000000000..de1cf3d46 Binary files /dev/null and b/brands/50/lgpl3.0.png differ diff --git a/brands/50/libreoffice.png b/brands/50/libreoffice.png new file mode 100644 index 000000000..c2b86a7a5 Binary files /dev/null and b/brands/50/libreoffice.png differ diff --git a/brands/50/linux.png b/brands/50/linux.png new file mode 100644 index 000000000..7ab16d998 Binary files /dev/null and b/brands/50/linux.png differ diff --git a/brands/50/mdn.png b/brands/50/mdn.png new file mode 100644 index 000000000..99641da3d Binary files /dev/null and b/brands/50/mdn.png differ diff --git a/brands/50/modernizr.png b/brands/50/modernizr.png new file mode 100644 index 000000000..36da88481 Binary files /dev/null and b/brands/50/modernizr.png differ diff --git a/brands/50/mozbackup.png b/brands/50/mozbackup.png new file mode 100644 index 000000000..e3ef7ab40 Binary files /dev/null and b/brands/50/mozbackup.png differ diff --git a/brands/50/mozdev.png b/brands/50/mozdev.png new file mode 100644 index 000000000..74ac1820d Binary files /dev/null and b/brands/50/mozdev.png differ diff --git a/brands/50/mozilla.png b/brands/50/mozilla.png new file mode 100644 index 000000000..5868b8eae Binary files /dev/null and b/brands/50/mozilla.png differ diff --git a/brands/50/notepad++.png b/brands/50/notepad++.png new file mode 100644 index 000000000..f904b3602 Binary files /dev/null and b/brands/50/notepad++.png differ diff --git a/brands/50/opensource.png b/brands/50/opensource.png new file mode 100644 index 000000000..332bce395 Binary files /dev/null and b/brands/50/opensource.png differ diff --git a/brands/50/postbox.png b/brands/50/postbox.png new file mode 100644 index 000000000..64ca22526 Binary files /dev/null and b/brands/50/postbox.png differ diff --git a/brands/50/seamonkey.png b/brands/50/seamonkey.png new file mode 100644 index 000000000..1710c4aea Binary files /dev/null and b/brands/50/seamonkey.png differ diff --git a/brands/50/thunderbird.png b/brands/50/thunderbird.png new file mode 100644 index 000000000..9fe7e1755 Binary files /dev/null and b/brands/50/thunderbird.png differ diff --git a/brands/50/thunderbird_102.png b/brands/50/thunderbird_102.png new file mode 100644 index 000000000..d8ff4fd42 Binary files /dev/null and b/brands/50/thunderbird_102.png differ diff --git a/brands/50/tortoise_cvs.png b/brands/50/tortoise_cvs.png new file mode 100644 index 000000000..41e35c7d0 Binary files /dev/null and b/brands/50/tortoise_cvs.png differ diff --git a/brands/50/tortoise_svn.png b/brands/50/tortoise_svn.png new file mode 100644 index 000000000..7efe02ba0 Binary files /dev/null and b/brands/50/tortoise_svn.png differ diff --git a/brands/50/w3c.png b/brands/50/w3c.png new file mode 100644 index 000000000..368ba6b5e Binary files /dev/null and b/brands/50/w3c.png differ diff --git a/brands/50/w3schools.png b/brands/50/w3schools.png new file mode 100644 index 000000000..a145b74a3 Binary files /dev/null and b/brands/50/w3schools.png differ diff --git a/bugs.html b/bugs.html new file mode 100644 index 000000000..951678909 --- /dev/null +++ b/bugs.html @@ -0,0 +1,517 @@ + + + + Smart Templates - Bugs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

SmartTemplates

+ + + + + + + + + + +
+ + + + + + + +
+
+
Bugzilla - why, and how?
+

Bugzilla is free and open to anyone who registers with it. + The big advantage here is that many users can share bug information, or view feature requests + or planned new features and track these, in true open source fashion. From time to time we will also + publish patched prerelease versions by attaching them to their relevant bugs. +

+

With more complex bugs, to help us helping you better, you should also + refer to the troubleshooting section. It describes how + to create an error log.

+

+ When submitting new bug reports, please search first whether the bug + is already submitted to avoid yours being marked as duplicate.
+ For feature requests, submit a bug and select "enhancement" in the severity dropdown: +

+

+ For creating an error log, please check out the troubleshooting section. +

+

+ feature request +

+
+
+ +

+ ATTENTION:
+ 1. When submitting new bugs, please search first whether the bug is already submitted to avoid yours being marked as duplicate.
+ 2. For easier processing, please make sure that the title describes the bug precisely.
+ Titles such as "bug report" or "compatibility problem" are not helpful. +

+ +

+ TIP: Some examples for good bug titles are: "quoted body missing when replying", "feature request: add reply to sender for newsgroups". +

+ +   +

New Issue Tracker at Github

+

+ To bring issues into the 21st century (and a secure website) - you can now use our + github tracker. +

+

Latest Issues on github

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Issue #Description
+ issue 42 + + %from(lastname)% uses first name of AB if sender address has only 1 name part. +
+ issue 41 + + No file template menus displayed in single message window +
+ issue 34 + + File Templates: update button should also update path +
+ issue 28 + + Add "Smart Snippets": smart fragments that can be inserted from Composer. +
+ issue 27 + + Feature request: Insert external HTML Templates from a web page URL +
+ issue 24 + + Select a different html template file while composer is open +
+ issue 10 + + Feature request : variable to ask for acknowledgment on receipt +
+ + issue 38 + + + Images with encoded file URLs are not loaded correctly +
+ + issue 36 + + + Smart-reply button: html template menus missing or not working +
+ + issue 35 + + + %identity% - add feature to load additional information from addressbook +
+ + issue 33 + + + mailto links - support using template if body argument is not empty +
+ + issue 31 + + + Add functions to remove text / tags from quoted parts +
+ + issue 30 + + + Reply button loses template menu items +
+ + issue 29 + + + Add configuration item to file template menus. +
+ + issue 25 + + + Feature request: set variables from addressbook fields +
+ + issue 20 + + + If a file starts with UTF detection character "missing file" is wrongly displayed +
+ + issue 21 + + + %spellcheck% sometimes doesn't remove red proofing lines after language set +
+ issue 17 + + Add %spellcheck()% variable for changing spellchecker to a different language +
+ issue 16 + + In some cases, images in signature trigger the "blocked file" warning +
+ issue 8 + + Support File Templates - to replace Stationery from Thunderbird 68 forward +
+ + issue 4 + + + SmartTemplate 2.1 problems with determining current language of Thunderbird +
+ + issue 3 + + + %dateformat% doesn't show leading zeros. +
+ issue 2 + + Headers duplicated with Virtual Identity +
+ issue 9 + + %header.set(from)% not working in Tb60.9 +
+ + +   +

Bugzilla Database at mozdev.org - deprecated!

+ +

This database has been shut down and readonly copies have + been downloaded and can be referenced from the version history page.

+ + + + + + + + + + +
+ + + + + +
+ + + + + diff --git a/contribute.html b/contribute.html new file mode 100644 index 000000000..8cd4e6936 --- /dev/null +++ b/contribute.html @@ -0,0 +1,613 @@ + + + + Smart Templates - Contribute + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

SmartTemplates

+ + + + + + + + + + +
+ + + + + + + + + +
+

Dear SmartTemplates Pro users,

+

+ To Renew your license you can go to the SmartTemplates license tab and click the green renew / extend button. + This will extend or renew your license so that you get at least a year extra usage (if your license + expires in the future the year is added to that date) - even if you license is expired + you will get a full year. It is important that you go through this process from the + SmartTemplates license screen as this is the only way to get the cheaper renewal price. +

+

+ As part of the renewal process, the old license will be automatically transmitted to the fastspring + shop site to determine eligibility. That why there is no external link outside of the SmartTemplates + Licensing screen to give you these special perks. +

+

+ Thank you for supporting the SmartTemplates project! +

+
+ +
 
+ + + + + + + +
+ +

SMARTTEMPLATES - Licensing

+ +

+ Going Forward, SmartTemplates will require a license for continued use - the reason for this + is that unlike compiled software that runs on an operating system, the constant changes on the host mail software + (Thunderbird) require substantial ongoing changes with a high effort; something which cannot be provided for free + ("as in beer") anymore. You may have noticed many Add-on authors abandoning their Add-ons on Firefox and + Thunderbird because it was not possible for them to support their Add-ons anymore - this is directly caused + by not trying to involve the users in funding the required work. +

+ +

+ I tried to finance the changes with some extra features through the + SmartTemplates Pro license, + but the adoption has been too low - it was not enough to warrant the many days spent on free support and writing features but now + on top fixing all the issues (and rewriting a lot of code) so that SmartTemplates continues to run on the + Thunderbird 68 platform. Therefore I decided to add an affordable "Standard" License which will be required for continued + use of this Add-on in the future. +

+ +

Alternatively, you can buy the standard license here. + This is now available at a third of the price of the Pro License. + It is valid for one full year after purchase, after which it can be extended for a lower price. +

+

+ Read this feature comparison chart to get an overview about the differences. +

+ +

+ A lot of the Add-on code needs to be rewritten to keep working on + future versions of Thunderbird, as the "classic Add-on" system + has been replaced with a different technology. Currently SmartTemplates it is in an interim stage + using the "experimental API" route to access important low level code. This will + be deprecated in the future! Only through funding this work can SmartTemplates + survive - it may be the price of a cup of coffee to you but consider whether you think it is not worth + supporting the many features that SmartTemplates gives you.
+ If you cannot support it at the moment I would encourage you to look for a free replacement Add-on, such as quickText. +

+ + +

To get a license for SmartTemplates click on the rightmost tab on the settings dialog: +

+

+ How to buy a license from settings dialog +

+

+ This will bring you to the license page within Thunderbird, where you can select + the license most appropriate for you: +

+

+ licensing dialog +

+

+ It's the easiest way to get a license as you get to select an email address for registration and delivery. + If you prefer, you can also go to the web shop directly:
+

+

+

+ You can use SmartTemplates on as many Thunderbird installations as you like as long + as it has your active, registered email address on it. Just select it from the account dropdown. + The registration email address is not given to any third parties or used + for marketing purposes, it is only used for order fulfillment and license verification. Validation is 100% offline and your key is not transmitted + anywhere. +

+
+ + + + +
+ + +
+
+
Thanks for updating!
+

+ "Life is going on in the West of Ireland. My wife had a large operation and I was + laid off working full time as a software developer. Instead I have decided to + build up a music production career and dedicate more time to addons development. + You can help best by + buying a Pro license + but donations are also welcome. +

+

+ Thanks again in advance." +

+

+ daughter / dog / developer +

+
+ +
+
The "free" Model
+

+ + the free model. + +

+

+ As users, we like to use the software the way we want, and we more or less expect it to be free of charge. The question is what + do the commercial software vendors make of this? Since the advent of facebook is a shift of users (and their data) from being the customers + becoming the merchandise, and the corporations becoming the customer. This is because even the best community sites cannot operate without + profit. The web is already overfraught with advertisement and data mining - The alternative is truly Free software that is + funded by donations. +

+

+ I don't want to fund SmartTemplates through pushing advertisements on the users. Also IMO the user's data is something that belongs to only them; it is not a + commodity for companies to trade and play with. +

+
+
+ + + +

+ SmartTemplates is completely funded by its users, mainly through the various licenses available + at fastspring.com - to find out our current prices click one of the links below: +

+ I also regularly do sales with reduced prices, usually when I release new versions of SmartTemplates. + Just read the news link when a new version is dropped to check the actual prices then. +

+ + +

Donations

+ + +

Not ready to buy a license yet? You can still help by donating some money using the paypal links below!

+ + + + + + + +
+ + + + + + + + + + + + + + + +
in €:
in US $:
+ +

+ Don't like paypal? +

+
+

+ I love SmartTemplates - it makes my emails look awesome! I want to buy you a coffee! + Any Questions? +

+

+ If you actually have donated already or only like freebies (yes, there is them...) please recommend SmartTemplates to your friends and colleagues! +

+
+ +

+ + + +

+ +
+
+ +

+ + Do you suggest any amount? +

+ +

+ US$ donations: we suggest 10$ as that seems to be be a what most people like to donate - but of course smaller and greater amounts are always welcome.
+ Euro donations: 5 Euros would be nice and 10 Euros or more considered generous! + + Your tip is important to make SmartTemplates even more excellent! If you can'ty afford it right now, consider it at the next update - in the meantime, recommend to friends and colleagues. +

+ +

+ You can also add some feature requests here: Bugs & Features. +

+ +

Other ways you can help

+ +

+ If you like to translate SmartTemplates in your own language, please visit Babelzilla +

+ +

+ You can also leave a positive review at the Mozilla Addons Page - spread the word so more people start using it! +

+ + +

But I don't like / never use Paypal!

+ +

+ Just send me an email, and I give you my address for a cheque or note. +

+ + + +

+ What does it mean then, free software ?? +

+ +

Free as in Free Speech, not Free Beer.

+ +

+ The reason I am putting a lot of work into SmartTemplates is because I am using it every day, in order to make my daily work + easier. I think it also important to share any tool that makes working easier and allow improvement of the tools. +

+ +

+ I think the most important aspect on free software is that it is a political statement to avoid the pitfalls of + proprietary, monopoly driven software that coined terms such as "Embrace, Extend and Extinguish" and the innovation crippling + model of patenting software (for further reading, please see links below). + At the moment there is a conflict raging between the old proprietary model of software and the Free Software Concept, + and its you, the users who will really decide where the future will take us. By downloading the Mozilla products and extensions by + independant software developers, like SmartTemplates, you are actively helping the cause. +
+ there is an excellent description of this concept here: +

+ + + +

+ Quote: "Free software" is a matter of liberty, not price. To understand the concept, you should think of "free" as in "free speech," not as in "free beer."
+ Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. +

+ +

+ It is also important to note that you can always modify SmartTemplates as it is open source and send me improvement suggestions. + Or you can use features in the existing software and use them in your own extension, provided you stick to the license + (you can not create commercial versions of the extension and you need to attribute / credit the original authors). + I have tried to make the code as readable as possible, so that you can check how SmartTemplates achieves its various goals. +

+ + + +
+ +

What's happening right now?

+ +

+ The American congress now tries to introduce censorship of the internet. Click here for more information. +

+ +

+ +

+ +

+ The web is changing very massively over the last years. This requires rethinking on how we use this community resource. + Community Sites are gaining a big amount of the power and the market share, the "login with facebook" idea + is now trying to lock our identities into their systems; building huge silos that lock in our data in order to keep users "within" their systems; + and while the web is still an open place and there are lots of "login with facebook" buttons, yet it has become increasingly difficult + to move our own data, determine when and where it is used and stored. This is because in this new model, the users become the + merchandise and the corporations become the customers. It is because in a "free" world this seems to be the only way to + generate some revenue, and believe me that community sites such as facebook are _not_ there to server the users. Like anything else + they are there to make money. The question is whether financing by loosing the ownership of one's own data and getting channeled into + advertisment slots, is really the way we want to go? +

+ +

We are not the product! We are the community!

+ +

+ Mozilla is currently working on a new conecept called BrowserId, which aims to allow users to bring their data with them, + makes sure the data is encrypted on the server so it cannot be abused or mined without the user's consent. It also should make + it easier for the user to move the data across to a different community provider or remove it altogether. This is clearly not + in the interest of the community sites themselves if they base their business model around being "the only one", but it is another + necessary step for the webn to grow up, and for us users to emancipate ourselves from the providers. +

+ + +

A word on donations

+ +

+ I think that the donation model as such works, although I wish more people of the daily users (currently about 3,100) would take the + time to donate some money. There is only a minute fraction who actually click the donation link. So, if you've found SmartTemplates to improve your work or business productivity, + please take a moment. I _really_ appreciate the support. Thanks again in advance. +

+ +

+ One thing that I think is a bad idea is to try to use advertisement or constant "nagging" at the users in order to earn some money. The only time you will hear from me + is when I release a new version, usually with new usability features and bug fixes. + I am actively refusing extensions that try to do things like add advertisements, change browser links (by adding referrers) or redirect users in order to achieve + this, there is a very fruitful discussion on the ATN Editors team who constantly review issues that the users bring to our attention + around this topic. +

+ +

+ However, I also acknowledge that it is an inconvenience and a bit of a leap of faith to make a donation, + so I would like to sincerely thank you for reading this and considering. +

+ +

+ Yours sincerely, +
+ Axel +

+ +
+ +

Further Reading

+ + + + + + + + +
+ + + + + +
+ + + + + diff --git a/css/b-i-f.css b/css/b-i-f.css new file mode 100644 index 000000000..ef5875629 --- /dev/null +++ b/css/b-i-f.css @@ -0,0 +1,120 @@ +body { + margin: 0; + padding: 0; + font-family: verdana, arial, helvetica, sans-serif; + font-size: 76%;/* font sizing in ems, baby. if you want to change anything, just change this.*/ + /*funny thing happens at 75% and lower. opera goes to a nice small size, but moz and ie pc change almost not at all. seems 76% is as small as you can go and stay the same across browsers. poop.*/ +} + +p#content, +div#content { + margin: 0em; + padding: 4em 6em 2em 6em;/* use padding instead of margin for multicolumn layouts because of a really odd ie5pc bug where it sometimes relates the width of an unrelated menu div to this div. i'll, uh, write about that somewhere. it was hard to figure out what was causing it, so i want this note here to remind me. */ + } + +/*the following classes are to demonstrate better line heights for narrow columns*/ +.narrow1{ + width: 50%; + line-height: 1.3em; + } +.narrow2{ + width: 50%; + line-height: 1.5em; + } + +/*typography*/ +a { + text-decoration: none; + font-weight: bold; + color: #000; + } +a:link { + } +a:visited { + } +a:hover { + text-decoration: underline; + } +a:active { + } +h1 { + font-size: 2.0em; + font-weight: normal; + margin-top: 0em; + margin-bottom: 0em;/*both set to zero and padding in header div is used intead to deal with compound ie pc problems that are beyound summary in a simple comment.*/ + } +h2 { + font-size: 1.7em; + margin: 1.2em 0em 1.2em 0em; + font-weight: normal; + } +h3 { + font-size: 1.4em; + margin: 1.2em 0em 1.2em 0em; + font-weight: normal; + } +h4 { + font-size: 1.2em; + margin: 1.2em 0em 1.2em 0em; + font-weight: bold; + } +h5 { + font-size: 1.0em; + margin: 1.2em 0em 1.2em 0em; + font-weight: bold; + } +h6 { + font-size: 0.8em; + margin: 1.2em 0em 1.2em 0em; + font-weight: bold; + } +img { + border: 0; + } +ol, ul, li {/* + list-style: none;*/ + font-size: 1.0em; + line-height: 1.5em; + margin-top: 0.2em; + margin-bottom: 0.1em; + } +p { + font-size: 1.0em; + line-height: 1.5em; + margin: 1.2em 0em 1.2em 0em; + } +li > p { + margin-top: 0.2em; + } +code, pre, samp, tt, xmp { + font-family: monospace; + font-size: 1.2em; + } +strong, b { + font-weight: bold; + } + +div.note { + background-color: #ffd; + border: 1px dashed red; + color: inherit; + font-weight: bold; + margin-top: 1em; + /* opacity: 0.8; */ + text-align: center; +} + +#linspire-box { + margin:4px 2px 8px 0px; +} + +#linspire-box img { + border: none; + display: block; + width: 148px; +} + + +/* 2017 mothballing */ + +#mozdev-donate, .mozdev-shop, .mozdev-start-new-project { display: none } diff --git a/css/bugs.css b/css/bugs.css new file mode 100644 index 000000000..fccec7eb7 --- /dev/null +++ b/css/bugs.css @@ -0,0 +1,53 @@ +/** Bugs Table **/ + +table.BZ-table { + border: 2px solid rgba(80,80,80,0.8); + background: rgb(158,232,250); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllZThmYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkNmY5ZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background: -moz-linear-gradient(top, rgba(158,232,250,1) 0%, rgba(214,249,255,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(158,232,250,1)), color-stop(100%,rgba(214,249,255,1))); + background: -webkit-linear-gradient(top, rgba(158,232,250,1) 0%,rgba(214,249,255,1) 100%); + background: -o-linear-gradient(top, rgba(158,232,250,1) 0%,rgba(214,249,255,1) 100%); + background: -ms-linear-gradient(top, rgba(158,232,250,1) 0%,rgba(214,249,255,1) 100%); + background: linear-gradient(top, rgba(158,232,250,1) 0%,rgba(214,249,255,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9ee8fa', endColorstr='#d6f9ff',GradientType=0 ); + -pie-background: linear-gradient(#9ee8fa, #d6f9ff); + -moz-box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* Firefox 1-4 */ + -webkit-box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* Safari / Chrome (Webkit) */ + box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* CSS3= IE9 / Firefox 4+ */ + -khtml-box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* KHTML */ + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} + +table.BZ-table td:first-child { + text-align: center; +} + +table.BZ-table tr:nth-child(even) { + background: rgba(100, 100, 100, 0.2); +} + +table.BZ-table td { + border: 1px solid rgba(80,80,80,0.3) !important; + font-size: 0.8em; + font-family: Calibri, Arial, Sans-Serif; + padding: 0.3em; +} + +.BZ-th-bug, +.BZ-th-desc { + background: rgb(149,234,237); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzk1ZWFlZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjI0JSIgc3RvcC1jb2xvcj0iIzQ3ZGRkZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzA5YjNiNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9Ijc5JSIgc3RvcC1jb2xvcj0iIzJjZDdkYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM1OGRmZTIiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background: -moz-linear-gradient(top, rgba(149,234,237,1) 0%, rgba(71,221,223,1) 24%, rgba(9,179,181,1) 50%, rgba(44,215,218,1) 79%, rgba(88,223,226,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(149,234,237,1)), color-stop(24%,rgba(71,221,223,1)), color-stop(50%,rgba(9,179,181,1)), color-stop(79%,rgba(44,215,218,1)), color-stop(100%,rgba(88,223,226,1))); + background: -webkit-linear-gradient(top, rgba(149,234,237,1) 0%,rgba(71,221,223,1) 24%,rgba(9,179,181,1) 50%,rgba(44,215,218,1) 79%,rgba(88,223,226,1) 100%); + background: -o-linear-gradient(top, rgba(149,234,237,1) 0%,rgba(71,221,223,1) 24%,rgba(9,179,181,1) 50%,rgba(44,215,218,1) 79%,rgba(88,223,226,1) 100%); + background: -ms-linear-gradient(top, rgba(149,234,237,1) 0%,rgba(71,221,223,1) 24%,rgba(9,179,181,1) 50%,rgba(44,215,218,1) 79%,rgba(88,223,226,1) 100%); + background: linear-gradient(top, rgba(149,234,237,1) 0%,rgba(71,221,223,1) 24%,rgba(9,179,181,1) 50%,rgba(44,215,218,1) 79%,rgba(88,223,226,1) 100%); + -pie-background: linear-gradient(#95eaed, #58dfe2); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#95eaed', endColorstr='#58dfe2',GradientType=0 ); + color: #303030 !important; + text-shadow: #C0C0C0 0px 0px 1px; + font-weight:normal; + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} \ No newline at end of file diff --git a/css/contribute.css b/css/contribute.css new file mode 100644 index 000000000..a39a118ee --- /dev/null +++ b/css/contribute.css @@ -0,0 +1,139 @@ +#paymentForm { + -moz-border-radius: 2em; /* Firefox 1-4 */ + -webkit-border-radius: 2em; /* Safari / Chrome (Webkit) */ + border-radius: 2em; /* CSS3 = IE9 / Firefox 4+ */ + -khtml-border-radius: 2em; /* KHTML */ + -moz-box-shadow: 3px 3px 8px -1px rgba(0,0,0,0.5); /* Firefox 1-4 */ + -webkit-box-shadow: 3px 3px 8px -1px rgba(0,0,0,0.5); /* Safari / Chrome (Webkit) */ + box-shadow: 3px 3px 8px -1px rgba(0,0,0,0.5); /* CSS3= IE9 / Firefox 4+ */ + -khtml-box-shadow: 3px 3px 8px -1px rgba(0,0,0,0.5); /* KHTML */ + padding: 1em; + background: rgb(230,240,163); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U2ZjBhMyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2QyZTYzOCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUxJSIgc3RvcC1jb2xvcj0iI2MzZDgyNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkYmYwNDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background: -moz-linear-gradient(top, rgba(230,240,163,1) 0%, rgba(210,230,56,1) 50%, rgba(195,216,37,1) 51%, rgba(219,240,67,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(230,240,163,1)), color-stop(50%,rgba(210,230,56,1)), color-stop(51%,rgba(195,216,37,1)), color-stop(100%,rgba(219,240,67,1))); + background: -webkit-linear-gradient(top, rgba(230,240,163,1) 0%,rgba(210,230,56,1) 50%,rgba(195,216,37,1) 51%,rgba(219,240,67,1) 100%); + background: -o-linear-gradient(top, rgba(230,240,163,1) 0%,rgba(210,230,56,1) 50%,rgba(195,216,37,1) 51%,rgba(219,240,67,1) 100%); + background: -ms-linear-gradient(top, rgba(230,240,163,1) 0%,rgba(210,230,56,1) 50%,rgba(195,216,37,1) 51%,rgba(219,240,67,1) 100%); + background: linear-gradient(top, rgba(230,240,163,1) 0%,rgba(210,230,56,1) 50%,rgba(195,216,37,1) 51%,rgba(219,240,67,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6f0a3', endColorstr='#dbf043',GradientType=0 ); + border: 1px solid #BBCCEE; + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} + +#paymentForm th { + font-family: Arial; + font-size: 0.8em; + text-align: right; +} + +#paymentForm td { + text-align: left; +} + +h2.page-header a { + font-weight: normal; + text-shadow: #777 2px 2px 3px; + margin: 0 2px 2px 0; +} + +h2.page-header a:hover { + margin:2px 0 0 2px; + text-shadow: #777 1px 1px 2px; + text-decoration: none; +} +h2.page-header a:active { + margin:2px 0 0 2px; + text-shadow: #777 0px 0px 2px; + text-decoration: none; +} + +.payLabel { + white-space:nowrap; + min-width:50px; +} +#euroButton { + -moz-box-shadow: 2px 2px 4px -1px rgba(0,0,0,0.5); /* Firefox 1-4 */ + -webkit-box-shadow: 2px 2px 4px -1px rgba(0,0,0,0.5); /* Safari / Chrome (Webkit) */ + box-shadow: 2px 2px 4px -1px rgba(0,0,0,0.5); /* CSS3= IE9 / Firefox 4+ */ + -khtml-box-shadow: 2px 2px 4px -1px rgba(0,0,0,0.5); /* KHTML */ + -moz-border-radius: 12px; /* Firefox 1-4 */ + -webkit-border-radius: 12px; /* Safari / Chrome (Webkit) */ + border-radius: 12px; /* CSS3 = IE9 / Firefox 4+ */ + -khtml-border-radius: 12px; /* KHTML */ + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ + margin-left: 5px; /* pushes the button 5px away from label */ +} +#paypalButton{} + + +.payLink, +.payLabel { + vertical-align: middle; +} + +#contribute { + border: 0; +} + +p#noPaypalCallout { + text-align:center; + margin-top: 0px; +} + +img { + border:0; +} +/* span class Greeting Phrase "Thank you for update [...]" */ +.thankYou { + font-family: 'Architects Daughter'; + font-size: 1.4em; + font-style: italic; +} +/* own tooltip on pay buttons */ +a.tooltip[href] { + outline:none !important; + background: none !important; + padding: 0 !important; + border-style: none !important; +} +a.tooltip strong { + line-height:30px; +} +a.tooltip:hover { + text-decoration:none; +} +a.tooltip span { + z-index:10; + display:none; + padding:14px 20px; + margin-top:60px; + margin-left:-160px; + width:240px; + line-height:16px; +} +a.tooltip:hover span{ + display:inline; + position:absolute; + border:2px solid #FFF; + color:#EEE; + background:#000 url(src/css-tooltip-gradient-bg.png) repeat-x 0 0; +} +.callout { + z-index:20; + position:absolute; + border:0; + top:-14px; + left:120px; +} +/*CSS3 extras*/ +a.tooltip span { + border-radius:2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-box-shadow: 0px 0px 8px 4px #666; + -webkit-box-shadow: 0px 0px 8px 4px #666; + box-shadow: 0px 0px 8px 4px #666; + opacity: 0.8; +} + \ No newline at end of file diff --git a/css/fonts.css b/css/fonts.css new file mode 100644 index 000000000..da7adb526 --- /dev/null +++ b/css/fonts.css @@ -0,0 +1,79 @@ +/**************************************************************************************/ +/*************** import font-faces for common use hosted in our project ***************/ +/* all fonts under SIL Open Font License, Version 1.1 see http://scripts.sil.org/OFL */ +/**************************************************************************************/ + +@font-face { + font-family: 'Architects Daughter'; + font-style: normal; + font-weight: 400; + src: local('Architects Daughter'), local('ArchitectsDaughter'), url('/fonts/architectsDaughter.woff') format('woff'); +} +/* Architects Daughter © 2010 by Kimberly Geswein */ + +@font-face { + font-family: 'Baumans'; + font-style: normal; + font-weight: 400; + src: local('Baumans'), local('Baumans-Regular'), url('/fonts/baumans.woff') format('woff'); +} +/* Baumans © 2011 by Cyreal */ + +@font-face { + font-family: 'Chewy'; + font-style: normal; + font-weight: 400; + src: local('Chewy'), url('/fonts/chewy.woff') format('woff'); +} +/* Chewy © 2011 by Brenda Gallo */ + +@font-face { + font-family: 'Handlee'; + font-style: normal; + font-weight: 400; + src: local('Handlee Regular'), local('Handlee-Regular'), url('/fonts/handlee.woff') format('woff'); +} +/* Handlee © 2011 by Admix Designs */ + +@font-face { + font-family: 'Indie Flower'; + font-style: normal; + font-weight: 400; + src: local('Indie Flower'), local('IndieFlower'), url('/fonts/indieFlower.woff') format('woff'); +} +/* Indie Flower © 2010 by Kimberly Geswein */ + +@font-face { + font-family: 'Loved by the King'; + font-style: normal; + font-weight: 400; + src: local('Loved by the King'), local('LovedbytheKing'), url('/fonts/lovedByTheKing.woff') format('woff'); +} +/* Loved by the King © 2006 by Kimberly Geswein */ + +@font-face { + font-family: 'Nothing You Could Do'; + font-style: normal; + font-weight: 400; + src: local('Nothing You Could Do'), local('NothingYouCouldDo'), url('/fonts/nothingYouCouldDo.woff') format('woff'); +} +/* Nothing You Could Do © 2010 by Brenda Gallo */ + +@font-face { + font-family: 'Nixie One'; + font-style: normal; + font-weight: 400; + src: local('Nixie One'), local('NixieOne-Regular'), url('/fonts/nixieOne.woff') format('woff'); +} +/* Nixie One © 2011 by Jovanny Lemonad */ + +@font-face { + font-family: 'Poiret One'; + font-style: normal; + font-weight: 400; + src: local('Poiret One'), local('PoiretOne-Regular'), url('/fonts/poiretOne.woff') format('woff'); +} +/* Poiret One © 2011 by Denis Masharov */ + +/**************************************************************************************/ +/**************************************************************************************/ \ No newline at end of file diff --git a/css/footer.css b/css/footer.css new file mode 100644 index 000000000..98ddf1f8f --- /dev/null +++ b/css/footer.css @@ -0,0 +1,111 @@ +#footer, +#footer p { + color: #002020; +} + +#mailToLink { + margin: 0.5em 0; +} + +.mail_link { + display: inline-block; /* IE7 fix, hasLayout */ + margin-left: 1em; +} + +.mail_link a { + display: inline-block; /* IE7 fix, hasLayout */ + background: rgb(255,212,125); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZDQ3ZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjExJSIgc3RvcC1jb2xvcj0iI2VhZTljYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iI2Q2ODEyYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjU4JSIgc3RvcC1jb2xvcj0iI2Q2ODEyYyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmJiMjciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background: -moz-linear-gradient(top, rgba(255,212,125,1) 0%, rgba(234,233,204,1) 11%, rgba(214,129,44,1) 25%, rgba(214,129,44,1) 58%, rgba(255,187,39,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,212,125,1)), color-stop(11%,rgba(234,233,204,1)), color-stop(25%,rgba(214,129,44,1)), color-stop(58%,rgba(214,129,44,1)), color-stop(100%,rgba(255,187,39,1))); + background: -webkit-linear-gradient(top, rgba(255,212,125,1) 0%,rgba(234,233,204,1) 11%,rgba(214,129,44,1) 25%,rgba(214,129,44,1) 58%,rgba(255,187,39,1) 100%); + background: -o-linear-gradient(top, rgba(255,212,125,1) 0%,rgba(234,233,204,1) 11%,rgba(214,129,44,1) 25%,rgba(214,129,44,1) 58%,rgba(255,187,39,1) 100%); + background: -ms-linear-gradient(top, rgba(255,212,125,1) 0%,rgba(234,233,204,1) 11%,rgba(214,129,44,1) 25%,rgba(214,129,44,1) 58%,rgba(255,187,39,1) 100%); + background: linear-gradient(top, rgba(255,212,125,1) 0%,rgba(234,233,204,1) 11%,rgba(214,129,44,1) 25%,rgba(214,129,44,1) 58%,rgba(255,187,39,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffd47d', endColorstr='#d6812c', GradientType=0 ); + -moz-border-radius: 4px; /* Firefox 1-4 */ + -webkit-border-radius: 4px; /* Safari / Chrome (Webkit) */ + border-radius: 4px; /* CSS3 = IE9 / Firefox 4+ */ + -khtml-border-radius: 4px; /* KHTML */ + -moz-box-shadow: 2px 2px 3px -1px rgba(0, 0, 0, 0.7); /* Firefox 1-4 */ + -webkit-box-shadow: 2px 2px 3px -1px rgba(0, 0, 0, 0.7); /* Safari / Chrome (Webkit) */ + box-shadow: 2px 2px 3px -1px rgba(0, 0, 0, 0.7); /* CSS3= IE9 / Firefox 4+ */ + -khtml-box-shadow: 2px 2px 3px -1px rgba(0, 0, 0, 0.7); /* KHTML */ + border: solid 1px #EEE; + color: #ffffff; + cursor: pointer; + padding: 4px 6px; + text-shadow: rgba(0, 0, 0, 0.85) 0px 0px 2px; + width:auto; + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} +.mail_link a:hover { + background: rgb(255,212,125); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZDQ3ZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjExJSIgc3RvcC1jb2xvcj0iI2ZmZmRiNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iI2ZmODEwMyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjU4JSIgc3RvcC1jb2xvcj0iI2ZmODEwMyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmJiMjciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background: -moz-linear-gradient(top, rgba(255,212,125,1) 0%, rgba(255,253,183,1) 11%, rgba(255,129,3,1) 25%, rgba(255,129,3,1) 58%, rgba(255,187,39,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,212,125,1)), color-stop(11%,rgba(255,253,183,1)), color-stop(25%,rgba(255,129,3,1)), color-stop(58%,rgba(255,129,3,1)), color-stop(100%,rgba(255,187,39,1))); + background: -webkit-linear-gradient(top, rgba(255,212,125,1) 0%,rgba(255,253,183,1) 11%,rgba(255,129,3,1) 25%,rgba(255,129,3,1) 58%,rgba(255,187,39,1) 100%); + background: -o-linear-gradient(top, rgba(255,212,125,1) 0%,rgba(255,253,183,1) 11%,rgba(255,129,3,1) 25%,rgba(255,129,3,1) 58%,rgba(255,187,39,1) 100%); + background: -ms-linear-gradient(top, rgba(255,212,125,1) 0%,rgba(255,253,183,1) 11%,rgba(255,129,3,1) 25%,rgba(255,129,3,1) 58%,rgba(255,187,39,1) 100%); + background: linear-gradient(top, rgba(255,212,125,1) 0%,rgba(255,253,183,1) 11%,rgba(255,129,3,1) 25%,rgba(255,129,3,1) 58%,rgba(255,187,39,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffaf1f', endColorstr='#ff8103',GradientType=0 ); + -moz-box-shadow: 2px 2px 3px -1px rgba(70, 0, 0, 0.7); /* Firefox 1-4 */ + -webkit-box-shadow: 2px 2px 3px -1px rgba(70, 0, 0, 0.7); /* Safari / Chrome (Webkit) */ + box-shadow: 2px 2px 3px -1px rgba(70, 0, 0, 0.7); /* CSS3= IE9 / Firefox 4+ */ + -khtml-box-shadow: 2px 2px 3px -1px rgba(70, 0, 0, 0.7); /* KHTML */ + text-shadow: rgba(0, 0, 0, 0.85) 0px 0px 2px, rgba(80, 0, 0, 0.7) 1px 1px 2px; + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} + +.mail_link a:active { + background: rgb(255,179,125); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmYjM3ZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjE1JSIgc3RvcC1jb2xvcj0iI2U1NjY0OSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iI2ZmNDIwMyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjU4JSIgc3RvcC1jb2xvcj0iI2ZmNDIwMyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZjg1MjciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background: -moz-linear-gradient(top, rgba(255,179,125,1) 0%, rgba(229,102,73,1) 15%, rgba(255,66,3,1) 25%, rgba(255,66,3,1) 58%, rgba(255,133,39,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,179,125,1)), color-stop(15%,rgba(229,102,73,1)), color-stop(25%,rgba(255,66,3,1)), color-stop(58%,rgba(255,66,3,1)), color-stop(100%,rgba(255,133,39,1))); + background: -webkit-linear-gradient(top, rgba(255,179,125,1) 0%,rgba(229,102,73,1) 15%,rgba(255,66,3,1) 25%,rgba(255,66,3,1) 58%,rgba(255,133,39,1) 100%); + background: -o-linear-gradient(top, rgba(255,179,125,1) 0%,rgba(229,102,73,1) 15%,rgba(255,66,3,1) 25%,rgba(255,66,3,1) 58%,rgba(255,133,39,1) 100%); + background: -ms-linear-gradient(top, rgba(255,179,125,1) 0%,rgba(229,102,73,1) 15%,rgba(255,66,3,1) 25%,rgba(255,66,3,1) 58%,rgba(255,133,39,1) 100%); + background: linear-gradient(top, rgba(255,179,125,1) 0%,rgba(229,102,73,1) 15%,rgba(255,66,3,1) 25%,rgba(255,66,3,1) 58%,rgba(255,133,39,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffb37d', endColorstr='#ff8527',GradientType=0 ); + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} + +.mail_link a:before { + content: url('/img/mail-open.png'); /*('/img/mail-open-document.png');*/ /* IE8 or higher */ + margin: 0em 0.3em 0.1em 0em; + vertical-align: middle; +} + +.attribution { + background: -moz-linear-gradient(top, rgba(246,248,249,1) 0%, rgba(229,235,238,0.85) 50%, rgba(215,222,227,0.85) 51%, rgba(245,247,249,0.7) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(246,248,249,1)), color-stop(50%,rgba(229,235,238,0.85)), color-stop(51%,rgba(215,222,227,0.85)), color-stop(100%,rgba(245,247,249,0.7))); + background: -webkit-linear-gradient(top, rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + background: -o-linear-gradient(top, rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + background: -ms-linear-gradient(top, rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + background: linear-gradient(top, rgba(246,248,249,1) 0%, rgba(229,235,238,0.85) 50%, rgba(215,222,227,0.85) 51%, rgba(245,247,249,0.7) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f8f9', endColorstr='#f6f8f9',GradientType=0 ); + border: dotted #bbb 1px; + -moz-border-radius: 1em; /* Firefox 1-4 */ + -webkit-border-radius: 1em; /* Safari / Chrome (Webkit) */ + border-radius: 1em; /* CSS3 = IE9 / Firefox 4+ */ + -khtml-border-radius: 1em; /* KHTML */ + -moz-box-shadow: 6px 6px 5px 2px rgba(0, 0, 0, 0.3); /* Firefox 1-4 */ + -webkit-box-shadow: 6px 6px 5px 2px rgba(0, 0, 0, 0.3); /* Safari / Chrome (Webkit) */ + box-shadow: 6px 6px 5px 2px rgba(0, 0, 0, 0.3); /* CSS3= IE9 / Firefox 4+ */ + -khtml-box-shadow: 6px 6px 5px 2px rgba(0, 0, 0, 0.3); /* KHTML */ + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ + color: #666; + font-size: 0.8em; + padding: 1em; +} + +.copyright { + font-style: italic; + font-size: 0.7em; + color: rgb(90, 90, 90); + text-align: center; +} +/* push the body background down */ +#downPusher { + height: 60px; /* old 40px NEW 60px for navbar */ +} \ No newline at end of file diff --git a/css/hide_from_ns4.css b/css/hide_from_ns4.css new file mode 100644 index 000000000..eb9a01a54 --- /dev/null +++ b/css/hide_from_ns4.css @@ -0,0 +1,15 @@ +#project-navigation a { + border-left: 1px solid black; + padding-left: 6px; + padding-right: 5px; +} + +#project-navigation a.first-item { + border-left: none; +} + +#project-navigation th { + margin-right: 3px; +} + + diff --git a/css/ie7.css b/css/ie7.css new file mode 100644 index 000000000..3b78e1d2d --- /dev/null +++ b/css/ie7.css @@ -0,0 +1,19 @@ +#main-content-no-nav { + background-color: #cbe0f4; /* bright blue */ + margin-left:4% !important; + margin-right:4% !important; +} +.project-name, td.mozdev-fries, td.mozdev-date { + color: #003366 !important; +} + +div.old, +div.new { + zoom: 1; /* trigger haslayout */ + display: inline; /* inline=block seems to be borked here */ +} + +div.new { color: rgb(00,150,0) !important; } + +#infoTabs { margin-right: -5% !important; } + diff --git a/css/index.css b/css/index.css new file mode 100644 index 000000000..fc0d1a3a5 --- /dev/null +++ b/css/index.css @@ -0,0 +1,50 @@ +/*
which contains locale flags */ +.locale { + width: auto; + max-width:70%; + text-align: left; + margin-top:-15px; /* added 05.10.12 */ + margin-bottom:-5px; /* added 05.10.12 */ + margin-left:-17px; /* added 05.10.12 */ +} +.locale img { + margin-left: 0.7em; +} + +/* img formatting for flags */ +img.flag { + display: inline-block; + -moz-box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* Firefox 1-4 */ + -webkit-box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* Safari / Chrome (Webkit) */ + box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* CSS3= IE9 / Firefox 4+ */ + -khtml-box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* KHTML */ + width: 25px; /* img size stretched */ + border: 0; + border-style: none; +} + + +#SiteNav { + text-align: left; +} +.sitenavigation { + display: inline-block; + clear:right; + border: 1px solid rgba(0,0,0,0.05); + vertical-align:top; + padding: 0.2em 1.5em; +} +#main-content-no-nav .sitenavigation ul { + min-width: 10em; + margin-left: 0; +} +#main-content-no-nav .sitenavigation ul li { + list-style-type: none; + margin: 0.1em 0; + padding: 0px; +} + +/* for some unknown reason the links are broken into 2 lines */ +#main-content-no-nav .sitenavigation ul li a { + white-space: nowrap; +} \ No newline at end of file diff --git a/css/infoBox.css b/css/infoBox.css new file mode 100644 index 000000000..c78ae4ec1 --- /dev/null +++ b/css/infoBox.css @@ -0,0 +1,106 @@ +#infoTabs { + float: right; + margin-top: 60px; + margin-bottom: 20px; + min-width: 250px; + max-width: 40%; + width: auto; + margin-right:-100px; + position: relative; /* IE8 crop fix */ + vertical-align:top; +} + +#infoTabs div { + margin-top: 1.5em; + margin-bottom: 4em; +} + +.infoTab { + background: #eee; + border-right: 1px solid #26558B; + border-left: 1px solid #26558B; + border-bottom: 1px solid #26558B; + max-width: 22em; + margin: 0px 10px 10px 25px; + padding: 0px 10px 5px 10px; + -webkit-border-radius: 6px 6px 0px 0px; /* Safari / Chrome (Webkit) */ + border-radius: 6px 6px 0px 0px; /* CSS3 = IE9 / Firefox 4+ */ + -khtml-border-radius: 6px 6px 0px 0px; /* KHTML */ + -moz-box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* Firefox 1-4 */ + -webkit-box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* Safari / Chrome (Webkit) */ + box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* CSS3 = IE9 / Firefox 4+ */ + -khtml-box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.7); /* KHTML */ + -moz-border-radius: 6px 6px 0px 0px; /* Firefox 1-4 */ + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} + +.infoTab .infoHeader { + background: rgb(60,192,222); + background: -moz-linear-gradient(top, rgba(60,192,222,1) 0%, rgba(31,157,183,1) 24%, rgba(6,111,132,1) 50%, rgba(28,139,162,1) 79%, rgba(34,169,196,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(60,192,222,1)), color-stop(24%,rgba(31,157,183,1)), color-stop(50%,rgba(6,111,132,1)), color-stop(79%,rgba(28,139,162,1)), color-stop(100%,rgba(34,169,196,1))); + background: -webkit-linear-gradient(top, rgba(60,192,222,1) 0%,rgba(31,157,183,1) 24%,rgba(6,111,132,1) 50%,rgba(28,139,162,1) 79%,rgba(34,169,196,1) 100%); + background: -o-linear-gradient(top, rgba(60,192,222,1) 0%,rgba(31,157,183,1) 24%,rgba(6,111,132,1) 50%,rgba(28,139,162,1) 79%,rgba(34,169,196,1) 100%); + background: -ms-linear-gradient(top, rgba(60,192,222,1) 0%,rgba(31,157,183,1) 24%,rgba(6,111,132,1) 50%,rgba(28,139,162,1) 79%,rgba(34,169,196,1) 100%); + background: linear-gradient(top, rgba(60,192,222,1) 0%,rgba(31,157,183,1) 24%,rgba(6,111,132,1) 50%,rgba(28,139,162,1) 79%,rgba(34,169,196,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3cc0de', endColorstr='#22a9c4', GradientType=0); + color: #fff; + text-align: center; + -webkit-border-radius: 6px 6px 0px 0px; /* Safari / Chrome (Webkit) */ + border-radius: 6px 6px 0px 0px; /* CSS3 = IE9 / Firefox 4+ */ + -khtml-border-radius: 6px 6px 0px 0px; /* KHTML */ + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ + margin: 0 -10px 0 -10px; + border-top: 1px solid #26558B; + padding: 5px 0px 5px 0px; +} + +.infoTab a[href] { + padding-top: 2px; + padding-bottom: 2px; + padding-left: 0.3em; + padding-right: 0.3em; + margin-left: -0.2em; + margin-right: -0.2em; +} + +.infoTab a[href]:hover { + color: rgba(100, 224, 244, 0.9); + background-color: rgba(50,50,50,0.5); + border-radius: 4px; +} + +/* js no-rgba no-hsla no-borderradius no-boxshadow no-textshadow no-cssgradients fontface */ +.no-borderradius .infoTab { + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ + border-radius: 6px 6px 0px 0px; +} + + +.no-boxshadow .infoTab { + border-bottom: solid 5px #B0B0B0; + border-right: solid 5px #B0B0B0; +} + +.no-cssgradients .infoTab .infoHeader { + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ + -pie-background: linear-gradient(#3cc0de, #22a9c4); +} + +.infoTab ul { + padding-left: 30px; /* bis 16.06.15: 0 doch dann ist checkmark icon auerhalb infobox*/ +} + +.infoTab ul li { + list-style-image: url('/img/checkMark.png') !important; + list-style-type: square; /* fallback */ + color: inherit; + padding-left: 0; + padding-bottom: 5px; + padding-top: 0px; + margin-top: 5px; + text-align: left !important; + vertical-align: top; + font-style: italic; + /*font-size: 14pt; alt 0.8em but font-size is given from body tag in project.css an this we should use insteat! */ + color: #777; +} \ No newline at end of file diff --git a/css/jqueryPlugins.css b/css/jqueryPlugins.css new file mode 100644 index 000000000..63a607600 --- /dev/null +++ b/css/jqueryPlugins.css @@ -0,0 +1,115 @@ +/******************************************************************/ +/*********************** Toggle Screenshots ***********************/ +/******************************************************************/ +.popupBackground { + opacity: 10%; + filter: alpha(opacity=75); + background-color: rgba(0,0,0,0.90); + z-index: 10; + background-color: black; + display: none; + width: 100%; + min-height: 100%; + overflow: hidden; + position: fixed; + top: 0; + left: 0; + color: white; +} +.popupSelf{ + z-index: 900; + border: 1px solid #808080; + display: none; + position: fixed; + top: 0px; + left: 0px; + left: 50%; + top: 50%; + max-width: 550px; + max-height: 655px; + margin-top: -328px; + margin-left: -275px; + box-shadow: rgba(0,0,0,0.5) 7px 7px 2px; +} +.closeButton { + position: absolute; + top: -16px; + right: -16px; + cursor: pointer; +} +.popupSelf .closeButton:hover, +.popupSelf:hover .closeButton:hover { + opacity: 1; + filter: alpha(opacity=10); +} +.popupSelf .closeButton { + opacity: 0.6; + filter: alpha(opacity=60); +} +.popupSelf:hover .closeButton { + opacity: 0.9; + filter: alpha(opacity=90); +} + +/******************************************************************/ +/************************* Image Scroller *************************/ +/******************************************************************/ + +#loading { + background-image: url('/preloader/50/708da8.gif'); + background-repeat: no-repeat; + background-position: center center; + height: 50px; +} + +/* brandsContainer (brands carousel in footer.html) */ +#brandsCarousel { + white-space: nowrap; /* not remove */ + margin: 0px; + width: 100%; + height: 70px; /* needed for maximize effect on hover otherwise the complete blue box jump arround */ + overflow: hidden; +} +/* images inside slide container */ +.brands { + border: 0px; + vertical-align: middle; /* not remove */ + cursor: pointer; +} +#loading, .brands { + margin: 10px 15px 5px 15px; /* top 10px for shadow attribution box */ +} + +#brandsCarousel a[href] img { + -webkit-transition: width 0.3s ease-out, height 0.3s ease-out, margin-left 0.3s; + -moz-transition: width 0.3s ease-out, height 0.3s ease-out, margin-left 0.3s; + -ms-transition: width 0.3s ease-out, height 0.3s ease-out, margin-left 0.3s; + -o-transition: width 0.3s ease-out, height 0.3s ease-out, margin-left 0.3s; + transition: width 0.3s ease-out, height 0.3s ease-out, margin-left 0.3s; + height: 50px; + width: 50px; +} + +/* maximize img on hover */ +#brandsCarousel a[href] img:hover { + height: 70px; + width: 70px; + margin-top: 0px; + margin-bottom: 0px; +} + +#brandsCarousel a[href] { + opacity: 0.9; + filter: alpha(opacity=90); +} + +#brandsCarousel a[href]:hover { + background-color: transparent !important; /* removes our global style (project.css) on this element */ + opacity: 1; + filter: alpha(opacity=100); +} +#brandsCarousel, +.brands { + padding: 0px; + clear: both; +} \ No newline at end of file diff --git a/css/kb.css b/css/kb.css new file mode 100644 index 000000000..b57b8b12a --- /dev/null +++ b/css/kb.css @@ -0,0 +1,51 @@ +table.fonts { + max-width: 100%; + border-collapse: collapse; +} +tr.TRfonts { + border: 1px solid #000000; +} +tr.TRfontsBG { + background-color: #48dddf; + border: 1px solid #000000; +} +tr.TRfontsBGbold { + background-color: #48dddf; + font-weight: bold; + border: 1px solid #000000; +} + +.attribute, .html, .tag, .entity { + font-family: Consolas, 'Courier New', Geneva, sans-serif; + font-size: 0.95em !important; + font-weight: normal; + color: rgb(120,0,0); +} +code.html { + color: rgb(0,0,120); +} +code.selector { + color: rgb(180,20,100); +} +h4.tag { + font-size: 1.2em; +} +.attribute { + color: rgb(160,80,0); +} +.tag { + color: rgb(0,0,160); +} +h3 .tag { + color: rgb(0,150,260); +} +.entity { + color: rgb(0,80,0); +} +.html { + +} +.bad_example { + color: red; +} + \ No newline at end of file diff --git a/css/media.css b/css/media.css new file mode 100644 index 000000000..df88d2e01 --- /dev/null +++ b/css/media.css @@ -0,0 +1,410 @@ +/*******************************************************************************************************/ +/***************************************** SCREEN SIZE SUPPORT *****************************************/ +/*******************************************************************************************************/ +/* +@media only screen and (max-width: 1280px) {} +@media only screen and (max-width: 1080px) {} +@media only screen and (max-width: 1024px) {} + +or @media only screen and (min-device-width: xxxpx) and (max-device-width: xxxpx) {.yourCss{}} +or @media only screen and ((min-device-width : 800px) and (max-device-width : 1280px))) and (orientation : landscape) {.yourCss{}} +http://stackoverflow.com/questions/12299291/css-media-queries-for-common-tablet-sizes + +@media only screen and (max-device-width: 720px) and (orientation:portrait) {.your-css{}} +@media only screen and (max-device-width: 1280px) and (orientation:landscape) {.your-css{}} +http://stackoverflow.com/questions/11036337/css-media-queries-for-galaxy-s3 + +Media Query Detector and resolution Infos: +http://pieroxy.net/blog/pages/css-media-queries/test-features.html +*/ + +/* max width of 1000px */ +@media only screen and (max-width: 1000px) { + #infoTabs { + margin-right: -60px; + } + #main-content-no-nav { + margin-left: 6% !important; + margin-right: 6% !important; + } + #main-content-no-nav > ul, + #main-content > ul { + margin-left: 10px !important; + } + +} + +/* max width of 850px */ +@media only screen and (max-width: 850px) { + #infoTabs { + margin-right: -8%; + } + #main-content-no-nav { + margin-left: 2% !important; + margin-right: 2% !important; + } + .infoTab { + margin-left: 10px; + } + #main-content-no-nav > ul, + #main-content > ul { + margin-left: 5px !important; + } +} + +@media only screen and (max-width: 1060px) { + #infoTabs { + display: none; + } +} +/* max width of 700px */ +@media only screen and (max-width: 700px) { + iframe.video, + #infoTabs { + display: none; + } + .copyright { + text-align: left !important; /* we have center as default but this looks horrible on mobile devices */ + } + h3 { + font-size: 1.2em; + } + h2.page-header { + font-size: 1.5em; + } +} + +/* max width of 360px (e.g. portrait mode s3) */ +@media only screen and (max-width: 360px) { + #project-navigation { + display: table !important; /* turn on again navigation which is hidden for examples tab inside add-on! */ + } + #project-navigation a.version, + #project-navigation a.templates, + .tip.query { + display: none; + } + .templateBlock { + margin-left: 10px; + } + h5.templateBlock { + margin-left: 10px !important; + margin-top: 0; + max-width: 10em; + text-align: center; + font-size: 10pt; + padding: 0; + } + blockquote.code_block, + pre.code_block, + pre.code_block.bad_example { + margin-left: 10px !important; + margin-right: 10px !important; + width: auto; + min-width: 290px !important; /* here we need the important to overwrite the size for examples tab */ + } + ul > li { + margin-left: 15px; + } + .collapsible li { + margin-bottom: 0; + padding-bottom: 0.5em; + } +} +@media only screen and (max-width: 1500px) and (min-width: 1281px) { + #main-content-no-nav { + margin: 25px 80px 25px 80px !important; + } +} + +/* max width of 1280px */ +@media only screen and (max-width: 1280px) { + #main-content-no-nav { + margin: 25px 50px 25px 50px !important; + } + .collapsible li { + margin-bottom: 0; + padding-bottom: 0.5em; + } + .templateBlock { + margin-left: 10px; + } + h5.templateBlock { + margin-left: 10px !important; + margin-top: 0; + max-width: 10em; + text-align: center; + font-size: 10pt; + padding: 0; + } + /* knowledgebase "good & bad" example boxes */ + pre.code_block, + pre.code_block.bad_example { + margin-left: 10px !important; + margin-right: 10px !important; + width: auto; + min-width: 510px; + } + /* template example boxes */ + blockquote.code_block { + margin-left: 10px !important; + margin-right: 10px !important; + width: auto; + min-width: 470px; + } +} + + +@media only screen and (max-width: 500px) { + #main-content-no-nav, .main_content { + border-radius: 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 0px !important; + margin-right: 0px !important; + } + #main-content-no-nav > * > li { + margin-left: 0; + } + + #main-content-no-nav ol { + padding-left: 15px; + padding-right: 5px; + } + #main-content-no-nav > * > li img.screenshot { + margin-left: -20px; + margin-right: 5px; + max-width: 100% !important; + } + iframe { + width: 100%; + margin-left: -6px !important; + } + h2.page-header { + font-size: 15pt; + } + h3 { + font-size: 1.05em; + } +} + + +@media only screen and (max-width: 970px) { + #infoTabs, #mozdev-logo, #mozdev-date { + display: none; + } + #main-content-no-nav { + border-radius: 0 !important; + margin-top: 0 !important; + } +} + + + +@media only screen and (min-width: 500px) and (max-width: 1010px) { + #main-content-no-nav, .main_content { + border-radius: 0; + margin-top: 0; + margin-left: 0px !important; + margin-right: 0px !important; + } + #infoTabs { + margin: 0px 0px 20px 0.2em !important; + } +} + +@media only screen and (min-width: 1010px) and (max-width: 1070px) { + #main-content-no-nav, .main_content { + margin-left: 20px !important; + margin-right: 20px !important; + } + #infoTabs { + margin: 0px 0px 20px 0.2em !important; + } +} + +@media only screen and (max-width: 620px) { + table.quickFiltersFreeUser, table.quickFiltersProRenew { + margin-left: -1em !important; + margin-right: -1em !important; + border-radius: 0 !important; + } + .quickFiltersProRenew p, .quickFiltersFreeUser p { + font-size: 1em !important; + } +} + +@media only screen and (min-width: 620px) and (max-width: 1070px) { + table.quickFiltersFreeUser, table.quickFiltersProRenew { + margin-left: 0 !important;; + } + #infoTabs { + font-size: 0.8em !important; + margin-left: 10px !important; + } +} + +@media (min-width: 1070px) and (max-width: 1200px) { + #main-content-no-nav, .main_content { + margin-left: 30px !important; + margin-right: 30px !important; + } + #infoTabs { + margin: 0px -55px 20px 1em !important; + font-size: 0.8em !important; + } +} + +@media (min-width: 1200px) { + #main-content-no-nav { + padding-left: 3em; + padding-right: 3em; + } + #main-content-no-nav > p, + #main-content-no-nav > div p + { + max-width: 70em; + } + #infoTabs { + max-width: 40% !important; + margin: 0px -55px 20px 1em !important; + font-size: 0.9em !important; + } +} + + + +/* max width of 1680px -> MY MONITOR */ +@media only screen and (max-width: 1680px) { + h5.templateBlock { + margin-left: 10px !important; + margin-top: 0; + max-width: 10em; + text-align: center; + font-size: 12pt; + padding: 0; + } + blockquote.code_block, + pre.code_block, + pre.code_block.bad_example { + margin-left: 10px !important; + margin-right: 10px !important; + width: auto; + min-width: 500px; + } + .screenshot.query { + margin-left: 10px; + margin-top: 10px; + } +} + +/* range width 360px to 640px (e.g. portrait AND panorama mode on s3) */ +@media only screen and (min-width: 360px) and (max-width: 640px) { + .copyright { + text-align: left !important; + margin-top: 10px; + } + .screenshot.query { + margin-left: 10px; + margin-top: 10px; + } + div.old, + div.new { + margin-left: 0px !important; + } + .templateBlock { + margin-left: 10px; + } + h5.templateBlock { + margin-left: 10px !important; + margin-top: 0; + max-width: 10em; + text-align: center; + font-size: 10pt; + padding: 0; + } + /* template example boxes */ + blockquote.code_block { + margin-left: 10px !important; + margin-right: 10px !important; + width: auto; + min-width: 380px !important; + } +} +/* range width of 360px to 500px (outside of portrait mode and inside examples tab size */ +@media only screen and (min-width: 360px) and (max-width: 500px) { + iframe.video, + #brandsCarousel, + .outerTable, + #donation { + display: none; + } + .templateBlock { + margin-left: 10px; + } + h5.templateBlock { + margin-left: 10px !important; + margin-top: 0; + max-width: 10em; + text-align: center; + font-size: 10pt; + padding: 0; + } + /* knowledgebase "good & bad" example boxes */ + pre.code_block, + pre.code_block.bad_example { + margin-left: 10px !important; + margin-right: 10px !important; + width: auto; + min-width: 500px; + } + /* template example boxes */ + blockquote.code_block { + margin-left: 10px !important; + margin-right: 10px !important; + width: auto; + min-width: 380px; + } + ul > li { + margin-left: 15px; + } + .collapsible li { + margin-bottom: 0; + padding-bottom: 0.5em; + } + h3 { + font-size: 1em; + } + h2.page-header { + font-size: 1.2em; + } + #mozdev-logo, #mozdev-date, #project-navigation, #content, .attribution, + #copyright, #brandsCarousel, #downPusher, #navbarTable { + display: none; + } + h2.page-header { + padding: 0.25em 1em 0.15em !important; + font-size: 1em; + } + #main-content-no-nav { + margin: 0 !important; + border-radius: 0 !important; + } + #main-content-no-nav ul { + margin-left:0 !important; + padding-left:0 !important; + } + #mailToLink, .mail_link { + margin-bottom: 0; + } + #main-content-no-nav p { + font-size: 0.9em; + } + h4 { + margin-top: 0.2em; + margin-bottom: 0; + } + ul.noneListStyle > li { + margin-left: 25px; + } +} \ No newline at end of file diff --git a/css/myProjects.css b/css/myProjects.css new file mode 100644 index 000000000..99cda0641 --- /dev/null +++ b/css/myProjects.css @@ -0,0 +1,72 @@ + +/*** PROJECT LINKS - links to my other projects **/ + +h4.projects { + background: rgb(167,233,233); + background: -moz-linear-gradient(top, rgba(167,233,233,1) 0%, rgba(154,226,230,1) 37%, rgba(138,225,226,1) 65%, rgba(148,238,248,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(167,233,233,1)), color-stop(37%,rgba(154,226,230,1)), color-stop(65%,rgba(138,225,226,1)), color-stop(100%,rgba(148,238,248,1))); + background: -webkit-linear-gradient(top, rgba(167,233,233,1) 0%,rgba(154,226,230,1) 37%,rgba(138,225,226,1) 65%,rgba(148,238,248,1) 100%); + background: -o-linear-gradient(top, rgba(167,233,233,1) 0%,rgba(154,226,230,1) 37%,rgba(138,225,226,1) 65%,rgba(148,238,248,1) 100%); + background: -ms-linear-gradient(top, rgba(167,233,233,1) 0%,rgba(154,226,230,1) 37%,rgba(138,225,226,1) 65%,rgba(148,238,248,1) 100%); + background: linear-gradient(top, rgba(167,233,233,1) 0%,rgba(154,226,230,1) 37%,rgba(138,225,226,1) 65%,rgba(148,238,248,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a7e9e9', endColorstr='#55ca72',GradientType=0 ); + border: 1px solid #bce !important; + border-radius: 0.5em; + box-shadow: 2px 2px 3px -1px rgba(0,0,0,0.7); + padding: 0.35em 0.5em; + display: inline-block; + margin-right: 20px; +} + +h4.projects:hover { + text-decoration: underline; + color: rgb(167,233,233); + background: rgb(69,72,77); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzQ1NDg0ZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background: -moz-linear-gradient(top, rgba(69,72,77,1) 0%, rgba(0,0,0,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(69,72,77,1)), color-stop(100%,rgba(0,0,0,1))); + background: -webkit-linear-gradient(top, rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); + background: -o-linear-gradient(top, rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); + background: -ms-linear-gradient(top, rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); + background: linear-gradient(to bottom, rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45484d', endColorstr='#000000',GradientType=0 ); +} + +h4.projects:hover, +h4.projects:hover a { + color: rgb(167,233,233); +} + + +h4.QuickFolders:before { + content: url('/img/quickfolders-Icon.png'); /* IE8 or higher */ +} + +h4.QuickFilters:before { + content: url('/img/QuickFilters_32.png'); /* IE8 or higher */ +} + +h4.QuickPasswords:before { + content: url('/img/quickPasswords.png'); /* IE8 or higher */ +} + +h4.titlebarCleaner:before { + content: url('/img/titlebarCleaner.png'); /* IE8 or higher */ +} +h4.ZombieKeys:before { + content: url('/img/zombie-key-32.png'); /* IE8 or higher */ +} +h4.menuOnTop:before { + content: url('/img/menuOnTop.png'); /* IE8 or higher */ +} +/* settings bundle for all items */ +h4.QuickFolders:before, +h4.QuickFilters:before, +h4.QuickPasswords:before, +h4.titlebarCleaner:before, +h4.ZombieKeys:before, +h4.menuOnTop:before { + margin: 0em 0.5em -0.1em 0.5em; + vertical-align: middle; + display: inline-block; /* IE 7 fix, hasLayout */ +} \ No newline at end of file diff --git a/css/navibar.css b/css/navibar.css new file mode 100644 index 000000000..ef681cb6d --- /dev/null +++ b/css/navibar.css @@ -0,0 +1,78 @@ +/* MAINTABLE -> Navbar overlay set in bottom before
*/ +/* outer table div's
and
are not formated, we don't need it for now */ + +.outerTable { + border-top: 1px solid #a9a9a9; + border-bottom: 1px solid #a9a9a9; + position: fixed; /* set to fixed means "static element" */ + bottom: 0px; /* place at bottom with 0px space */ + width: 100%; /* set maintable to 100% width to display it as navbar */ + margin: 0px; + padding: 0px; + background: -moz-linear-gradient(top, rgba(246,248,249,1) 0%, rgba(229,235,238,0.85) 50%, rgba(215,222,227,0.85) 51%, rgba(245,247,249,0.7) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(246,248,249,1)), color-stop(50%,rgba(229,235,238,0.85)), color-stop(51%,rgba(215,222,227,0.85)), color-stop(100%,rgba(245,247,249,0.7))); + background: -webkit-linear-gradient(top, rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + background: -o-linear-gradient(top, rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + background: -ms-linear-gradient(top, rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + background: linear-gradient(top, rgba(246,248,249,1) 0%, rgba(229,235,238,0.85) 50%, rgba(215,222,227,0.85) 51%, rgba(245,247,249,0.7) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f8f9', endColorstr='#f6f8f9',GradientType=0 ); + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} +/* innerTable place the content float from center to left/right same as project-navigation */ +.innerTable { + padding: 0; + border-spacing: 0; + border-collapse: collapse; + margin-left: auto; + margin-right: auto; +} +.innerTableTD { + height: 25px; + width: 120px; /* needed for background hover effect on globally a[href] tag */ + margin: 0; + padding: 0; + font-size: 1.05em; +} +/* item order: Home Back Up Forward Print Font+ Font- */ + +/* Icon bindings */ + +/* home button */ +.homeButton a:before { + content: url('/img/home.png'); /* IE8 or higher */ +} +/* history back button */ +.historyBackButton a:before { + content: url('/img/back.png'); /* IE8 or higher */ +} +/* icon add to scroll button */ +.scrollButton a:before { + content: url('/img/up.png'); /* IE8 or higher */ +} +/* history forward button */ +.historyFwdButton a:before { + content: url('/img/forward.png'); /* IE8 or higher */ +} +/* print button */ +.printButton a:before { + content: url('/img/printer.png'); /* IE8 or higher */ +} +/* Font Plus Button */ +.fontPlusButton a:before { + content: url('/img/edit-size-up.png'); /* IE8 or higher */ +} +/* Font Minus Button */ +.fontMinusButton a:before { + content: url('/img/edit-size-down.png'); /* IE8 or higher */ +} +/* wrapped settings for all items */ +.fontPlusButton a:before, +.homeButton a:before, +.historyBackButton a:before, +.scrollButton a:before, +.historyFwdButton a:before, +.printButton a:before, +.fontMinusButton a:before { + margin: 0em 0.2em 0em 0.8em; + vertical-align: middle; +} \ No newline at end of file diff --git a/css/premium.css b/css/premium.css new file mode 100644 index 000000000..9db22ca78 --- /dev/null +++ b/css/premium.css @@ -0,0 +1,32 @@ +/* feature list */ +#featureTbl th a { + font-weight: bold; +} +#featureTbl th { + font-weight: normal; +} +#featureTbl { + border: 1px solid rgba(80,80,80,0.4); + border-spacing: 0; + border-collapse: collapse; +} +#featureTbl td, #featureTbl th { + padding: 6px; + border: 1px solid rgba(80,80,80,0.4); + vertical-align: middle; +} +#featureTbl td, +#featureTbl tr:nth-child(1) th +{ + text-align: center; +} +#featureTbl th { + text-align: left; +} +#featureTbl .check { + font-size: 1.4em; + color: green; +} +#featureTbl .check.negative { + color: red; +} diff --git a/css/print.css b/css/print.css new file mode 100644 index 000000000..53a69d36c --- /dev/null +++ b/css/print.css @@ -0,0 +1,49 @@ +/*******************************************************************************************************/ +/***************************************** PRINT STYLE SUPPORT *****************************************/ +/*******************************************************************************************************/ + +/* no print to save ink or toner */ +@media print { + body { + background: none !important; + } + table#mozdev-date, + .halloween, + .christmas, + .newYear1, + .newYear2, + #infoTabs, + iframe, + .outerTable, + #brandsCarousel, + #downPusher { + display:none; + } +} + +/* margins */ +@media print { + #main-content-no-nav { + margin-left: 0px !important; /* removed !important from project.css for this element */ + margin-right: 0px !important; /* removed !important from project.css for this element */ + } + h2.page-header, + h3, + h4 { + margin-top: 5px !important; + margin-bottom: 5px !important; + } +} + +/* font-sizes */ +@media print { + h2.page-header, + span.sigMarc, + span.sigAxel { + font-size: 1.2em; + } + h3, + h4 { + font-size: 1em; + } +} \ No newline at end of file diff --git a/css/project.css b/css/project.css new file mode 100644 index 000000000..dc041500e --- /dev/null +++ b/css/project.css @@ -0,0 +1,535 @@ +/* here in this css file we formate all globally used content only */ +/* alternate webFonts available see webFonts.css */ + +/* formats the background for the mozdev logo */ +h1#mozdev-logo { + background-color: rgb(10,79,144); +} + +/* mozdev logo itself -> no other chance to overwrite mozdev origin Image! */ +h1#mozdev-logo a { + background-image: url('/img/mozdev-blue.png') !important; + background-repeat: no-repeat; + height: 69px; /* own original size */ + width: 148px; /* own original size */ +} + +/* our Season gif's in html_body.html inside

below */ +/* this gif's will paste automatically on date by js */ + +/* vampire which transfroms to a bait placed on navbar */ +.halloween { + margin-left: 920px; /* optimized 31/10/13 */ + margin-top: -160px; /* optimized 31/10/13 */ +} +/* santa on sleigh with reindeers */ +.christmas { + margin-left: 800px; + margin-top: -150px; /* optimized 31/10/13 */ +} +/* starrain on left hand popps out of "[...] a Happy xxxx everyone!" phrase */ +.newYear1 { + margin-left: 800px; + margin-top: -100px; /* optimized 31/10/13 */ +} +/* rocket right of starrain */ +.newYear2 { + margin-left: 430px; + margin-top: -120px; /* optimized 31/10/13 */ +} +/* settings bundle for all items */ +.halloween, +.christmas, +.newYear1, +.newYear2 { + padding: 0px; + display: block; + position: relative; /* ie crop fix */ + border: 0; + border-style: none; + max-width: 100%; +} +/* horrizontal box on top of our page which contains mozdev-fries and date */ +/* 20.09.12 formated as table ie7 makes trouble with date -> to deep */ +table#mozdev-date { + background: rgb(208,228,247); + background: rgb(149,234,237); + background: -moz-linear-gradient(top, rgba(149,234,237,1) 0%, rgba(71,221,223,1) 24%, rgba(9,179,181,1) 50%, rgba(44,215,218,1) 79%, rgba(88,223,226,1) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(149,234,237,1)), color-stop(24%,rgba(71,221,223,1)), color-stop(50%,rgba(9,179,181,1)), color-stop(79%,rgba(44,215,218,1)), color-stop(100%,rgba(88,223,226,1))); + background: -webkit-linear-gradient(top, rgba(149,234,237,1) 0%,rgba(71,221,223,1) 24%,rgba(9,179,181,1) 50%,rgba(44,215,218,1) 79%,rgba(88,223,226,1) 100%); + background: -o-linear-gradient(top, rgba(149,234,237,1) 0%,rgba(71,221,223,1) 24%,rgba(9,179,181,1) 50%,rgba(44,215,218,1) 79%,rgba(88,223,226,1) 100%); + background: -ms-linear-gradient(top, rgba(149,234,237,1) 0%,rgba(71,221,223,1) 24%,rgba(9,179,181,1) 50%,rgba(44,215,218,1) 79%,rgba(88,223,226,1) 100%); + background: linear-gradient(top, rgba(149,234,237,1) 0%,rgba(71,221,223,1) 24%,rgba(9,179,181,1) 50%,rgba(44,215,218,1) 79%,rgba(88,223,226,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#95eaed', endColorstr='#58dfe2',GradientType=0 ); + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ + padding: 0.3em 0em 0.3em 0em; /* added 08.09.12 */ + width: 100%; /* added 20.09.12 */ +} +/* formats the mozdev-fries line in html_body.html (current our greeting Phrase and dateformat from scripts.js) */ +td.mozdev-fries { + text-align: left; +} +td.mozdev-date { + text-align: right; +} +td.mozdev-fries, +td.mozdev-date { + font-family: 'Architects Daughter'; + vertical-align: middle; + margin: 0; + padding: 0; + font-size: 1.05em; + font-weight: bold; + text-shadow: #333 0px 0px 1px; + font-style: italic; + color: rgb(255,255,255); +} + +/* common li>h4 formatting */ +li > h4 { + font-size: 0.8em; + margin-left: 2em; +} +/* sets the main background */ +body { + background: rgb(69,72,77); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzQ1NDg0ZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM0NTQ4NGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background-image: linear-gradient(to bottom, rgba(69,72,77,1) 0%,rgba(0,0,0,1) 50%,rgba(69,72,77,1) 100%); + font-size: 12.5pt; /* old 14pt but this is little big */ + min-height: 950px; +} +/* common font settings */ +/* settings bundle for all items */ +h1, +h2, +h3, +h4, +dt, +dd, +td *, +body { + font-family: Calibri,Arial,Sans-Serif; + font-weight: normal; +} +h1,h2,h3,h4 { + margin: 0.5em 0em; +} + + +/* video */ +.video { + border: 0; + border-style: none; + margin: 0; + padding: 0; +} + +/* sets the second background which contains the content */ +#main-content-no-nav { + border-radius: 10px; + background: #ffffff; + border-left: #ccc 1px; + border-right: #ccc 1px; + box-shadow: 12px 12px 10px 2px rgba(0,0,0,0.5); + margin: 25px 120px 25px 120px; + padding: 12px; +} + +/* pageheaderbox on every sub page */ +h2.page-header { + display: inline-block; + color: #ffffff; + background: #ebf1f6; + border: 1px solid #bce !important; + background: rgb(100,154,174); + background-image: linear-gradient(to bottom, rgba(100,154,174,1) 0%,rgba(79,160,181,1) 33%,rgba(43,142,169,1) 51%,rgba(47,178,217,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#649aae', endColorstr='#2fb2d9',GradientType=0 ); + border-radius: 0.25em; /* CSS3 = IE9 / Firefox 4+ */ + box-shadow: 2px 2px 3px -1px rgba(0,0,0,0.7); /* CSS3 = IE9 / Firefox 4+ */ + margin-right: 1em; + margin-bottom: 0.2em; + padding: 0.5em 1em 0.5em 1em; +} + +.no-borderradius h2.page-header { + border-radius: 0.25em; +} + + +h2.page-header:before { + content: url('/img/icon32x32.png'); /* IE8 or higher */ + margin: 0.1em 1em 0.1em 0em; + padding: 0; + vertical-align: middle; + display: inline-block; +} +/* h3 box */ +h3 { + border: 1px solid #ec9 !important; + color: #ffffff; + display: inline-block; + font-weight:500; + padding: 0.2em 1em 0em 0.8em; + margin: 1.2em 0em 0.3em; + margin-right: 1em; + + background-color: rgb(40,132,218); + border-radius: 3px; /* CSS3 = IE9 / Firefox 4+ */ + box-shadow: 2px 2px 3px -1px rgba(0,0,0,0.3); /* CSS3 = IE9 / Firefox 4+ */ +} + +h3:before { + content: url('/img/icon16x16.png'); /* IE8 or higher */ + margin: 0.2em 0.5em 0.2em 0em; + vertical-align: middle; + display: inline-block; +} +/* h4 box */ +h4{ + background: rgb(167,233,233); + /* background: linear-gradient(to bottom, rgba(167,233,233,1) 0%,rgba(154,226,230,1) 37%,rgba(138,225,226,1) 65%,rgba(148,238,248,1) 100%); */ + border: 1px solid #bce !important; + border-radius: 1px; + box-shadow: inset 1px 1px 2px 1px rgba(0,0,0,0.2); /* CSS3 = IE9 / Firefox 4+ */ + padding: 0.35em 0.5em; + display: inline-block; +} + +h4:before { + content: url('/img/icon16x16.png'); /* IE8 or higher */ + margin: 0.2em 0.5em 0.2em 0em; + vertical-align: middle; + display: inline-block; +} + +/* common settings for h tags */ +/* wrapped settings for all items */ +h1, +h2, +h3, +h4 { + /*cursor:pointer;*/ + text-shadow: #333 0px 0px 1px; +} + +h1 a, +h2 a, +h3 a, +h4 a, +h5 a { + font-weight: normal; + margin: 0em 0.2em 0em 0.2em; /* spaced left and right the topic if it is an url e.g. in version.html */ +} + +/* checklist formatting */ +ul.checkList li { + list-style-image: url('/img/checkMark.png') !important; + margin-bottom: 10px; + margin-left: 30px; + list-style-type: square; /* fallback */ +} + +/* nested (sub-) lists */ +ul.checkList li ul li, +#version-history li ul li ul li { + list-style-image: url('/img/chevron.png') !important; +} + +/* options list formatting */ +ul.optionlist li { + list-style-image: url('/img/checkbox.png') !important; + margin-bottom: 10px; + margin-left: 30px; + list-style-type: square; /* fallback */ +} +table.image-columns tr td { + border: 0; + padding: 2px 10px 2px 0px; + margin: 0; + vertical-align:top; +} + +ul#version-history tt { + font-size: 10pt; + font-family: Consolas, 'Courier New', Geneva, sans-serif; +} + +/* 10.08.12: why an image? list-style-type possible; square image additional added */ +#main-content-no-nav > ul, +#main-content > ul { + padding-left: 1.5em; + margin-bottom: 10px; + margin-left: 30px; + list-style-type: square; +} + +.attention:before, +div.attention:before, +p.attention:before, +span.attention:before { + content: url('/img/attention.png'); + margin: 0.1em 0.3em 0.2em 0em; + vertical-align: middle; + display: inline-block; + font-style: italic; + font-weight: bold; /* for the complete phrase */ +} + +.tip:before, +div.tip:before, +p.tip:before, +span.tip:before { + content: url('/img/tip.png'); + margin: 0.1em 0.3em 0.2em 0em; + vertical-align: middle; + display: inline-block; + font-style: italic; +} + +/* settings bundle for all nested items and span's (old was red) */ +.important, +.attention em, +p.attention em, +span.attention em, +.tip em, +div.tip em, +p.tip em, +span.tip em { + color: #CC0000; /* rgb(160, 31, 31) */ + text-shadow: #F0E0E0 0px 0px 1px; + font-weight: bold; +} + +/* span's for for marks in variables.html */ + +*.obs { + color: #CC0000; /*rgb(160, 31, 31) */ +} +.new { + color: rgb(128, 255, 0); + text-shadow: 1px 1px 1px rgba(0,0,0,.7); +} + +div.obs, +div.new { + display: inline-block; +} +/* a few little tricks... */ +li div.new, +li div.obs { + width: 2.5em !important; + margin-left: -3em; + text-align: right; + padding-right: 0.5em; +} + +/* now we remove the list style square from variables listing */ +article > ul > li { + list-style-type: none; +} + +/* red phrase without icon */ +p.scream { + color: #900; + font-style: italic; + font-weight: bold; +} + +img.screenshot, +img.gallery { + border-radius: 4px; + box-shadow: 5px 5px 6px -1px rgba(0,0,0,0.2); /* CSS3 = IE9 / Firefox 4+ */ + border: 1px solid #dad0d0; + border-style: solid; + max-width: 100%; +} +img.screenshot { + margin-top: 12px; + margin-bottom: 10px; +} + + +/* common list formatting */ +ul > li { + padding-bottom: 1em; +} + +@media screen and (-webkit-min-device-pixel-ratio:0){ /* 09.10.12: special fix chrome/webkit bug in */ + ul > li a { + vertical-align: top; + } +} + +ul > li > ul > li { + padding: 0 3em; + list-style-type: square; /* fallback */ + list-style-image: none; + background: none no-repeat 0 50%; + max-width: 70em; +} +/* ul class noneListStyle */ +ul.noneListStyle > li { + list-style-type: none; + padding-bottom: 1em; +} +.chevron { + display: list-item; + list-style: square outside url('/img/chevron.png') !important; +} + +/* common url formatting and .versionLink in description of versions.html */ +a[href], +.versionLink { + color: rgb(38,85,139); + /*cursor: pointer;*/ + padding: 3px 6px; +} +a[href] { + margin-left: -6px; + margin-right: -6px; +} + +h1 a[href], +h2 a[href], +h3 a[href], +h4 a[href] { + margin-left:0; + margin-right:0; +} + + +a[href]:visited { + color: rgb(38,85,139); /* rgb(48,17,144);*/ +} +/* to remove this global style from elements in href e.g. on images */ +/* add this: background-color: transparent !important; to removes our global style (project.css) on this element */ +a[href]:hover, +.question:hover { + color: rgba(100, 224, 244, 0.9); + text-decoration: none; + text-shadow: 0 0 5px rgba(0,0,0,0.96); + background-color: rgba(50,50,50,0.3); + border-radius: 4px; +} +/* remove click border from a clicked a[href] element */ +a[href]:focus { + outline: 0; /* CSS3 = IE9 / Firefox 4+ */ +} + +/*
class is used in many sub pages */ +.horizontalRule { + border: 1px solid rgba(90,90,90,0.4); + box-shadow: 0px 0px 2px 2px rgba(60,80,100,0.5); /* CSS3 = IE9 / Firefox 4+ */ + width: 100%; +} + +/* members */ +.BZ-th-bug, +.BZ-th-bug a { + background-color: rgb(0,0,155) !important; + color: #fff !important; + padding: 0.2em 0.5em; +} + +/* content for animation templates.html, faq.html and screenshots.html */ +/* image left of .question */ +.collapseDown { + border-style : none; + vertical-align : middle; +} +/* collapsible list item */ +.collapsible li { + list-style-image: none; + list-style-type: none; + margin-bottom: 0.8em; +} + +/* clickable question in templates.html, faq.html and screenshots.html */ +/* additional we have .question:hover in line with a[href]:hover */ +.question { + color: #04356c; + display: inline; + cursor: pointer; +} + +/* bubble used to display code */ +.code_block, .answer_block { + background-color: white; + border-style: solid; + border-color: black; + border-radius: 10px; /* CSS3 = IE9 / Firefox 4+ */ + border-width: 1px; + color:black; + display:block; + font-size:10pt; + overflow: auto; /* OLD scroll */ + margin-left: 30px; + max-height: 220px; + width: 75%; + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ + font-family: Consolas, 'Courier New', Geneva, sans-serif; +} +.code_block { + padding: 10px; +} +/* we are using paragraphs inside these! */ +.answer_block { + padding: 0 1em; +} + +.mini, +.miniquote { + font-style: italic; + font-size: 0.93em; + color: rgb(90,90,90); +} + +.miniquote { + max-width: 400px; + text-align: justify; +} + + +/* span class for our signatures in all cases if we call us */ +span.sigAxel { + font-family: 'Nothing You Could Do'; +} +span.sigMarc { + font-family: 'Loved by the King'; +} +/* settings bundle for all items */ +span.sigAxel, +span.sigMarc { + font-size: 1.6em; + font-style: italic; + font-weight: normal; + margin: 0; + padding: 0; +} + +/* for prompts based on jQuery */ +.msgBox { + display: block; + position: fixed; + z-index: 10000; + top: 0; + left: 0; + height: auto; + width: 100%; + border: 1px solid black; + font-weight: bold; + margin: 0; + text-align: center; + padding: 20px 5px 20px 5px; +} +.msgBox.error { + background-color: #ff6666; + color: white; +} +.msgBox h1 { + color: black; +} + +#community-links {font-size: 0.8em;} +#TJK_ToggleON,#TJK_ToggleOFF {display:none} +#copyright { margin-top: 16px; } diff --git a/css/project_nav.css b/css/project_nav.css new file mode 100644 index 000000000..eadd888d2 --- /dev/null +++ b/css/project_nav.css @@ -0,0 +1,151 @@ +/* h1#content in project_nav.html */ +.project-name { + color: #FFFFFF; + font-size: 1.4em; + font-weight: bold; + margin: 0 0 0.5em; + padding: 0.2em 0 0.4em; + line-height: 32px; + text-align: center; + text-shadow: black 0px 0px 2px, rgba(0, 0, 0, 0.85) 1px 1px 2px; +} +.project-name:before { + content: url('/img/icon32x32.png'); + vertical-align: bottom; + padding-right: 0.3em; + line-height: 32px; +} +.project-name img { + vertical-align: bottom; +} + +/* Navbar Style URL order left to right */ +td.navigation-list { + vertical-align: middle; +} + +td.navigation-list a, +td.navigation-list a:visited { + background: rgb(73,186,201); + background: linear-gradient(to bottom, rgba(73,186,201,1) 0%,rgba(49,148,159,1) 24%,rgba(21,104,113,1) 50%,rgba(43,133,143,1) 79%,rgba(51,159,171,1) 100%); +} +td.navigation-list a[href].active, +td.navigation-list a[href].active:visited, +td.navigation-list a:active, +td.navigation-list a.active:visited { + background: rgb(149,234,237); + background: linear-gradient(to bottom, rgba(149,234,237,1) 0%,rgba(71,221,223,1) 24%,rgba(9,179,181,1) 50%,rgba(44,215,218,1) 79%,rgba(88,223,226,1) 100%); + border: 1px solid #26558B; + color: #FFFFFF !important; + /* height: 23px !important; */ + font-weight: bold; +} + +/* knowledgebase menu */ +td.kb-nav-list a, +td.kb-nav-list a:visited { + background: linear-gradient(to bottom, #c949b1 0%,#9f318d 24%,#711562 50%,#8f2b7e 79%,#ab3397 100%) !important; + color: rgb(255, 192, 203) !important; +} +td.kb-nav-list a[href]:hover { + color: white !important; +} + +td.kb-nav-list a[href].active, +td.kb-nav-list a[href].active:visited, +td.kb-nav-list a:active, +td.kb-nav-list a.active:visited { + background: linear-gradient(to bottom, #ed95d7 0%,#df47bb 24%,#b5098d 50%,#da2cb1 79%,#e258c2 100%) !important; +} + +/* contribute URL other Style */ +td.navigation-list a[href$='/contribute.html']:active { + color: #FFF084; + box-shadow: 0px 0px 5px 5px rgba(180,237,69,0.5); /* CSS3 = IE9 / Firefox 4+ */ +} +td.navigation-list a[href$='/contribute.html'], +td.navigation-list a[href$='/contribute.html']:visited { + background: rgb(230,240,163); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U2ZjBhMyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjIwJSIgc3RvcC1jb2xvcj0iI2QyZTYzOCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUxJSIgc3RvcC1jb2xvcj0iI2MzZDgyNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkYmYwNDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background: linear-gradient(to bottom, rgba(230,240,163,1) 0%,rgba(210,230,56,1) 20%,rgba(195,216,37,1) 51%,rgba(219,240,67,1) 100%); + background-repeat: repeat-x; + color: rgb(0, 80, 40) !important; +} +td.navigation-list a[href$='/contribute.html'].active, +td.navigation-list a[href$='/contribute.html'].active:visited { + background: rgb(207,237,61); + background: linear-gradient(to bottom, rgba(207,237,61,1) 0%,rgba(123,137,17,1) 27%,rgba(106,118,20,1) 61%,rgba(137,154,12,1) 100%); + color: #ffffff !important; + font-weight:bold; +} +td.navigation-list a[href$='/contribute.html']:hover { + background: rgb(217,239,165); + background: linear-gradient(to bottom, rgba(217,239,165,1) 0%,rgba(180,237,59,1) 20%,rgba(94,186,33,1) 51%,rgba(140,240,68,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d9efa5', endColorstr='#8cf044',GradientType=0 ); + -webkit-box-shadow: 0px 0px 3px 3px rgba(180, 237, 69, 0.4); /* Safari / Chrome (Webkit) */ + box-shadow: 0px 0px 3px 3px rgba(180, 237, 69, 0.4); /* CSS3 = IE9 / Firefox 4+ */ + -khtml-box-shadow: 0px 0px 3px 3px rgba(180, 237, 69, 0.4); /* KHTML */ + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} + +/* Table project-navigation */ +#project-navigation { + margin-left: auto; + margin-right: auto; +} + +/* href formatting for URLS in navigation */ +#project-navigation a { + display: inline-block; /* force hasLyout in IE */ + padding: 1px 8px; +} + +td.navigation-list a { + border: 1px solid transparent; + margin: 3px 0px 0px 2px; + line-height: 20px; + height: 20px; + -webkit-border-radius: 0.2em; /* Safari / Chrome (Webkit) */ + border-radius: 0.2em; + -khtml-border-radius: 0.2em; /* KHTML */ + -webkit-box-shadow: 2px 2px 4px 1px rgba(0, 0, 60, 0.3); /* Safari / Chrome (Webkit) */ + box-shadow: 2px 2px 4px 1px rgba(0, 0, 60, 0.3); /* CSS3 = IE9 / Firefox 4+ */ + -khtml-box-shadow: 2px 2px 4px 1px rgba(0, 0, 60, 0.3); /* KHTML */ + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} + +td.navigation-list a[href], +td.navigation-list a[href]:visited { + color: rgb(50, 210, 255); + white-space: nowrap; +} + +td.navigation-list a:hover { + background: rgb(187,214,227); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(187,214,227,1)), color-stop(50%,rgba(122,201,230,1)), color-stop(51%,rgba(91,192,229,1)), color-stop(100%,rgba(154,220,246,1))); + background: -webkit-linear-gradient(top, rgba(187,214,227,1) 0%,rgba(122,201,230,1) 50%,rgba(91,192,229,1) 51%,rgba(154,220,246,1) 100%); + background: -o-linear-gradient(top, rgba(187,214,227,1) 0%,rgba(122,201,230,1) 50%,rgba(91,192,229,1) 51%,rgba(154,220,246,1) 100%); + background: -ms-linear-gradient(top, rgba(187,214,227,1) 0%,rgba(122,201,230,1) 50%,rgba(91,192,229,1) 51%,rgba(154,220,246,1) 100%); + background: linear-gradient(to bottom, rgba(187,214,227,1) 0%,rgba(122,201,230,1) 50%,rgba(91,192,229,1) 51%,rgba(154,220,246,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bbd6e3', endColorstr='#9adcf6',GradientType=0 ); + height: 20px; + margin-top: 2px !important; + box-shadow: none; + border: 1px solid #26558B; + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ +} +td.navigation-list a[href]:hover { + color: black; +} + + /* tbody project-navigations */ +.project-navigations { + border: none; /* work around weird ns4 bug */ + font-size: 0.95em; + margin: 1.2em auto 0.2em auto; +} + +td.navigation-list { + margin: 0; + padding: 0 0 0px 0; +} \ No newline at end of file diff --git a/css/screenshots.css b/css/screenshots.css new file mode 100644 index 000000000..f8297c649 --- /dev/null +++ b/css/screenshots.css @@ -0,0 +1,5 @@ +div#pageContent { + background-image: url('/img/SmartTemplate4-watermark.png') !important; + background-position: 10px 10px; + background-repeat: no-repeat; +} \ No newline at end of file diff --git a/css/smarttemplate-pro.css b/css/smarttemplate-pro.css new file mode 100644 index 000000000..ee3e2ce92 --- /dev/null +++ b/css/smarttemplate-pro.css @@ -0,0 +1,76 @@ + +/*** SmartTemplate Premium styles */ +p.smartTemplateFreeUser, +p.smartTemplateProUser, +table.smartTemplateFreeUser, +table.smartTemplateProRenew, +.flashBox { + background: rgba(250,250,250,0.6); + border: 2px solid rgba(60,60,60,0.5); + border-radius: 0px; + box-shadow: 4px 4px 3px rgba(20,20,20,0.3); + margin-left: 30px; + margin-bottom: 1.3em; + max-width: 800px; + padding: 0.5em 0.8em; +} + +.smartTemplateProRenew p, +.smartTemplateFreeUser p { + font-size: 1.0em; + margin: 0.5em; +} +.smartTemplateProRenew em, +.smartTemplateFreeUser em { + font-weight: bold; +} + +.bargain, +.psa { + background: rgba(20,20,20,0.8) !important; + color: rgb(240,240,240) !important; + box-shadow: inset 4px 4px 3px rgba(20,20,20,0.3); + margin: 1em 0; + padding: 0.4em 1em; +} + +.bargain a[href], +.psa a[href], +.bargain a[href]:visited, +.psa a[href]:visited, +.bargain a[href] { + color: rgb(249, 113, 39) !important; + white-space: nowrap; +} + +.bargain .emphasis { + color: yellow; + font-weight: bold; +} + +@keyframes smartTemplatePulse { + 0% { transform: scale(1.25); opacity: 0.6; } + 50% { transform: scale(1); opacity: 1; } + 100% { transform: scale(1.25); opacity: 0.6; } +} + +#bargainStar { + display: block; + position: relative; + left: -100px; + top: -100px; + opacity: 100%; + animation: smartTemplatePulse 2.5s 1s ease-in-out infinite; + width: 180px; + z-index:1000; +} + +#bargainStar:hover { + animation-play-state: paused; + opacity: 1 !important; +} + +h3.shillBox { + border-radius: 0.2em !important; + margin: 4px 0 !important; +} diff --git a/css/source.css b/css/source.css new file mode 100644 index 000000000..bda74eaf0 --- /dev/null +++ b/css/source.css @@ -0,0 +1,7 @@ +/* pre inside
  • in
      used only in source.html */ +.checkList pre { + margin-left: -150px; + font-family: Consolas, 'Courier New', Geneva, sans-serif; + font-size: 0.8em !important; + font-weight: normal; +} \ No newline at end of file diff --git a/css/syntax.css b/css/syntax.css new file mode 100644 index 000000000..07216cc2b --- /dev/null +++ b/css/syntax.css @@ -0,0 +1,83 @@ + + + /* will be used in variables.html, variableTable.html and screenshots.html */ + #keywords code, + code { + background: rgb(230,240,163); + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U2ZjBhMyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2QyZTYzOCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUxJSIgc3RvcC1jb2xvcj0iI2MzZDgyNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkYmYwNDMiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); + background-image: linear-gradient(to bottom, rgba(230,240,163,1) 0%,rgba(210,230,56,1) 50%,rgba(195,216,37,1) 51%,rgba(219,240,67,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6f0a3', endColorstr='#dbf043',GradientType=0 ); + border-radius: 0.3em; /* CSS3 = IE9 / Firefox 4+ */ + border: 1px solid #bbb; + margin: 2px 4px; + display: inline-block; + font-family: Consolas, 'Courier New', Geneva, sans-serif; + font-size: 10pt !important; + padding: 2px 4px; + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ + } + + #keywords code.noWrite, + code.noWrite { + background: rgb(239,205,236); + background: linear-gradient(to bottom, rgba(239,205,236,1) 0%,rgba(223,145,218,1) 50%,rgba(215,133,209,1) 51%,rgba(230,152,224,1) 100%); + } + + + #keywords code.deferable, code.deferable { + background: linear-gradient(to bottom, rgba(252,234,187,0.8) 0%,rgba(252,205,77,0.8) 40%,rgba(248,181,0,0.8) 51%,rgba(251,223,147,0.8) 100%); + } + + /* sepcial class for less obtrusive code variable that doesn't stick out when we just mention the keyword */ + code.inline { + background-image: none !important; + background: rgba(250,250,250,0.2) !important; + border: 1px solid #606060; + font-style: normal !important; /* undo italics if in note */ + text-shadow: 1px 1px 3px rgba(250,250,250,0.5); + padding-top: 0; + padding-bottom: 0; + } + + code.html { + background: transparent; + border: none; + padding: 0 !important; + margin: 0 !important; + } + + span.codeLine { + font-family: consolas,"courier new",monospace; + } + + /* inline html code */ + code.html { + background-color: #f6f9f6; + background-image: none !important; + color: #001010; + padding: 0px 6px !important; + border-radius: 0; + } + pre.code { + background-color: #ffffff; + color: #303030; + font-family: Consolas, 'Courier New', Geneva, sans-serif; + font-size: 10pt !important; + padding: 1em; + box-shadow: inset 4px 4px 10px #000000; + } + + code.parameter { + background: linear-gradient(to bottom, rgba(40,40,40,0.8) 0%, rgba(40,40,40,0.5) 100%); + color: rgb(230,230,230) !important; + } + + key { + background-color: rgb(50,50,50,0.85); + border-radius: 3px !important; + color: white; + font-family: Consolas, 'Courier New', Geneva, sans-serif; + margin: 2px 0 !important; + padding: 0 2px !important; + } + diff --git a/css/templates.css b/css/templates.css new file mode 100644 index 000000000..c3232408c --- /dev/null +++ b/css/templates.css @@ -0,0 +1,27 @@ +div#pageContent { + background-image: url('/img/SmartTemplate4-watermark.png') !important; + background-position: 10px 10px; + background-repeat: no-repeat; +} + +.code_block code { + padding: 0px 3px; + margin-left: 1px; + margin-right: 1px; + font-size: 9pt !important; +} +.code_block { + border-top-left-radius: 0 !important; +} + +h5.templateBlock { + margin-left: 30px; + margin-bottom: -13px; + margin-top: 6px; + background-color: #eeeeee; + padding: 0.2em; + border-radius: 0.5em 0.5em 0 0; + border: 1px solid #A0A0A0; + max-width: 10em; + text-align: center; +} \ No newline at end of file diff --git a/css/variables.css b/css/variables.css new file mode 100644 index 000000000..1dcc4c03e --- /dev/null +++ b/css/variables.css @@ -0,0 +1,76 @@ +div#pageContent { + background-image: url('/img/SmartTemplate4-watermark.png') !important; + background-position: 10px 10px; + background-repeat: no-repeat; +} +/* table for vartable in variableTable.html */ +#keywords { + border: 1px solid #80A0A0; + border-collapse: collapse; + width: auto; + margin-left: 2em; + margin-right: auto; + margin-top: 5px; + margin-bottom: 5px; +} + +#keywords td, +#keywords th { + text-align: center; + vertical-align: middle; + border-bottom: 1px solid rgb(128,128,128); +} + +#keywords th { + margin-left: 1.5em; + margin-right: 1.5em; + margin-bottom: 2em; + font-weight: normal; + font-family: verdana, arial, sans-serif; +} +#keywords th > img { + vertical-align: bottom !important; + margin-right: 0.5em !important; + margin-left: 2em; + margin-bottom: 1px !important; +} +article { + display: block; + margin: 0.1em 0 0.1em 0; + padding: 0.3em; +} + +article ul { + list-style-type: none !important; +} +article ul li { + padding-bottom: 0.2em; +} + +article h4::before { + content: none !important; +} + +article h4 { + margin-left: 2.6em; + font-size: 0.9em; + box-shadow: none !important; + padding: 0.3em; +} + + +/* format for "not" in vartable.html */ +.no { + color: #ff0000; + font-size : 1em; + font-weight : bold; + text-shadow: 1px 1px 1px rgb(0,0,0); +} + +/* format for "yes" in vartable.html */ +.yes { + color : #7cfc00; + font-size : 1em; + font-weight : bold; + text-shadow: 1px 1px 1px rgb(0,0,0); +} \ No newline at end of file diff --git a/css/version.css b/css/version.css new file mode 100644 index 000000000..61297afa7 --- /dev/null +++ b/css/version.css @@ -0,0 +1,231 @@ +#newsSection { + color: white; + border-radius: 0.3rem; + padding: 0.05rem 1rem; + background-color: rgba(6, 6, 112, 0.9); + background-image: linear-gradient(55deg, rgba(6, 6, 112, 0.9) 0%, rgba(115, 3, 85, 0.9) 100%); + margin: 1rem auto 1.2rem 30px; + max-width: 60rem; +} +#newsSection a { + color: yellow; +} +#newsSection a:hover { + color: orange; + text-decoration:underline; +} + + + +.inline-donate { + display: inline-block; + vertical-align: middle; + margin-left: 2em; + margin-bottom: 0.5em; +} + + +h5.inList { + margin-left: 0em; + display: block; + background: transparent; +} + +h5.inList > .inListTitle { + margin-left: 0.5em; + background-color: rgb(247,251,199); + /* background: linear-gradient(to bottom, rgba(167,233,233,1) 0%,rgba(154,226,230,1) 37%,rgba(138,225,226,1) 65%,rgba(148,238,248,1) 100%); */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a7e9e9', endColorstr='#94eef8',GradientType=0 ); + border: 1px solid #bce !important; + border-collapse: collapse !important; + border-radius: 1px; /* CSS3 = IE9 / Firefox 4+ */ + box-shadow: 2px 2px 3px -1px rgba(0,0,0,0.7); /* CSS3 = IE9 / Firefox 4+ */ + display: inline-block; + padding: 0.15em 0.5em; + behavior: url(js/PIE.js); /* CSS3 Fix for IE 6-8 */ + margin-left: 1.2em; +} + +pre.inList { + white-space: pre-wrap; + font-size: small; + line-height: 1.7em; + background-color: rgba(255,255,255,0.9); + box-shadow: 4px 4px 3px rgba(60,60,60,0.3); + border-radius: 5px; + border: 1px solid gray; + padding: 0.5em; +} + +.inline-icon { + margin-right:1em; +} + +#version-history > li { + list-style-image: none; + list-style-type: none; +} + +#version-history li ul li { + padding-left: 1em; + list-style: square outside; +} + +#version-history li ul li::marker { + content: "✔️"; +} + +#version-history li > h4 { + cursor: default; + font-weight: normal; + font-size: 0.8em; + margin-left: 0; + margin-right: auto !important; + padding-bottom: 0; + padding-left: 20px; /* oder so */ +} +#version-history li > h4 > a { + cursor: pointer; + font-size: 12pt; + color: rgb(0, 30, 0); +} + +/* avoid unnecessary spacing addedin header */ +#version-history li > h4 a { + padding-left: 0; + padding-right: 0; +} + +#version-history li > h4:before { + content: url("/img/icon32x32.png"); + margin: 0em 8px -0.3em -0.2em; + float: left; + vertical-align: middle; + display: inline-block; +} + +/* .versionLink get the same font as the href - set in project.css */ +#version-history li > h4,.versionLink { + /* background: linear-gradient(to bottom, rgba(248,252,188,0.55) 0%,rgba(238,252,78,0.55) 50%,rgba(227,248,0,0.55) 51%,rgba(242,251,147,0.55) 100%); */ + background-color: #EFDD67; + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8cf8fcbc', endColorstr='#8cf2fb93',GradientType=0 ); + color: #000; +} +/* inline version number */ +.versionLink { + border-radius: 0.5em; /* CSS3 = IE9 / Firefox 4+ */ + -khtml-border-radius: 0.5em; /* KHTML */ + padding: 0.35em 0.5em; + text-shadow: #333 0px 0px 1px; +} + +#version-history li > h4:hover { + text-decoration: underline; + background: rgb(69,72,77); + background: linear-gradient(to bottom, rgba(69,72,77,1) 0%,rgba(0,0,0,1) 100%); +} + +#version-history li > h4:hover, +#version-history li > h4:hover a { + color: #acce60; +} + +/* appIcon wrapper below

      headline after
      tag */ +span.appWrapper { + margin-bottom: 0; + margin-top: -5px; + padding-left: 32px; + display: inline-block; +} +.thunderbird:before { + content: url("/brands/16/thunderbird.png"); /* IE8 or higher */ +} +.seamonkey:before { + content: url("/brands/16/seamonkey.png"); /* IE8 or higher */ +} +.postbox:before { + content: url("/brands/16/postbox.png"); /* IE8 or higher */ +} +/* settings bundle for all items */ +.thunderbird:before, +.seamonkey:before, +.postbox:before { + margin: 0.3em 0.2em 0.3em 8px; + vertical-align: middle; +} +.shilling { + color: rgb(190,0,0) !important; + font-weight: bold; + font-style: italic !important; +} +.shilling:hover { + text-shadow: 2px 2px 1px rgba(255,255,255,0.5) !important; +} +.shilling.box { + background-color: rgba(255,255,255,0.8); + border-color: rgba(90,90,90,0.4) !important; + border-width: 1px; + border-style: solid !important; + box-shadow: 3px 3px 3px 1px rgba(80, 80, 80, 0.2); + font-size: 0.9em; + margin-top: 8px !important; + padding-left: 0.5em; + max-width: 38em; +} +.youtube { + width:560px; + height:315px; +} +@media only screen and (max-width: 1230px) { + .youtube { + width:500px; + height:281px; + } +} + +@media only screen and (max-width: 1120px) { + .youtube { + margin-left: -56px; + } +} + +@media only screen and (max-width: 930px) { + .youtube { + margin-left: -81px; + } +} + +@media only screen and (max-width: 880px) { + #infoTabs { + float: none !important; + max-width: 880px !important; + } + .infoTab { + max-width: 80% !important; + margin-left: auto; + margin-right: auto; + } + .miniquote { + max-width: 80%; + margin-left: auto; + margin-right: auto; + } +} + +quote p { + margin-left: 32px; + font-size: 0.9em; + font-style: italic; + margin-block-start: 0.5em; + margin-block-end: 0.5em; +} + +span.premium, code.premium { + background-color: rgba(200,200,255,0.5); + color: rgb(10,60,90); + font-size: 0.9em; + font-family: consolas; + padding: 0.2em; + margin: 0 0.3em; + vertical-align: top; +} \ No newline at end of file diff --git a/css/webFonts.css b/css/webFonts.css new file mode 100644 index 000000000..186dd2431 --- /dev/null +++ b/css/webFonts.css @@ -0,0 +1,105 @@ +/*******************************************************************************************/ +/********************* font-faces for common use hosted in our project *********************/ +/**** all fonts under SIL Open Font License, Version 1.1 see http://scripts.sil.org/OFL ****/ +/*******************************************************************************************/ + +@font-face { + font-family: 'Architects Daughter'; + font-style: normal; + font-weight: 400; + src: local('Architects Daughter'), local('ArchitectsDaughter'), url(/fonts/architectsDaughter.woff) format('woff'); +} +/* Architects Daughter © 2010 by Kimberly Geswein */ + +@font-face { + font-family: 'Baumans'; + font-style: normal; + font-weight: 400; + src: local('Baumans'), local('Baumans-Regular'), url(/fonts/baumans.woff) format('woff'); +} +/* Baumans © 2011 by Cyreal */ + +@font-face { + font-family: 'Chewy'; + font-style: normal; + font-weight: 400; + src: local('Chewy'), url(/fonts/chewy.woff) format('woff'); +} +/* Chewy © 2011 by Brenda Gallo */ + +@font-face { + font-family: 'Handlee'; + font-style: normal; + font-weight: 400; + src: local('Handlee Regular'), local('Handlee-Regular'), url(/fonts/handlee.woff) format('woff'); +} +/* Handlee © 2011 by Admix Designs */ + +@font-face { + font-family: 'Indie Flower'; + font-style: normal; + font-weight: 400; + src: local('Indie Flower'), local('IndieFlower'), url(/fonts/indieFlower.woff) format('woff'); +} +/* Indie Flower © 2010 by Kimberly Geswein */ + +@font-face { + font-family: 'Loved by the King'; + font-style: normal; + font-weight: 400; + src: local('Loved by the King'), local('LovedbytheKing'), url(/fonts/lovedByTheKing.woff) format('woff'); +} +/* Loved by the King © 2006 by Kimberly Geswein */ + +@font-face { + font-family: 'Nothing You Could Do'; + font-style: normal; + font-weight: 400; + src: local('Nothing You Could Do'), local('NothingYouCouldDo'), url(/fonts/nothingYouCouldDo.woff) format('woff'); +} +/* Nothing You Could Do © 2010 by Brenda Gallo */ + +@font-face { + font-family: 'Nixie One'; + font-style: normal; + font-weight: 400; + src: local('Nixie One'), local('NixieOne-Regular'), url(/fonts/nixieOne.woff) format('woff'); +} +/* Nixie One © 2011 by Jovanny Lemonad */ + +@font-face { + font-family: 'Poiret One'; + font-style: normal; + font-weight: 400; + src: local('Poiret One'), local('PoiretOne-Regular'), url(/fonts/poiretOne.woff) format('woff'); +} +/* Poiret One © 2011 Denis Masharov */ + +@font-face { + font-family: 'Maven Pro'; + font-style: normal; + font-weight: 400; + src: local('Maven Pro Regular'), local('MavenProRegular'), url(/fonts/mavenPro.woff) format('woff'); +} +@font-face { + font-family: 'Maven Pro'; + font-style: normal; + font-weight: 500; + src: local('Maven Pro Medium'), local('MavenProMedium'), url(/fonts/mavenPro.woff) format('woff'); +} +@font-face { + font-family: 'Maven Pro'; + font-style: normal; + font-weight: 700; + src: local('Maven Pro Bold'), local('MavenProBold'), url(/fonts/mavenPro.woff) format('woff'); +} +@font-face { + font-family: 'Maven Pro'; + font-style: normal; + font-weight: 900; + src: local('Maven Pro Black'), local('MavenProBlack'), url(/fonts/mavenPro.woff) format('woff'); +} +/* Maven Pro Joe Prince */ + +/*******************************************************************************************/ +/*******************************************************************************************/ \ No newline at end of file diff --git a/css/window.css b/css/window.css new file mode 100644 index 000000000..0d73f15ae --- /dev/null +++ b/css/window.css @@ -0,0 +1,76 @@ +/* Document body formatting */ +body { + font-family: Calibri, Arial, sans-serif; + background-color: #ffffff; + margin: 0; + padding: 0; + overflow: hidden; + position: fixed; + top: 0; + left: 0; + bottom: 25px; /* same value as buttonbar height */ + right: 0; +} +/* content div which contains iframe */ +div.content { + background-image: url("/img/SmartTemplate4-watermark.png"); /* visible if iframe onload or can't displayed */ + background-position: center; + background-repeat: no-repeat; + overflow-x: hidden; + overflow-y: hidden; + height: 100%; + min-height: 100%; +} +/* iframe itself */ +iframe#myFrame { + width: 100%; + height: 100%; + border: 0; + border-style: none; +} +/* Errorphrase inside iframe tag if iframe cant be displayed */ +p#noiframes { + font-size: 1.05em; + font-weight: bold; + color: #E33; + text-shadow: #F0E0E0 0px 0px 1px; +} +/* our buttonbar div */ +div.buttonbar { + height: 25px; + position: fixed; + bottom: 0; + border-top: 1px solid #a9a9a9; + border-bottom: 1px solid #a9a9a9; + background: -moz-linear-gradient(top,rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%, rgba(245,247,249,0.7) 100%); + background: -webkit-gradient(linear,left top, left bottom, color-stop(0%,rgba(246,248,249,1)), color-stop(50%,rgba(229,235,238,0.85)), color-stop(51%,rgba(215,222,227,0.85)), color-stop(100%,rgba(245,247,249,0.7))); + background: -webkit-linear-gradient(top, rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + background: -o-linear-gradient(top,rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + background: -ms-linear-gradient(top,rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + background: linear-gradient(top,rgba(246,248,249,1) 0%,rgba(229,235,238,0.85) 50%,rgba(215,222,227,0.85) 51%,rgba(245,247,249,0.7) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f6f8f9", endColorstr="#f6f8f9",GradientType=0); +} +div.content,div.buttonbar { + padding: 0; + width: 100%; + vertical-align: middle; + text-align: center; +} +/* Common URL formatting */ +a[href] { + font-size: 1.05em; + text-decoration: none; + color: rgb(38,85,139); +} +a[href]:hover { + color: rgb(9,208,223); + text-shadow: 0 0 5px rgba(0,0,0,0.96); + background-color: rgba(50,50,50,0.3); + border-radius: 4px; +} +/* Icon Binding */ +#closeButton a:before { + content: url("/img/close.png"); + margin: 0em 0.2em 0em 0.8em; + vertical-align: middle; +} \ No newline at end of file diff --git a/encrypt.html b/encrypt.html new file mode 100644 index 000000000..d74165664 --- /dev/null +++ b/encrypt.html @@ -0,0 +1,429 @@ + + + + Smart Templates - Encrypt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + +
      + +

      SmartTemplates

      + + + + + + + + + + +
      + + + + + + +
      + +
      + + + + + + +

      Disclaimer: this form uses a cookie to store the encryption key on your hard drive. + If you use this page for encrypting a license key, you agree to the use of that cookie. +

      +

      Form Entry

      +
      +
      +
      + User Data
      + Prefix:
      + Email:
      + Expiry Date: +
      + +
      +
      +
      + Encryption Info
      + Max Digits: + Key Size: +
      + Encryption Key: +
      + Decryption Key: +
      + Modulo: +
      +
      +

      License Key

      +

      + +

      + + +
      + + + + + + + + + + + +
      + + + + + +
      + + + + + diff --git a/faq.html b/faq.html new file mode 100644 index 000000000..f708acc90 --- /dev/null +++ b/faq.html @@ -0,0 +1,421 @@ + + + + Smart Templates - FAQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +

      SmartTemplates

      + + + + + + + + + + +
      + + + + + + + + + +
        +
      • + +

        + Can I use an Alias Email for my License Key? +

        + +
      • + +
      • + +

        + Can i use SmartTemplates for a auto responder? +

        + +
      • + +
      • + +

        + Can i create templates or signatures per recipient? +

        + +
      • + +
      • + +

        + I don't have any space to type my reply or forwarded message? +

        + +
      • + +
      • + +

        + I am using %sig% in my template but it isn't showing up? +

        + +
      • + +
      • + +

        + Why does SmartTemplates only work in Inbox with IMAP Accounts? +

        + +
      • + +
      • + +

        + Why does my language not work properly in Prereleases & Prototypes? +

        + +
      • + +
      • + +

        + Why are some texts of SmartTemplates in English although I have a different language? +

        + +
      • + +
      • + +

        + Why are attached images not displayed on replies or forwarded messages? +

        + +
      • + +
      • + +

        + Why can't I import your example templates from the examples page? +

        + +
      • + + +
      • + + +

        + Is it possible to execute Script within the template? +

        + +
      • + + +
      + + + + + + + + +
      + + + + + +
      + + + + + diff --git a/flags/ad.png b/flags/ad.png new file mode 100644 index 000000000..131d8ce9d Binary files /dev/null and b/flags/ad.png differ diff --git a/flags/ae.png b/flags/ae.png new file mode 100644 index 000000000..e1a211de4 Binary files /dev/null and b/flags/ae.png differ diff --git a/flags/af.png b/flags/af.png new file mode 100644 index 000000000..bdfafa08f Binary files /dev/null and b/flags/af.png differ diff --git a/flags/ag.png b/flags/ag.png new file mode 100644 index 000000000..60dca0647 Binary files /dev/null and b/flags/ag.png differ diff --git a/flags/ai.png b/flags/ai.png new file mode 100644 index 000000000..fc4f7b347 Binary files /dev/null and b/flags/ai.png differ diff --git a/flags/al.png b/flags/al.png new file mode 100644 index 000000000..3acd4d16a Binary files /dev/null and b/flags/al.png differ diff --git a/flags/am.png b/flags/am.png new file mode 100644 index 000000000..479bff0d9 Binary files /dev/null and b/flags/am.png differ diff --git a/flags/an.png b/flags/an.png new file mode 100644 index 000000000..af653fcd1 Binary files /dev/null and b/flags/an.png differ diff --git a/flags/ao.png b/flags/ao.png new file mode 100644 index 000000000..195baeeb4 Binary files /dev/null and b/flags/ao.png differ diff --git a/flags/ap.png b/flags/ap.png new file mode 100644 index 000000000..e1322e929 Binary files /dev/null and b/flags/ap.png differ diff --git a/flags/aq.png b/flags/aq.png new file mode 100644 index 000000000..2855fb79c Binary files /dev/null and b/flags/aq.png differ diff --git a/flags/ar.png b/flags/ar.png new file mode 100644 index 000000000..c5bb4cdab Binary files /dev/null and b/flags/ar.png differ diff --git a/flags/as.png b/flags/as.png new file mode 100644 index 000000000..60bb5b8cb Binary files /dev/null and b/flags/as.png differ diff --git a/flags/at.png b/flags/at.png new file mode 100644 index 000000000..4c85e5484 Binary files /dev/null and b/flags/at.png differ diff --git a/flags/au.png b/flags/au.png new file mode 100644 index 000000000..6f95ed397 Binary files /dev/null and b/flags/au.png differ diff --git a/flags/aw.png b/flags/aw.png new file mode 100644 index 000000000..88dbd430c Binary files /dev/null and b/flags/aw.png differ diff --git a/flags/ax.png b/flags/ax.png new file mode 100644 index 000000000..21c6d11e9 Binary files /dev/null and b/flags/ax.png differ diff --git a/flags/az.png b/flags/az.png new file mode 100644 index 000000000..a3f8219ee Binary files /dev/null and b/flags/az.png differ diff --git a/flags/ba.png b/flags/ba.png new file mode 100644 index 000000000..6891a0270 Binary files /dev/null and b/flags/ba.png differ diff --git a/flags/bb.png b/flags/bb.png new file mode 100644 index 000000000..32cd7f007 Binary files /dev/null and b/flags/bb.png differ diff --git a/flags/bd.png b/flags/bd.png new file mode 100644 index 000000000..33efcde7b Binary files /dev/null and b/flags/bd.png differ diff --git a/flags/be.png b/flags/be.png new file mode 100644 index 000000000..8686a0bfa Binary files /dev/null and b/flags/be.png differ diff --git a/flags/bf.png b/flags/bf.png new file mode 100644 index 000000000..f41f018e0 Binary files /dev/null and b/flags/bf.png differ diff --git a/flags/bg.png b/flags/bg.png new file mode 100644 index 000000000..ee03b6643 Binary files /dev/null and b/flags/bg.png differ diff --git a/flags/bh.png b/flags/bh.png new file mode 100644 index 000000000..a28ed4915 Binary files /dev/null and b/flags/bh.png differ diff --git a/flags/bi.png b/flags/bi.png new file mode 100644 index 000000000..dcdae802e Binary files /dev/null and b/flags/bi.png differ diff --git a/flags/bj.png b/flags/bj.png new file mode 100644 index 000000000..7b589f815 Binary files /dev/null and b/flags/bj.png differ diff --git a/flags/bm.png b/flags/bm.png new file mode 100644 index 000000000..5f7c1822f Binary files /dev/null and b/flags/bm.png differ diff --git a/flags/bn.png b/flags/bn.png new file mode 100644 index 000000000..bdd3d4c56 Binary files /dev/null and b/flags/bn.png differ diff --git a/flags/bo.png b/flags/bo.png new file mode 100644 index 000000000..949b1d3ee Binary files /dev/null and b/flags/bo.png differ diff --git a/flags/br.png b/flags/br.png new file mode 100644 index 000000000..6d731bd15 Binary files /dev/null and b/flags/br.png differ diff --git a/flags/bs.png b/flags/bs.png new file mode 100644 index 000000000..fecfa77df Binary files /dev/null and b/flags/bs.png differ diff --git a/flags/bt.png b/flags/bt.png new file mode 100644 index 000000000..e4a87de6a Binary files /dev/null and b/flags/bt.png differ diff --git a/flags/bv.png b/flags/bv.png new file mode 100644 index 000000000..e88972f49 Binary files /dev/null and b/flags/bv.png differ diff --git a/flags/bw.png b/flags/bw.png new file mode 100644 index 000000000..64b6f0641 Binary files /dev/null and b/flags/bw.png differ diff --git a/flags/by.png b/flags/by.png new file mode 100644 index 000000000..99ef2c26e Binary files /dev/null and b/flags/by.png differ diff --git a/flags/bz.png b/flags/bz.png new file mode 100644 index 000000000..16af4face Binary files /dev/null and b/flags/bz.png differ diff --git a/flags/ca.png b/flags/ca.png new file mode 100644 index 000000000..21f61659d Binary files /dev/null and b/flags/ca.png differ diff --git a/flags/cc.png b/flags/cc.png new file mode 100644 index 000000000..60af1de97 Binary files /dev/null and b/flags/cc.png differ diff --git a/flags/cd.png b/flags/cd.png new file mode 100644 index 000000000..86bbd9c06 Binary files /dev/null and b/flags/cd.png differ diff --git a/flags/cf.png b/flags/cf.png new file mode 100644 index 000000000..2c0577cca Binary files /dev/null and b/flags/cf.png differ diff --git a/flags/cg.png b/flags/cg.png new file mode 100644 index 000000000..ba5dbcb8a Binary files /dev/null and b/flags/cg.png differ diff --git a/flags/ch.png b/flags/ch.png new file mode 100644 index 000000000..09926e7f6 Binary files /dev/null and b/flags/ch.png differ diff --git a/flags/ci.png b/flags/ci.png new file mode 100644 index 000000000..0d65d54e5 Binary files /dev/null and b/flags/ci.png differ diff --git a/flags/ck.png b/flags/ck.png new file mode 100644 index 000000000..fbea3d066 Binary files /dev/null and b/flags/ck.png differ diff --git a/flags/cl.png b/flags/cl.png new file mode 100644 index 000000000..3c34982ab Binary files /dev/null and b/flags/cl.png differ diff --git a/flags/cm.png b/flags/cm.png new file mode 100644 index 000000000..3767c3138 Binary files /dev/null and b/flags/cm.png differ diff --git a/flags/cn.png b/flags/cn.png new file mode 100644 index 000000000..05970077e Binary files /dev/null and b/flags/cn.png differ diff --git a/flags/co.png b/flags/co.png new file mode 100644 index 000000000..e98dff839 Binary files /dev/null and b/flags/co.png differ diff --git a/flags/cr.png b/flags/cr.png new file mode 100644 index 000000000..13af28193 Binary files /dev/null and b/flags/cr.png differ diff --git a/flags/cu.png b/flags/cu.png new file mode 100644 index 000000000..f7697e0f6 Binary files /dev/null and b/flags/cu.png differ diff --git a/flags/cv.png b/flags/cv.png new file mode 100644 index 000000000..a5ca63019 Binary files /dev/null and b/flags/cv.png differ diff --git a/flags/cw.png b/flags/cw.png new file mode 100644 index 000000000..9ed007ac1 Binary files /dev/null and b/flags/cw.png differ diff --git a/flags/cx.png b/flags/cx.png new file mode 100644 index 000000000..94bd7f3dd Binary files /dev/null and b/flags/cx.png differ diff --git a/flags/cy.png b/flags/cy.png new file mode 100644 index 000000000..8c5be3898 Binary files /dev/null and b/flags/cy.png differ diff --git a/flags/cz.png b/flags/cz.png new file mode 100644 index 000000000..fe9f14e1f Binary files /dev/null and b/flags/cz.png differ diff --git a/flags/de.png b/flags/de.png new file mode 100644 index 000000000..5e3fcac91 Binary files /dev/null and b/flags/de.png differ diff --git a/flags/dj.png b/flags/dj.png new file mode 100644 index 000000000..f92b586c7 Binary files /dev/null and b/flags/dj.png differ diff --git a/flags/dk.png b/flags/dk.png new file mode 100644 index 000000000..fd7c99324 Binary files /dev/null and b/flags/dk.png differ diff --git a/flags/dm.png b/flags/dm.png new file mode 100644 index 000000000..fd3f0e6fc Binary files /dev/null and b/flags/dm.png differ diff --git a/flags/do.png b/flags/do.png new file mode 100644 index 000000000..71488c974 Binary files /dev/null and b/flags/do.png differ diff --git a/flags/dz.png b/flags/dz.png new file mode 100644 index 000000000..1e9b9d52b Binary files /dev/null and b/flags/dz.png differ diff --git a/flags/ec.png b/flags/ec.png new file mode 100644 index 000000000..7b22a93a3 Binary files /dev/null and b/flags/ec.png differ diff --git a/flags/ee.png b/flags/ee.png new file mode 100644 index 000000000..0a8418d85 Binary files /dev/null and b/flags/ee.png differ diff --git a/flags/eg.png b/flags/eg.png new file mode 100644 index 000000000..efc008ba3 Binary files /dev/null and b/flags/eg.png differ diff --git a/flags/eh.png b/flags/eh.png new file mode 100644 index 000000000..d2ff4c752 Binary files /dev/null and b/flags/eh.png differ diff --git a/flags/en-US.png b/flags/en-US.png new file mode 100644 index 000000000..fb4e1b790 Binary files /dev/null and b/flags/en-US.png differ diff --git a/flags/er.png b/flags/er.png new file mode 100644 index 000000000..35561fc02 Binary files /dev/null and b/flags/er.png differ diff --git a/flags/es.png b/flags/es.png new file mode 100644 index 000000000..56ccc3971 Binary files /dev/null and b/flags/es.png differ diff --git a/flags/et.png b/flags/et.png new file mode 100644 index 000000000..894e33fc9 Binary files /dev/null and b/flags/et.png differ diff --git a/flags/eu.png b/flags/eu.png new file mode 100644 index 000000000..64b1ff671 Binary files /dev/null and b/flags/eu.png differ diff --git a/flags/fi.png b/flags/fi.png new file mode 100644 index 000000000..4f4e51e2a Binary files /dev/null and b/flags/fi.png differ diff --git a/flags/fj.png b/flags/fj.png new file mode 100644 index 000000000..5bb33e14b Binary files /dev/null and b/flags/fj.png differ diff --git a/flags/fk.png b/flags/fk.png new file mode 100644 index 000000000..df2a1dc8f Binary files /dev/null and b/flags/fk.png differ diff --git a/flags/fm.png b/flags/fm.png new file mode 100644 index 000000000..99705810f Binary files /dev/null and b/flags/fm.png differ diff --git a/flags/fo.png b/flags/fo.png new file mode 100644 index 000000000..ff61a7609 Binary files /dev/null and b/flags/fo.png differ diff --git a/flags/fr.png b/flags/fr.png new file mode 100644 index 000000000..da75c3b0d Binary files /dev/null and b/flags/fr.png differ diff --git a/flags/ga.png b/flags/ga.png new file mode 100644 index 000000000..afca21d48 Binary files /dev/null and b/flags/ga.png differ diff --git a/flags/gb.png b/flags/gb.png new file mode 100644 index 000000000..f937a3283 Binary files /dev/null and b/flags/gb.png differ diff --git a/flags/gd.png b/flags/gd.png new file mode 100644 index 000000000..2ace226d7 Binary files /dev/null and b/flags/gd.png differ diff --git a/flags/ge.png b/flags/ge.png new file mode 100644 index 000000000..af9176c5e Binary files /dev/null and b/flags/ge.png differ diff --git a/flags/gf.png b/flags/gf.png new file mode 100644 index 000000000..665b2c49e Binary files /dev/null and b/flags/gf.png differ diff --git a/flags/gg.png b/flags/gg.png new file mode 100644 index 000000000..0cc824d6d Binary files /dev/null and b/flags/gg.png differ diff --git a/flags/gh.png b/flags/gh.png new file mode 100644 index 000000000..e56902160 Binary files /dev/null and b/flags/gh.png differ diff --git a/flags/gi.png b/flags/gi.png new file mode 100644 index 000000000..4da970ae5 Binary files /dev/null and b/flags/gi.png differ diff --git a/flags/gl.png b/flags/gl.png new file mode 100644 index 000000000..fa083fbf0 Binary files /dev/null and b/flags/gl.png differ diff --git a/flags/gm.png b/flags/gm.png new file mode 100644 index 000000000..566a5fedc Binary files /dev/null and b/flags/gm.png differ diff --git a/flags/gn.png b/flags/gn.png new file mode 100644 index 000000000..48c7ba707 Binary files /dev/null and b/flags/gn.png differ diff --git a/flags/gp.png b/flags/gp.png new file mode 100644 index 000000000..da75c3b0d Binary files /dev/null and b/flags/gp.png differ diff --git a/flags/gq.png b/flags/gq.png new file mode 100644 index 000000000..8d468ee00 Binary files /dev/null and b/flags/gq.png differ diff --git a/flags/gr.png b/flags/gr.png new file mode 100644 index 000000000..d35d8644a Binary files /dev/null and b/flags/gr.png differ diff --git a/flags/gs.png b/flags/gs.png new file mode 100644 index 000000000..4991c8dfd Binary files /dev/null and b/flags/gs.png differ diff --git a/flags/gt.png b/flags/gt.png new file mode 100644 index 000000000..01c1a2359 Binary files /dev/null and b/flags/gt.png differ diff --git a/flags/gu.png b/flags/gu.png new file mode 100644 index 000000000..35536db6c Binary files /dev/null and b/flags/gu.png differ diff --git a/flags/gw.png b/flags/gw.png new file mode 100644 index 000000000..41945d17f Binary files /dev/null and b/flags/gw.png differ diff --git a/flags/gy.png b/flags/gy.png new file mode 100644 index 000000000..d21ad9328 Binary files /dev/null and b/flags/gy.png differ diff --git a/flags/hk.png b/flags/hk.png new file mode 100644 index 000000000..66d649f06 Binary files /dev/null and b/flags/hk.png differ diff --git a/flags/hm.png b/flags/hm.png new file mode 100644 index 000000000..9b8b17595 Binary files /dev/null and b/flags/hm.png differ diff --git a/flags/hn.png b/flags/hn.png new file mode 100644 index 000000000..80bb58e9b Binary files /dev/null and b/flags/hn.png differ diff --git a/flags/hr.png b/flags/hr.png new file mode 100644 index 000000000..705bc3ee5 Binary files /dev/null and b/flags/hr.png differ diff --git a/flags/ht.png b/flags/ht.png new file mode 100644 index 000000000..6e1be2860 Binary files /dev/null and b/flags/ht.png differ diff --git a/flags/hu.png b/flags/hu.png new file mode 100644 index 000000000..20aa5c6f7 Binary files /dev/null and b/flags/hu.png differ diff --git a/flags/id.png b/flags/id.png new file mode 100644 index 000000000..5a334b449 Binary files /dev/null and b/flags/id.png differ diff --git a/flags/il.png b/flags/il.png new file mode 100644 index 000000000..81e449d72 Binary files /dev/null and b/flags/il.png differ diff --git a/flags/im.png b/flags/im.png new file mode 100644 index 000000000..43e971cea Binary files /dev/null and b/flags/im.png differ diff --git a/flags/in.png b/flags/in.png new file mode 100644 index 000000000..3b7ccaef9 Binary files /dev/null and b/flags/in.png differ diff --git a/flags/io.png b/flags/io.png new file mode 100644 index 000000000..00f511dd4 Binary files /dev/null and b/flags/io.png differ diff --git a/flags/iq.png b/flags/iq.png new file mode 100644 index 000000000..4be44f6d8 Binary files /dev/null and b/flags/iq.png differ diff --git a/flags/ir.png b/flags/ir.png new file mode 100644 index 000000000..97c063d59 Binary files /dev/null and b/flags/ir.png differ diff --git a/flags/is.png b/flags/is.png new file mode 100644 index 000000000..14540c934 Binary files /dev/null and b/flags/is.png differ diff --git a/flags/it.png b/flags/it.png new file mode 100644 index 000000000..8c757f8dd Binary files /dev/null and b/flags/it.png differ diff --git a/flags/je.png b/flags/je.png new file mode 100644 index 000000000..6ecfb6d93 Binary files /dev/null and b/flags/je.png differ diff --git a/flags/jm.png b/flags/jm.png new file mode 100644 index 000000000..06874fd0b Binary files /dev/null and b/flags/jm.png differ diff --git a/flags/jo.png b/flags/jo.png new file mode 100644 index 000000000..8f4594587 Binary files /dev/null and b/flags/jo.png differ diff --git a/flags/jp.png b/flags/jp.png new file mode 100644 index 000000000..e27586f5d Binary files /dev/null and b/flags/jp.png differ diff --git a/flags/ke.png b/flags/ke.png new file mode 100644 index 000000000..6bc08cc7e Binary files /dev/null and b/flags/ke.png differ diff --git a/flags/kg.png b/flags/kg.png new file mode 100644 index 000000000..302f42b8a Binary files /dev/null and b/flags/kg.png differ diff --git a/flags/kh.png b/flags/kh.png new file mode 100644 index 000000000..4abce54f6 Binary files /dev/null and b/flags/kh.png differ diff --git a/flags/ki.png b/flags/ki.png new file mode 100644 index 000000000..93f8d74e1 Binary files /dev/null and b/flags/ki.png differ diff --git a/flags/km.png b/flags/km.png new file mode 100644 index 000000000..b971b8576 Binary files /dev/null and b/flags/km.png differ diff --git a/flags/kn.png b/flags/kn.png new file mode 100644 index 000000000..73d072f65 Binary files /dev/null and b/flags/kn.png differ diff --git a/flags/kp.png b/flags/kp.png new file mode 100644 index 000000000..79d331b00 Binary files /dev/null and b/flags/kp.png differ diff --git a/flags/kr.png b/flags/kr.png new file mode 100644 index 000000000..2c4fad239 Binary files /dev/null and b/flags/kr.png differ diff --git a/flags/kw.png b/flags/kw.png new file mode 100644 index 000000000..151f86012 Binary files /dev/null and b/flags/kw.png differ diff --git a/flags/ky.png b/flags/ky.png new file mode 100644 index 000000000..a0cbb8b98 Binary files /dev/null and b/flags/ky.png differ diff --git a/flags/kz.png b/flags/kz.png new file mode 100644 index 000000000..b3abfba48 Binary files /dev/null and b/flags/kz.png differ diff --git a/flags/la.png b/flags/la.png new file mode 100644 index 000000000..7bb2c0b3b Binary files /dev/null and b/flags/la.png differ diff --git a/flags/lb.png b/flags/lb.png new file mode 100644 index 000000000..1b3b26a46 Binary files /dev/null and b/flags/lb.png differ diff --git a/flags/lc.png b/flags/lc.png new file mode 100644 index 000000000..0080e15c1 Binary files /dev/null and b/flags/lc.png differ diff --git a/flags/li.png b/flags/li.png new file mode 100644 index 000000000..f86497f41 Binary files /dev/null and b/flags/li.png differ diff --git a/flags/lk.png b/flags/lk.png new file mode 100644 index 000000000..c18735e59 Binary files /dev/null and b/flags/lk.png differ diff --git a/flags/lr.png b/flags/lr.png new file mode 100644 index 000000000..89a348528 Binary files /dev/null and b/flags/lr.png differ diff --git a/flags/ls.png b/flags/ls.png new file mode 100644 index 000000000..ec0be95a3 Binary files /dev/null and b/flags/ls.png differ diff --git a/flags/lt.png b/flags/lt.png new file mode 100644 index 000000000..3f3580299 Binary files /dev/null and b/flags/lt.png differ diff --git a/flags/lu.png b/flags/lu.png new file mode 100644 index 000000000..947791e7b Binary files /dev/null and b/flags/lu.png differ diff --git a/flags/lv.png b/flags/lv.png new file mode 100644 index 000000000..929786deb Binary files /dev/null and b/flags/lv.png differ diff --git a/flags/ly.png b/flags/ly.png new file mode 100644 index 000000000..286e48f83 Binary files /dev/null and b/flags/ly.png differ diff --git a/flags/ma.png b/flags/ma.png new file mode 100644 index 000000000..3a147e0ee Binary files /dev/null and b/flags/ma.png differ diff --git a/flags/mc.png b/flags/mc.png new file mode 100644 index 000000000..97ae8084d Binary files /dev/null and b/flags/mc.png differ diff --git a/flags/md.png b/flags/md.png new file mode 100644 index 000000000..51a1d6197 Binary files /dev/null and b/flags/md.png differ diff --git a/flags/me.png b/flags/me.png new file mode 100644 index 000000000..f35b648b3 Binary files /dev/null and b/flags/me.png differ diff --git a/flags/mf.png b/flags/mf.png new file mode 100644 index 000000000..da75c3b0d Binary files /dev/null and b/flags/mf.png differ diff --git a/flags/mg.png b/flags/mg.png new file mode 100644 index 000000000..06151d949 Binary files /dev/null and b/flags/mg.png differ diff --git a/flags/mh.png b/flags/mh.png new file mode 100644 index 000000000..826456edc Binary files /dev/null and b/flags/mh.png differ diff --git a/flags/mk.png b/flags/mk.png new file mode 100644 index 000000000..2c3a0dbe5 Binary files /dev/null and b/flags/mk.png differ diff --git a/flags/ml.png b/flags/ml.png new file mode 100644 index 000000000..de757fbc3 Binary files /dev/null and b/flags/ml.png differ diff --git a/flags/mm.png b/flags/mm.png new file mode 100644 index 000000000..5499d4f06 Binary files /dev/null and b/flags/mm.png differ diff --git a/flags/mn.png b/flags/mn.png new file mode 100644 index 000000000..dff86512e Binary files /dev/null and b/flags/mn.png differ diff --git a/flags/mo.png b/flags/mo.png new file mode 100644 index 000000000..bf04572cf Binary files /dev/null and b/flags/mo.png differ diff --git a/flags/mp.png b/flags/mp.png new file mode 100644 index 000000000..782c8fa8c Binary files /dev/null and b/flags/mp.png differ diff --git a/flags/mq.png b/flags/mq.png new file mode 100644 index 000000000..da75c3b0d Binary files /dev/null and b/flags/mq.png differ diff --git a/flags/mr.png b/flags/mr.png new file mode 100644 index 000000000..8b5ed82d1 Binary files /dev/null and b/flags/mr.png differ diff --git a/flags/ms.png b/flags/ms.png new file mode 100644 index 000000000..fd03c2478 Binary files /dev/null and b/flags/ms.png differ diff --git a/flags/mt.png b/flags/mt.png new file mode 100644 index 000000000..a265ba16f Binary files /dev/null and b/flags/mt.png differ diff --git a/flags/mu.png b/flags/mu.png new file mode 100644 index 000000000..78cd6b8b3 Binary files /dev/null and b/flags/mu.png differ diff --git a/flags/mv.png b/flags/mv.png new file mode 100644 index 000000000..678767958 Binary files /dev/null and b/flags/mv.png differ diff --git a/flags/mw.png b/flags/mw.png new file mode 100644 index 000000000..a997b4191 Binary files /dev/null and b/flags/mw.png differ diff --git a/flags/mx.png b/flags/mx.png new file mode 100644 index 000000000..70d0765ce Binary files /dev/null and b/flags/mx.png differ diff --git a/flags/my.png b/flags/my.png new file mode 100644 index 000000000..845f7e38d Binary files /dev/null and b/flags/my.png differ diff --git a/flags/mz.png b/flags/mz.png new file mode 100644 index 000000000..d79cce5a2 Binary files /dev/null and b/flags/mz.png differ diff --git a/flags/na.png b/flags/na.png new file mode 100644 index 000000000..206dda72a Binary files /dev/null and b/flags/na.png differ diff --git a/flags/nc.png b/flags/nc.png new file mode 100644 index 000000000..da75c3b0d Binary files /dev/null and b/flags/nc.png differ diff --git a/flags/ne.png b/flags/ne.png new file mode 100644 index 000000000..49d96ecb1 Binary files /dev/null and b/flags/ne.png differ diff --git a/flags/nf.png b/flags/nf.png new file mode 100644 index 000000000..9266438cf Binary files /dev/null and b/flags/nf.png differ diff --git a/flags/ng.png b/flags/ng.png new file mode 100644 index 000000000..ea19ef012 Binary files /dev/null and b/flags/ng.png differ diff --git a/flags/ni.png b/flags/ni.png new file mode 100644 index 000000000..9314d71ae Binary files /dev/null and b/flags/ni.png differ diff --git a/flags/nl.png b/flags/nl.png new file mode 100644 index 000000000..9ed007ac1 Binary files /dev/null and b/flags/nl.png differ diff --git a/flags/no.png b/flags/no.png new file mode 100644 index 000000000..e88972f49 Binary files /dev/null and b/flags/no.png differ diff --git a/flags/np.png b/flags/np.png new file mode 100644 index 000000000..c81412f12 Binary files /dev/null and b/flags/np.png differ diff --git a/flags/nr.png b/flags/nr.png new file mode 100644 index 000000000..a66f6b532 Binary files /dev/null and b/flags/nr.png differ diff --git a/flags/nu.png b/flags/nu.png new file mode 100644 index 000000000..7024f4b76 Binary files /dev/null and b/flags/nu.png differ diff --git a/flags/nz.png b/flags/nz.png new file mode 100644 index 000000000..1f32fbcae Binary files /dev/null and b/flags/nz.png differ diff --git a/flags/oc.png b/flags/oc.png new file mode 100644 index 000000000..b7ed199ff Binary files /dev/null and b/flags/oc.png differ diff --git a/flags/om.png b/flags/om.png new file mode 100644 index 000000000..10fc32a46 Binary files /dev/null and b/flags/om.png differ diff --git a/flags/pa.png b/flags/pa.png new file mode 100644 index 000000000..b73f773f9 Binary files /dev/null and b/flags/pa.png differ diff --git a/flags/pe.png b/flags/pe.png new file mode 100644 index 000000000..cca57be4b Binary files /dev/null and b/flags/pe.png differ diff --git a/flags/pf.png b/flags/pf.png new file mode 100644 index 000000000..b5a3c188d Binary files /dev/null and b/flags/pf.png differ diff --git a/flags/pg.png b/flags/pg.png new file mode 100644 index 000000000..b1e5fbbd1 Binary files /dev/null and b/flags/pg.png differ diff --git a/flags/ph.png b/flags/ph.png new file mode 100644 index 000000000..6f5fa83ae Binary files /dev/null and b/flags/ph.png differ diff --git a/flags/pk.png b/flags/pk.png new file mode 100644 index 000000000..95952f5bc Binary files /dev/null and b/flags/pk.png differ diff --git a/flags/pl.png b/flags/pl.png new file mode 100644 index 000000000..69b181732 Binary files /dev/null and b/flags/pl.png differ diff --git a/flags/pm.png b/flags/pm.png new file mode 100644 index 000000000..da75c3b0d Binary files /dev/null and b/flags/pm.png differ diff --git a/flags/pn.png b/flags/pn.png new file mode 100644 index 000000000..c3c39b0f6 Binary files /dev/null and b/flags/pn.png differ diff --git a/flags/pr.png b/flags/pr.png new file mode 100644 index 000000000..9a8e6c077 Binary files /dev/null and b/flags/pr.png differ diff --git a/flags/ps.png b/flags/ps.png new file mode 100644 index 000000000..6cd1f551c Binary files /dev/null and b/flags/ps.png differ diff --git a/flags/pt.png b/flags/pt.png new file mode 100644 index 000000000..f8d907fbe Binary files /dev/null and b/flags/pt.png differ diff --git a/flags/pw.png b/flags/pw.png new file mode 100644 index 000000000..586abf0ef Binary files /dev/null and b/flags/pw.png differ diff --git a/flags/py.png b/flags/py.png new file mode 100644 index 000000000..22f8d7ade Binary files /dev/null and b/flags/py.png differ diff --git a/flags/qa.png b/flags/qa.png new file mode 100644 index 000000000..dc2d5c165 Binary files /dev/null and b/flags/qa.png differ diff --git a/flags/re.png b/flags/re.png new file mode 100644 index 000000000..586105a22 Binary files /dev/null and b/flags/re.png differ diff --git a/flags/ro.png b/flags/ro.png new file mode 100644 index 000000000..76a40e1b0 Binary files /dev/null and b/flags/ro.png differ diff --git a/flags/rs.png b/flags/rs.png new file mode 100644 index 000000000..8e2dda8d8 Binary files /dev/null and b/flags/rs.png differ diff --git a/flags/ru.png b/flags/ru.png new file mode 100644 index 000000000..faa612dd2 Binary files /dev/null and b/flags/ru.png differ diff --git a/flags/rw.png b/flags/rw.png new file mode 100644 index 000000000..d4aa02f51 Binary files /dev/null and b/flags/rw.png differ diff --git a/flags/sa.png b/flags/sa.png new file mode 100644 index 000000000..eed5d8dea Binary files /dev/null and b/flags/sa.png differ diff --git a/flags/sb.png b/flags/sb.png new file mode 100644 index 000000000..3cb28ce03 Binary files /dev/null and b/flags/sb.png differ diff --git a/flags/sc.png b/flags/sc.png new file mode 100644 index 000000000..61adc87eb Binary files /dev/null and b/flags/sc.png differ diff --git a/flags/sd.png b/flags/sd.png new file mode 100644 index 000000000..8a7d5e65b Binary files /dev/null and b/flags/sd.png differ diff --git a/flags/sg.png b/flags/sg.png new file mode 100644 index 000000000..6e04f4e83 Binary files /dev/null and b/flags/sg.png differ diff --git a/flags/sh.png b/flags/sh.png new file mode 100644 index 000000000..537157bf3 Binary files /dev/null and b/flags/sh.png differ diff --git a/flags/si.png b/flags/si.png new file mode 100644 index 000000000..c6f0f35d4 Binary files /dev/null and b/flags/si.png differ diff --git a/flags/sj.png b/flags/sj.png new file mode 100644 index 000000000..e88972f49 Binary files /dev/null and b/flags/sj.png differ diff --git a/flags/sk.png b/flags/sk.png new file mode 100644 index 000000000..4b0763d1f Binary files /dev/null and b/flags/sk.png differ diff --git a/flags/sl.png b/flags/sl.png new file mode 100644 index 000000000..e573ec51c Binary files /dev/null and b/flags/sl.png differ diff --git a/flags/sm.png b/flags/sm.png new file mode 100644 index 000000000..8df309b2a Binary files /dev/null and b/flags/sm.png differ diff --git a/flags/sn.png b/flags/sn.png new file mode 100644 index 000000000..acffc5855 Binary files /dev/null and b/flags/sn.png differ diff --git a/flags/so.png b/flags/so.png new file mode 100644 index 000000000..718fe32dc Binary files /dev/null and b/flags/so.png differ diff --git a/flags/sr.png b/flags/sr.png new file mode 100644 index 000000000..421805ba3 Binary files /dev/null and b/flags/sr.png differ diff --git a/flags/st.png b/flags/st.png new file mode 100644 index 000000000..ebe24ecf0 Binary files /dev/null and b/flags/st.png differ diff --git a/flags/sv.png b/flags/sv.png new file mode 100644 index 000000000..28f1731fc Binary files /dev/null and b/flags/sv.png differ diff --git a/flags/sy.png b/flags/sy.png new file mode 100644 index 000000000..0bbfcc54a Binary files /dev/null and b/flags/sy.png differ diff --git a/flags/sz.png b/flags/sz.png new file mode 100644 index 000000000..bca10e08a Binary files /dev/null and b/flags/sz.png differ diff --git a/flags/tc.png b/flags/tc.png new file mode 100644 index 000000000..1e18a1cb9 Binary files /dev/null and b/flags/tc.png differ diff --git a/flags/td.png b/flags/td.png new file mode 100644 index 000000000..76a40e1b0 Binary files /dev/null and b/flags/td.png differ diff --git a/flags/tf.png b/flags/tf.png new file mode 100644 index 000000000..da75c3b0d Binary files /dev/null and b/flags/tf.png differ diff --git a/flags/tg.png b/flags/tg.png new file mode 100644 index 000000000..8f24db434 Binary files /dev/null and b/flags/tg.png differ diff --git a/flags/th.png b/flags/th.png new file mode 100644 index 000000000..bc371bf8e Binary files /dev/null and b/flags/th.png differ diff --git a/flags/tj.png b/flags/tj.png new file mode 100644 index 000000000..de45401be Binary files /dev/null and b/flags/tj.png differ diff --git a/flags/tk.png b/flags/tk.png new file mode 100644 index 000000000..1f32fbcae Binary files /dev/null and b/flags/tk.png differ diff --git a/flags/tl.png b/flags/tl.png new file mode 100644 index 000000000..25db0d65d Binary files /dev/null and b/flags/tl.png differ diff --git a/flags/tm.png b/flags/tm.png new file mode 100644 index 000000000..36c50eca3 Binary files /dev/null and b/flags/tm.png differ diff --git a/flags/tn.png b/flags/tn.png new file mode 100644 index 000000000..3e75961bf Binary files /dev/null and b/flags/tn.png differ diff --git a/flags/to.png b/flags/to.png new file mode 100644 index 000000000..422729d3f Binary files /dev/null and b/flags/to.png differ diff --git a/flags/tr.png b/flags/tr.png new file mode 100644 index 000000000..d6a971a79 Binary files /dev/null and b/flags/tr.png differ diff --git a/flags/tt.png b/flags/tt.png new file mode 100644 index 000000000..803d14100 Binary files /dev/null and b/flags/tt.png differ diff --git a/flags/tv.png b/flags/tv.png new file mode 100644 index 000000000..2d00ec16b Binary files /dev/null and b/flags/tv.png differ diff --git a/flags/tw.png b/flags/tw.png new file mode 100644 index 000000000..98d77e795 Binary files /dev/null and b/flags/tw.png differ diff --git a/flags/tz.png b/flags/tz.png new file mode 100644 index 000000000..396125f80 Binary files /dev/null and b/flags/tz.png differ diff --git a/flags/ua.png b/flags/ua.png new file mode 100644 index 000000000..877932957 Binary files /dev/null and b/flags/ua.png differ diff --git a/flags/ug.png b/flags/ug.png new file mode 100644 index 000000000..fa067f9c0 Binary files /dev/null and b/flags/ug.png differ diff --git a/flags/um.png b/flags/um.png new file mode 100644 index 000000000..fb4e1b790 Binary files /dev/null and b/flags/um.png differ diff --git a/flags/us.png b/flags/us.png new file mode 100644 index 000000000..fb4e1b790 Binary files /dev/null and b/flags/us.png differ diff --git a/flags/uy.png b/flags/uy.png new file mode 100644 index 000000000..36d2a592d Binary files /dev/null and b/flags/uy.png differ diff --git a/flags/uz.png b/flags/uz.png new file mode 100644 index 000000000..c2caeee8b Binary files /dev/null and b/flags/uz.png differ diff --git a/flags/va.png b/flags/va.png new file mode 100644 index 000000000..36c02568b Binary files /dev/null and b/flags/va.png differ diff --git a/flags/vc.png b/flags/vc.png new file mode 100644 index 000000000..a844ac247 Binary files /dev/null and b/flags/vc.png differ diff --git a/flags/ve.png b/flags/ve.png new file mode 100644 index 000000000..c52df17f8 Binary files /dev/null and b/flags/ve.png differ diff --git a/flags/vg.png b/flags/vg.png new file mode 100644 index 000000000..7c36646a6 Binary files /dev/null and b/flags/vg.png differ diff --git a/flags/vi.png b/flags/vi.png new file mode 100644 index 000000000..bc70d36c7 Binary files /dev/null and b/flags/vi.png differ diff --git a/flags/vn.png b/flags/vn.png new file mode 100644 index 000000000..e1db86288 Binary files /dev/null and b/flags/vn.png differ diff --git a/flags/vu.png b/flags/vu.png new file mode 100644 index 000000000..9549af7fd Binary files /dev/null and b/flags/vu.png differ diff --git a/flags/wedene.png b/flags/wedene.png new file mode 100644 index 000000000..5bb86ad1d Binary files /dev/null and b/flags/wedene.png differ diff --git a/flags/wf.png b/flags/wf.png new file mode 100644 index 000000000..da75c3b0d Binary files /dev/null and b/flags/wf.png differ diff --git a/flags/ws.png b/flags/ws.png new file mode 100644 index 000000000..6d961e484 Binary files /dev/null and b/flags/ws.png differ diff --git a/flags/ye.png b/flags/ye.png new file mode 100644 index 000000000..91a1c9363 Binary files /dev/null and b/flags/ye.png differ diff --git a/flags/yt.png b/flags/yt.png new file mode 100644 index 000000000..da75c3b0d Binary files /dev/null and b/flags/yt.png differ diff --git a/flags/za.png b/flags/za.png new file mode 100644 index 000000000..c3aa5ab0a Binary files /dev/null and b/flags/za.png differ diff --git a/flags/zm.png b/flags/zm.png new file mode 100644 index 000000000..6a1a41ab0 Binary files /dev/null and b/flags/zm.png differ diff --git a/flags/zw.png b/flags/zw.png new file mode 100644 index 000000000..75d547f01 Binary files /dev/null and b/flags/zw.png differ diff --git a/fonts/architectsDaughter.woff b/fonts/architectsDaughter.woff new file mode 100644 index 000000000..f43296644 Binary files /dev/null and b/fonts/architectsDaughter.woff differ diff --git a/fonts/baumans.woff b/fonts/baumans.woff new file mode 100644 index 000000000..f55d1a288 Binary files /dev/null and b/fonts/baumans.woff differ diff --git a/fonts/chewy.woff b/fonts/chewy.woff new file mode 100644 index 000000000..ac2c43ed1 Binary files /dev/null and b/fonts/chewy.woff differ diff --git a/fonts/handlee.woff b/fonts/handlee.woff new file mode 100644 index 000000000..5b63c8859 Binary files /dev/null and b/fonts/handlee.woff differ diff --git a/fonts/indieFlower.woff b/fonts/indieFlower.woff new file mode 100644 index 000000000..4e1ce678a Binary files /dev/null and b/fonts/indieFlower.woff differ diff --git a/fonts/lovedByTheKing.woff b/fonts/lovedByTheKing.woff new file mode 100644 index 000000000..a9de41fc5 Binary files /dev/null and b/fonts/lovedByTheKing.woff differ diff --git a/fonts/mavenPro.woff b/fonts/mavenPro.woff new file mode 100644 index 000000000..0b7485d4c Binary files /dev/null and b/fonts/mavenPro.woff differ diff --git a/fonts/nixieOne.woff b/fonts/nixieOne.woff new file mode 100644 index 000000000..ede574773 Binary files /dev/null and b/fonts/nixieOne.woff differ diff --git a/fonts/nothingYouCouldDo.woff b/fonts/nothingYouCouldDo.woff new file mode 100644 index 000000000..afa5292fc Binary files /dev/null and b/fonts/nothingYouCouldDo.woff differ diff --git a/fonts/poiretOne.woff b/fonts/poiretOne.woff new file mode 100644 index 000000000..ba60acd36 Binary files /dev/null and b/fonts/poiretOne.woff differ diff --git a/gdpr.html b/gdpr.html new file mode 100644 index 000000000..36a9cc517 --- /dev/null +++ b/gdpr.html @@ -0,0 +1,300 @@ + + + + Smart Templates - GDPR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +

      SmartTemplates

      + + + + + + + + + + +
      + + + + + + + + + + + + + + + + + +

      Who is quickfolders.org? See below for Impressum

      + + + +

      + quickfolders.org and the web shop selling its licenses (fastspring.com) + is GDPR compliant.

      +

      Use of the Add-ons

      +

      While you are using our Add-ons we do not transmit or track any of your information. + License validation is done locally on your computer without transmitting or storage of + your Email or the license key.

      +

      Ordering licenses

      +

      + The web shop at fastspring.com needs certain data in order to process your payment information. + FastSpring is fully GDPR compliant +

      +

      + The license key generation script also requires an email address that needs to be configured in + a standard Identity within Thunderbird in order to work. +

      +

      + Upon order fulfillment, fastspring will send an order summary email to us with the following information: +

      +
        +
      • Order Creation date
      • +
      • Currency
      • +
      • Order Amount and applied Taxes
      • +
      • Order location (usually country)
      • +
      • IP Address
      • +
      • Referrer String (usually the feature you used or your old license key in case of renewals)
      • +
      • Product Type, quantity and price
      • +
      • Your license key including the readable email address (see above)
      • +
      • Customer Name
      • +
      • Address (if entered by the Customer)
      • +
      • Payment type. (e.g. bank draft, Paypal etc.) - as we never process the payments ourselves, + this is just a general string and does not contain any detail such as card numbers / paypal identity + etc. If we need this information we have to request it from the web shop.
      • +
      +

      We keep this Email for support purposes only. It is never shared with third parties and + not stored anywhere externally. It is backed up on an inhouse NAS Server with all my email. + On demand, we will delete this email. +

      +

      + We use this email to for the following purposes only: +

        +
      • + To help with fulfillment - sometimes the license key does not get delivered or is deleted as Junk mail. + in this case we use it to re-issue the license key. +
      • +
      • + To generate a new license - should you need to change your standard identity email address + we can generate a new license. Having the original license with the expiry date helps in this + case. +
      • +
      • + License expiry reminders. We usually do special promotional offers around the time when we release + new versions of the Add-on you use. In this case we contact you once if your license was recently + expired in order to alert you to the special offer so you can save money while renewing your license. +
      • +
      + This is all. According to GDPR you can request the deletion of this email at any time, but we do not advise + you to this unless you intend to not use the Add-on anymore. +

      + + + + + + + +

      Impressum

      + + + +
      +

      quickfolders.org is a service by song craft studios.

      +

      SmartTemplates is an open source project that is financed via annual licenses. It is based in Ireland and established as business see detail below.

      +

      Website owned by Song Craft Studio +

      Company Name: Song Craft Studio - CRO 632168

      +

      Address: Garrafrauns, Dunmore, County Galway, H54 KW29, Republic of Ireland.

      +

      Contact - Phone: +353 87 2042571

      +

      Email - for contact email see below (this link is protected against harvesting using JavaScript, please enable JS to read it)

      +

      Business id no: CRO 632168

      +
      + + + + + + + + + +
      + + + + + +
      + + + + + diff --git a/img/Pigs_Free_Model.jpg b/img/Pigs_Free_Model.jpg new file mode 100644 index 000000000..a54a8ff16 Binary files /dev/null and b/img/Pigs_Free_Model.jpg differ diff --git a/img/QF-Icon24.png b/img/QF-Icon24.png new file mode 100644 index 000000000..0d165365f Binary files /dev/null and b/img/QF-Icon24.png differ diff --git a/img/QuickFilters_24.png b/img/QuickFilters_24.png new file mode 100644 index 000000000..0b2d585d1 Binary files /dev/null and b/img/QuickFilters_24.png differ diff --git a/img/QuickFilters_32.png b/img/QuickFilters_32.png new file mode 100644 index 000000000..58361bceb Binary files /dev/null and b/img/QuickFilters_32.png differ diff --git a/img/QuickPasswords-24x24.png b/img/QuickPasswords-24x24.png new file mode 100644 index 000000000..1e67990ec Binary files /dev/null and b/img/QuickPasswords-24x24.png differ diff --git a/img/S+A-Penny-2012.jpg b/img/S+A-Penny-2012.jpg new file mode 100644 index 000000000..4fc1015d6 Binary files /dev/null and b/img/S+A-Penny-2012.jpg differ diff --git a/img/Save-Template.png b/img/Save-Template.png new file mode 100644 index 000000000..c750394ab Binary files /dev/null and b/img/Save-Template.png differ diff --git a/img/SmartTemplate4-watermark.png b/img/SmartTemplate4-watermark.png new file mode 100644 index 000000000..f7656a3d2 Binary files /dev/null and b/img/SmartTemplate4-watermark.png differ diff --git a/img/about-splash-screen.png b/img/about-splash-screen.png new file mode 100644 index 000000000..e2a4e78fe Binary files /dev/null and b/img/about-splash-screen.png differ diff --git a/img/accounts-toolbar.png b/img/accounts-toolbar.png new file mode 100644 index 000000000..81d60927d Binary files /dev/null and b/img/accounts-toolbar.png differ diff --git a/img/apple-touch-icon-precomposed-114x114.png b/img/apple-touch-icon-precomposed-114x114.png new file mode 100644 index 000000000..e82ea688e Binary files /dev/null and b/img/apple-touch-icon-precomposed-114x114.png differ diff --git a/img/apple-touch-icon-precomposed-144x144.png b/img/apple-touch-icon-precomposed-144x144.png new file mode 100644 index 000000000..8fbd52c31 Binary files /dev/null and b/img/apple-touch-icon-precomposed-144x144.png differ diff --git a/img/apple-touch-icon-precomposed-57x57.png b/img/apple-touch-icon-precomposed-57x57.png new file mode 100644 index 000000000..56146dac0 Binary files /dev/null and b/img/apple-touch-icon-precomposed-57x57.png differ diff --git a/img/apple-touch-icon-precomposed-72x72.png b/img/apple-touch-icon-precomposed-72x72.png new file mode 100644 index 000000000..d1e3f8e45 Binary files /dev/null and b/img/apple-touch-icon-precomposed-72x72.png differ diff --git a/img/ascii-art.png b/img/ascii-art.png new file mode 100644 index 000000000..90c3720ba Binary files /dev/null and b/img/ascii-art.png differ diff --git a/img/attention.png b/img/attention.png new file mode 100644 index 000000000..9b0460ed4 Binary files /dev/null and b/img/attention.png differ diff --git a/img/back.png b/img/back.png new file mode 100644 index 000000000..fc1355503 Binary files /dev/null and b/img/back.png differ diff --git a/img/bargain-15-halloween.png b/img/bargain-15-halloween.png new file mode 100644 index 000000000..e152e36af Binary files /dev/null and b/img/bargain-15-halloween.png differ diff --git a/img/bargain-20-standard-easter.png b/img/bargain-20-standard-easter.png new file mode 100644 index 000000000..50bf986c5 Binary files /dev/null and b/img/bargain-20-standard-easter.png differ diff --git a/img/bargain-20-std-2020.png b/img/bargain-20-std-2020.png new file mode 100644 index 000000000..b61b7455a Binary files /dev/null and b/img/bargain-20-std-2020.png differ diff --git a/img/bargain-20-xmas-std.png b/img/bargain-20-xmas-std.png new file mode 100644 index 000000000..7c8d03886 Binary files /dev/null and b/img/bargain-20-xmas-std.png differ diff --git a/img/bargain-2021-aug.png b/img/bargain-2021-aug.png new file mode 100644 index 000000000..65526d0dc Binary files /dev/null and b/img/bargain-2021-aug.png differ diff --git a/img/bargain-2021-june.png b/img/bargain-2021-june.png new file mode 100644 index 000000000..d2807d621 Binary files /dev/null and b/img/bargain-2021-june.png differ diff --git a/img/bargain-2021-may.png b/img/bargain-2021-may.png new file mode 100644 index 000000000..69106ec49 Binary files /dev/null and b/img/bargain-2021-may.png differ diff --git a/img/bargain-2021-upgrade-aug.png b/img/bargain-2021-upgrade-aug.png new file mode 100644 index 000000000..4091d9fd4 Binary files /dev/null and b/img/bargain-2021-upgrade-aug.png differ diff --git a/img/bargain-2021-upgrade-june.png b/img/bargain-2021-upgrade-june.png new file mode 100644 index 000000000..0dc7e5092 Binary files /dev/null and b/img/bargain-2021-upgrade-june.png differ diff --git a/img/bargain-2021-upgrade-may.png b/img/bargain-2021-upgrade-may.png new file mode 100644 index 000000000..f6e80f68c Binary files /dev/null and b/img/bargain-2021-upgrade-may.png differ diff --git a/img/bargain-2022-upgrade-halloween.png b/img/bargain-2022-upgrade-halloween.png new file mode 100644 index 000000000..32fe5be04 Binary files /dev/null and b/img/bargain-2022-upgrade-halloween.png differ diff --git a/img/bargain-2022-upgrade-hw.png b/img/bargain-2022-upgrade-hw.png new file mode 100644 index 000000000..32fe5be04 Binary files /dev/null and b/img/bargain-2022-upgrade-hw.png differ diff --git a/img/bargain-2022-upgrade-sept.png b/img/bargain-2022-upgrade-sept.png new file mode 100644 index 000000000..1ee0ffa2f Binary files /dev/null and b/img/bargain-2022-upgrade-sept.png differ diff --git a/img/bargain-25-intro.png b/img/bargain-25-intro.png new file mode 100644 index 000000000..1d6d3c36e Binary files /dev/null and b/img/bargain-25-intro.png differ diff --git a/img/bargain-30-halloween.png b/img/bargain-30-halloween.png new file mode 100644 index 000000000..248c9faa7 Binary files /dev/null and b/img/bargain-30-halloween.png differ diff --git a/img/bargain-30-tb68.png b/img/bargain-30-tb68.png new file mode 100644 index 000000000..255f042d8 Binary files /dev/null and b/img/bargain-30-tb68.png differ diff --git a/img/bargain-30-upgrade-feb.png b/img/bargain-30-upgrade-feb.png new file mode 100644 index 000000000..8f922e444 Binary files /dev/null and b/img/bargain-30-upgrade-feb.png differ diff --git a/img/bargain-33-bf.png b/img/bargain-33-bf.png new file mode 100644 index 000000000..c0c926520 Binary files /dev/null and b/img/bargain-33-bf.png differ diff --git a/img/bargain-33-easter.png b/img/bargain-33-easter.png new file mode 100644 index 000000000..264865f90 Binary files /dev/null and b/img/bargain-33-easter.png differ diff --git a/img/bargain-33-stationery.png b/img/bargain-33-stationery.png new file mode 100644 index 000000000..9a3322a10 Binary files /dev/null and b/img/bargain-33-stationery.png differ diff --git a/img/bargain-33-tb115.png b/img/bargain-33-tb115.png new file mode 100644 index 000000000..5a293d4ee Binary files /dev/null and b/img/bargain-33-tb115.png differ diff --git a/img/bargain-40-newyear.png b/img/bargain-40-newyear.png new file mode 100644 index 000000000..7b90d1847 Binary files /dev/null and b/img/bargain-40-newyear.png differ diff --git a/img/bargain-40-xmas.png b/img/bargain-40-xmas.png new file mode 100644 index 000000000..030ac710c Binary files /dev/null and b/img/bargain-40-xmas.png differ diff --git a/img/bargain-NY-2019.png b/img/bargain-NY-2019.png new file mode 100644 index 000000000..1eda16460 Binary files /dev/null and b/img/bargain-NY-2019.png differ diff --git a/img/bargain-blackfriday-30.png b/img/bargain-blackfriday-30.png new file mode 100644 index 000000000..759af7ece Binary files /dev/null and b/img/bargain-blackfriday-30.png differ diff --git a/img/bargain-blackfriday-50.png b/img/bargain-blackfriday-50.png new file mode 100644 index 000000000..788ba1429 Binary files /dev/null and b/img/bargain-blackfriday-50.png differ diff --git a/img/bargain-blackfriday-std-20.png b/img/bargain-blackfriday-std-20.png new file mode 100644 index 000000000..2721864ed Binary files /dev/null and b/img/bargain-blackfriday-std-20.png differ diff --git a/img/bargain-early-fall-std.png b/img/bargain-early-fall-std.png new file mode 100644 index 000000000..6b968f184 Binary files /dev/null and b/img/bargain-early-fall-std.png differ diff --git a/img/bargain-early-fall.png b/img/bargain-early-fall.png new file mode 100644 index 000000000..67d697f4a Binary files /dev/null and b/img/bargain-early-fall.png differ diff --git a/img/bargain-halloween-2021.png b/img/bargain-halloween-2021.png new file mode 100644 index 000000000..087338ddc Binary files /dev/null and b/img/bargain-halloween-2021.png differ diff --git a/img/bargain-halloween-pro.png b/img/bargain-halloween-pro.png new file mode 100644 index 000000000..bff852f71 Binary files /dev/null and b/img/bargain-halloween-pro.png differ diff --git a/img/bargain-july-4th.png b/img/bargain-july-4th.png new file mode 100644 index 000000000..7a9878e8d Binary files /dev/null and b/img/bargain-july-4th.png differ diff --git a/img/bargain-june-10th.png b/img/bargain-june-10th.png new file mode 100644 index 000000000..3e2093bb4 Binary files /dev/null and b/img/bargain-june-10th.png differ diff --git a/img/bargain-new-year-2021.png b/img/bargain-new-year-2021.png new file mode 100644 index 000000000..90ec52d91 Binary files /dev/null and b/img/bargain-new-year-2021.png differ diff --git a/img/bargain-ny-2022-renew.png b/img/bargain-ny-2022-renew.png new file mode 100644 index 000000000..a7431a390 Binary files /dev/null and b/img/bargain-ny-2022-renew.png differ diff --git a/img/bargain-ny-2022-upgrade.png b/img/bargain-ny-2022-upgrade.png new file mode 100644 index 000000000..d6cc65624 Binary files /dev/null and b/img/bargain-ny-2022-upgrade.png differ diff --git a/img/bargain-ny-50-pro.png b/img/bargain-ny-50-pro.png new file mode 100644 index 000000000..35be486c8 Binary files /dev/null and b/img/bargain-ny-50-pro.png differ diff --git a/img/bargain-rat-25.png b/img/bargain-rat-25.png new file mode 100644 index 000000000..f09e11c12 Binary files /dev/null and b/img/bargain-rat-25.png differ diff --git a/img/bargain-renew-2021.png b/img/bargain-renew-2021.png new file mode 100644 index 000000000..f1baadd29 Binary files /dev/null and b/img/bargain-renew-2021.png differ diff --git a/img/bargain-renew-25.png b/img/bargain-renew-25.png new file mode 100644 index 000000000..d1adc5ff8 Binary files /dev/null and b/img/bargain-renew-25.png differ diff --git a/img/bargain-renew-aug.png b/img/bargain-renew-aug.png new file mode 100644 index 000000000..2ea42b266 Binary files /dev/null and b/img/bargain-renew-aug.png differ diff --git a/img/bargain-renew-bf.png b/img/bargain-renew-bf.png new file mode 100644 index 000000000..b48c1af54 Binary files /dev/null and b/img/bargain-renew-bf.png differ diff --git a/img/bargain-renew-may.png b/img/bargain-renew-may.png new file mode 100644 index 000000000..02ea667dc Binary files /dev/null and b/img/bargain-renew-may.png differ diff --git a/img/bargain-renew-tb102.png b/img/bargain-renew-tb102.png new file mode 100644 index 000000000..ba984640e Binary files /dev/null and b/img/bargain-renew-tb102.png differ diff --git a/img/bargain-renew-tb105.png b/img/bargain-renew-tb105.png new file mode 100644 index 000000000..40a1e5bdd Binary files /dev/null and b/img/bargain-renew-tb105.png differ diff --git a/img/bargain-spring-2022-renew.png b/img/bargain-spring-2022-renew.png new file mode 100644 index 000000000..c18945987 Binary files /dev/null and b/img/bargain-spring-2022-renew.png differ diff --git a/img/bargain-spring-2022-upgrade.png b/img/bargain-spring-2022-upgrade.png new file mode 100644 index 000000000..60e8ad390 Binary files /dev/null and b/img/bargain-spring-2022-upgrade.png differ diff --git a/img/bargain-spring-2023.png b/img/bargain-spring-2023.png new file mode 100644 index 000000000..2746b595f Binary files /dev/null and b/img/bargain-spring-2023.png differ diff --git a/img/bargain-spring-50-pro.png b/img/bargain-spring-50-pro.png new file mode 100644 index 000000000..528ee1466 Binary files /dev/null and b/img/bargain-spring-50-pro.png differ diff --git a/img/bargain-standard-33.png b/img/bargain-standard-33.png new file mode 100644 index 000000000..d15edc22d Binary files /dev/null and b/img/bargain-standard-33.png differ diff --git a/img/bargain-standard-66.png b/img/bargain-standard-66.png new file mode 100644 index 000000000..60a9b67ba Binary files /dev/null and b/img/bargain-standard-66.png differ diff --git a/img/bargain-std-15.png b/img/bargain-std-15.png new file mode 100644 index 000000000..2e74b7228 Binary files /dev/null and b/img/bargain-std-15.png differ diff --git a/img/bargain-std-20-July4th.png b/img/bargain-std-20-July4th.png new file mode 100644 index 000000000..f3912d34f Binary files /dev/null and b/img/bargain-std-20-July4th.png differ diff --git a/img/bargain-std-20-June10.png b/img/bargain-std-20-June10.png new file mode 100644 index 000000000..a3d5d6023 Binary files /dev/null and b/img/bargain-std-20-June10.png differ diff --git a/img/bargain-tb102.png b/img/bargain-tb102.png new file mode 100644 index 000000000..64a424fc5 Binary files /dev/null and b/img/bargain-tb102.png differ diff --git a/img/bargain-until-june-25th.png b/img/bargain-until-june-25th.png new file mode 100644 index 000000000..405989223 Binary files /dev/null and b/img/bargain-until-june-25th.png differ diff --git a/img/bargain-upg-bf.png b/img/bargain-upg-bf.png new file mode 100644 index 000000000..dad9cd58a Binary files /dev/null and b/img/bargain-upg-bf.png differ diff --git a/img/bargain-upgrade-halloween21.png b/img/bargain-upgrade-halloween21.png new file mode 100644 index 000000000..ae38dd872 Binary files /dev/null and b/img/bargain-upgrade-halloween21.png differ diff --git a/img/bargain-upgrade-std.png b/img/bargain-upgrade-std.png new file mode 100644 index 000000000..c5fb12d9d Binary files /dev/null and b/img/bargain-upgrade-std.png differ diff --git a/img/bargain-upgrade-tb102.png b/img/bargain-upgrade-tb102.png new file mode 100644 index 000000000..3945304a7 Binary files /dev/null and b/img/bargain-upgrade-tb102.png differ diff --git a/img/bargain-upgrade-tb115.png b/img/bargain-upgrade-tb115.png new file mode 100644 index 000000000..f2f8c4942 Binary files /dev/null and b/img/bargain-upgrade-tb115.png differ diff --git a/img/bargain-xmas-2021-renew.png b/img/bargain-xmas-2021-renew.png new file mode 100644 index 000000000..1f7323731 Binary files /dev/null and b/img/bargain-xmas-2021-renew.png differ diff --git a/img/bargain-xmas-2021-upgrade.png b/img/bargain-xmas-2021-upgrade.png new file mode 100644 index 000000000..51284fe96 Binary files /dev/null and b/img/bargain-xmas-2021-upgrade.png differ diff --git a/img/bargain-xmas-2021.png b/img/bargain-xmas-2021.png new file mode 100644 index 000000000..d4b9c22d8 Binary files /dev/null and b/img/bargain-xmas-2021.png differ diff --git a/img/bargain-xmas-30.png b/img/bargain-xmas-30.png new file mode 100644 index 000000000..30d9d7261 Binary files /dev/null and b/img/bargain-xmas-30.png differ diff --git a/img/btn_donate_LG.gif b/img/btn_donate_LG.gif new file mode 100644 index 000000000..43cef691e Binary files /dev/null and b/img/btn_donate_LG.gif differ diff --git a/img/callout_black.gif b/img/callout_black.gif new file mode 100644 index 000000000..fe4b8d1d1 Binary files /dev/null and b/img/callout_black.gif differ diff --git a/img/cardbook-enable-de.png b/img/cardbook-enable-de.png new file mode 100644 index 000000000..c553184be Binary files /dev/null and b/img/cardbook-enable-de.png differ diff --git a/img/cardbook-enable.png b/img/cardbook-enable.png new file mode 100644 index 000000000..f60375972 Binary files /dev/null and b/img/cardbook-enable.png differ diff --git a/img/change-template-composer.png b/img/change-template-composer.png new file mode 100644 index 000000000..17cdb14e1 Binary files /dev/null and b/img/change-template-composer.png differ diff --git a/img/change-template-customize.png b/img/change-template-customize.png new file mode 100644 index 000000000..746898460 Binary files /dev/null and b/img/change-template-customize.png differ diff --git a/img/change-template-menu-de.png b/img/change-template-menu-de.png new file mode 100644 index 000000000..50caac4b3 Binary files /dev/null and b/img/change-template-menu-de.png differ diff --git a/img/change-template-menu.png b/img/change-template-menu.png new file mode 100644 index 000000000..e00e98f3e Binary files /dev/null and b/img/change-template-menu.png differ diff --git a/img/change-template-select.png b/img/change-template-select.png new file mode 100644 index 000000000..752b12edc Binary files /dev/null and b/img/change-template-select.png differ diff --git a/img/checkMark.png b/img/checkMark.png new file mode 100644 index 000000000..967154eeb Binary files /dev/null and b/img/checkMark.png differ diff --git a/img/checkbox.png b/img/checkbox.png new file mode 100644 index 000000000..f49ec094f Binary files /dev/null and b/img/checkbox.png differ diff --git a/img/chevron.png b/img/chevron.png new file mode 100644 index 000000000..a27e31941 Binary files /dev/null and b/img/chevron.png differ diff --git a/img/clean-up-button.png b/img/clean-up-button.png new file mode 100644 index 000000000..6cf32b5b6 Binary files /dev/null and b/img/clean-up-button.png differ diff --git a/img/close.png b/img/close.png new file mode 100644 index 000000000..20d6f5ea0 Binary files /dev/null and b/img/close.png differ diff --git a/img/collapseDown.png b/img/collapseDown.png new file mode 100644 index 000000000..d86254085 Binary files /dev/null and b/img/collapseDown.png differ diff --git a/img/collapseUp.png b/img/collapseUp.png new file mode 100644 index 000000000..cf936261b Binary files /dev/null and b/img/collapseUp.png differ diff --git a/img/cross-circle.png b/img/cross-circle.png new file mode 100644 index 000000000..5cdf6eaec Binary files /dev/null and b/img/cross-circle.png differ diff --git a/img/css-menuitems.png b/img/css-menuitems.png new file mode 100644 index 000000000..4de0ef335 Binary files /dev/null and b/img/css-menuitems.png differ diff --git a/img/debug-rightclick.png b/img/debug-rightclick.png new file mode 100644 index 000000000..62204270a Binary files /dev/null and b/img/debug-rightclick.png differ diff --git a/img/default-last-template.png b/img/default-last-template.png new file mode 100644 index 000000000..2950552c2 Binary files /dev/null and b/img/default-last-template.png differ diff --git a/img/default-template.png b/img/default-template.png new file mode 100644 index 000000000..a5f064670 Binary files /dev/null and b/img/default-template.png differ diff --git a/img/deferred-vars-example.png b/img/deferred-vars-example.png new file mode 100644 index 000000000..9b2a66ede Binary files /dev/null and b/img/deferred-vars-example.png differ diff --git a/img/disable-stationery.png b/img/disable-stationery.png new file mode 100644 index 000000000..7de3f574a Binary files /dev/null and b/img/disable-stationery.png differ diff --git a/img/donatemini-100.png b/img/donatemini-100.png new file mode 100644 index 000000000..5f11aabee Binary files /dev/null and b/img/donatemini-100.png differ diff --git a/img/down.png b/img/down.png new file mode 100644 index 000000000..8d5209b66 Binary files /dev/null and b/img/down.png differ diff --git a/img/edit-size-down.png b/img/edit-size-down.png new file mode 100644 index 000000000..66e5e5f5d Binary files /dev/null and b/img/edit-size-down.png differ diff --git a/img/edit-size-up.png b/img/edit-size-up.png new file mode 100644 index 000000000..ac7160ee3 Binary files /dev/null and b/img/edit-size-up.png differ diff --git a/img/enable-st.png b/img/enable-st.png new file mode 100644 index 000000000..9fdbc1c5b Binary files /dev/null and b/img/enable-st.png differ diff --git a/img/esr78/downgrade.png b/img/esr78/downgrade.png new file mode 100644 index 000000000..a44e7466e Binary files /dev/null and b/img/esr78/downgrade.png differ diff --git a/img/esr78/logo-pro.png b/img/esr78/logo-pro.png new file mode 100644 index 000000000..87213d164 Binary files /dev/null and b/img/esr78/logo-pro.png differ diff --git a/img/esr78/logo.png b/img/esr78/logo.png new file mode 100644 index 000000000..cb6f57f0a Binary files /dev/null and b/img/esr78/logo.png differ diff --git a/img/extension-from-valid-date.png b/img/extension-from-valid-date.png new file mode 100644 index 000000000..4c6eba875 Binary files /dev/null and b/img/extension-from-valid-date.png differ diff --git a/img/favicon.ico b/img/favicon.ico new file mode 100644 index 000000000..fab280f63 Binary files /dev/null and b/img/favicon.ico differ diff --git a/img/file-templates-help-1.png b/img/file-templates-help-1.png new file mode 100644 index 000000000..92d6330e0 Binary files /dev/null and b/img/file-templates-help-1.png differ diff --git a/img/file-templates-help.png b/img/file-templates-help.png new file mode 100644 index 000000000..de907f128 Binary files /dev/null and b/img/file-templates-help.png differ diff --git a/img/file-templates-reply-configure.png b/img/file-templates-reply-configure.png new file mode 100644 index 000000000..ca90de038 Binary files /dev/null and b/img/file-templates-reply-configure.png differ diff --git a/img/file-templates-reply-dropdown.png b/img/file-templates-reply-dropdown.png new file mode 100644 index 000000000..b0c6163ce Binary files /dev/null and b/img/file-templates-reply-dropdown.png differ diff --git a/img/file-templates-reply-ex1.png b/img/file-templates-reply-ex1.png new file mode 100644 index 000000000..02e6f46c0 Binary files /dev/null and b/img/file-templates-reply-ex1.png differ diff --git a/img/file-templates-steps.png b/img/file-templates-steps.png new file mode 100644 index 000000000..5bb9d8eff Binary files /dev/null and b/img/file-templates-steps.png differ diff --git a/img/filtaquilla-fwd-settings.png b/img/filtaquilla-fwd-settings.png new file mode 100644 index 000000000..d26340872 Binary files /dev/null and b/img/filtaquilla-fwd-settings.png differ diff --git a/img/force-paragraph.png b/img/force-paragraph.png new file mode 100644 index 000000000..af4edab6f Binary files /dev/null and b/img/force-paragraph.png differ diff --git a/img/forward-st-action-in-editor.png b/img/forward-st-action-in-editor.png new file mode 100644 index 000000000..af1826ee2 Binary files /dev/null and b/img/forward-st-action-in-editor.png differ diff --git a/img/forward.png b/img/forward.png new file mode 100644 index 000000000..977b9e509 Binary files /dev/null and b/img/forward.png differ diff --git a/img/fq-fwd-with-st.png b/img/fq-fwd-with-st.png new file mode 100644 index 000000000..99a40b48f Binary files /dev/null and b/img/fq-fwd-with-st.png differ diff --git a/img/fugue-question.png b/img/fugue-question.png new file mode 100644 index 000000000..30a47032a Binary files /dev/null and b/img/fugue-question.png differ diff --git a/img/header-action-menu.png b/img/header-action-menu.png new file mode 100644 index 000000000..3a18b1c26 Binary files /dev/null and b/img/header-action-menu.png differ diff --git a/img/header-function.png b/img/header-function.png new file mode 100644 index 000000000..11887ab5f Binary files /dev/null and b/img/header-function.png differ diff --git a/img/home.png b/img/home.png new file mode 100644 index 000000000..622a2b736 Binary files /dev/null and b/img/home.png differ diff --git a/img/icon16x16.png b/img/icon16x16.png new file mode 100644 index 000000000..64461a52c Binary files /dev/null and b/img/icon16x16.png differ diff --git a/img/icon24x24.png b/img/icon24x24.png new file mode 100644 index 000000000..368e6cf50 Binary files /dev/null and b/img/icon24x24.png differ diff --git a/img/icon32x32.png b/img/icon32x32.png new file mode 100644 index 000000000..278855086 Binary files /dev/null and b/img/icon32x32.png differ diff --git a/img/icon64x64.png b/img/icon64x64.png new file mode 100644 index 000000000..0f420281b Binary files /dev/null and b/img/icon64x64.png differ diff --git a/img/insert-file-variable.png b/img/insert-file-variable.png new file mode 100644 index 000000000..9ec78b412 Binary files /dev/null and b/img/insert-file-variable.png differ diff --git a/img/install-from-atn.png b/img/install-from-atn.png new file mode 100644 index 000000000..5232c16a8 Binary files /dev/null and b/img/install-from-atn.png differ diff --git a/img/instructions/CopyTemplate-2part.png b/img/instructions/CopyTemplate-2part.png new file mode 100644 index 000000000..d99c83fae Binary files /dev/null and b/img/instructions/CopyTemplate-2part.png differ diff --git a/img/instructions/CopyTemplate-New.png b/img/instructions/CopyTemplate-New.png new file mode 100644 index 000000000..5ba8db3b5 Binary files /dev/null and b/img/instructions/CopyTemplate-New.png differ diff --git a/img/issue-233-category-prefix.png b/img/issue-233-category-prefix.png new file mode 100644 index 000000000..eb84dca70 Binary files /dev/null and b/img/issue-233-category-prefix.png differ diff --git a/img/issue53.png b/img/issue53.png new file mode 100644 index 000000000..0326a43bb Binary files /dev/null and b/img/issue53.png differ diff --git a/img/key.png b/img/key.png new file mode 100644 index 000000000..82846369f Binary files /dev/null and b/img/key.png differ diff --git a/img/license-1.png b/img/license-1.png new file mode 100644 index 000000000..2d64171c7 Binary files /dev/null and b/img/license-1.png differ diff --git a/img/license-2.png b/img/license-2.png new file mode 100644 index 000000000..a3df675bd Binary files /dev/null and b/img/license-2.png differ diff --git a/img/license-screen.png b/img/license-screen.png new file mode 100644 index 000000000..9b9d850ab Binary files /dev/null and b/img/license-screen.png differ diff --git a/img/logo-pro.png b/img/logo-pro.png new file mode 100644 index 000000000..87213d164 Binary files /dev/null and b/img/logo-pro.png differ diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 000000000..587542085 Binary files /dev/null and b/img/logo.png differ diff --git a/img/mail-forward.png b/img/mail-forward.png new file mode 100644 index 000000000..66b75bc1c Binary files /dev/null and b/img/mail-forward.png differ diff --git a/img/mail-open.png b/img/mail-open.png new file mode 100644 index 000000000..abfaf8254 Binary files /dev/null and b/img/mail-open.png differ diff --git a/img/mail-reply.png b/img/mail-reply.png new file mode 100644 index 000000000..8385b0d1a Binary files /dev/null and b/img/mail-reply.png differ diff --git a/img/menuOnTop.png b/img/menuOnTop.png new file mode 100644 index 000000000..98e003a34 Binary files /dev/null and b/img/menuOnTop.png differ diff --git a/img/minus.png b/img/minus.png new file mode 100644 index 000000000..f953427ff Binary files /dev/null and b/img/minus.png differ diff --git a/img/mozdev-blue.png b/img/mozdev-blue.png new file mode 100644 index 000000000..b35214b42 Binary files /dev/null and b/img/mozdev-blue.png differ diff --git a/img/multi-correspondents-demiliter.png b/img/multi-correspondents-demiliter.png new file mode 100644 index 000000000..49b439d21 Binary files /dev/null and b/img/multi-correspondents-demiliter.png differ diff --git a/img/open-variables-tab.png b/img/open-variables-tab.png new file mode 100644 index 000000000..41c2df639 Binary files /dev/null and b/img/open-variables-tab.png differ diff --git a/img/options-resolveNames.png b/img/options-resolveNames.png new file mode 100644 index 000000000..092de94d5 Binary files /dev/null and b/img/options-resolveNames.png differ diff --git a/img/permissions-menu.png b/img/permissions-menu.png new file mode 100644 index 000000000..4e4b78793 Binary files /dev/null and b/img/permissions-menu.png differ diff --git a/img/permissions.png b/img/permissions.png new file mode 100644 index 000000000..5cf3ff429 Binary files /dev/null and b/img/permissions.png differ diff --git a/img/plus.png b/img/plus.png new file mode 100644 index 000000000..4ac1bafbc Binary files /dev/null and b/img/plus.png differ diff --git a/img/printer.png b/img/printer.png new file mode 100644 index 000000000..9edfbbcbc Binary files /dev/null and b/img/printer.png differ diff --git a/img/pro/smarttemplate-preferences-pro.png b/img/pro/smarttemplate-preferences-pro.png new file mode 100644 index 000000000..73253a8e9 Binary files /dev/null and b/img/pro/smarttemplate-preferences-pro.png differ diff --git a/img/quickPasswords.png b/img/quickPasswords.png new file mode 100644 index 000000000..efa4c924f Binary files /dev/null and b/img/quickPasswords.png differ diff --git a/img/quickfolders-Icon.png b/img/quickfolders-Icon.png new file mode 100644 index 000000000..14c30d85d Binary files /dev/null and b/img/quickfolders-Icon.png differ diff --git a/img/remove-st.png b/img/remove-st.png new file mode 100644 index 000000000..d41f87f10 Binary files /dev/null and b/img/remove-st.png differ diff --git a/img/search-st-addon.png b/img/search-st-addon.png new file mode 100644 index 000000000..3eb15ca90 Binary files /dev/null and b/img/search-st-addon.png differ diff --git a/img/season/firework.gif b/img/season/firework.gif new file mode 100644 index 000000000..9a9ed85bd Binary files /dev/null and b/img/season/firework.gif differ diff --git a/img/season/firework2.gif b/img/season/firework2.gif new file mode 100644 index 000000000..c8233ee45 Binary files /dev/null and b/img/season/firework2.gif differ diff --git a/img/season/santa.gif b/img/season/santa.gif new file mode 100644 index 000000000..b55849afd Binary files /dev/null and b/img/season/santa.gif differ diff --git a/img/season/vampbat.gif b/img/season/vampbat.gif new file mode 100644 index 000000000..2bbca4e68 Binary files /dev/null and b/img/season/vampbat.gif differ diff --git a/img/settings-snippets.png b/img/settings-snippets.png new file mode 100644 index 000000000..09146ba59 Binary files /dev/null and b/img/settings-snippets.png differ diff --git a/img/settings-updates.png b/img/settings-updates.png new file mode 100644 index 000000000..e3c706320 Binary files /dev/null and b/img/settings-updates.png differ diff --git a/img/signature-processing.png b/img/signature-processing.png new file mode 100644 index 000000000..2fe28db17 Binary files /dev/null and b/img/signature-processing.png differ diff --git a/img/silentUpdates.png b/img/silentUpdates.png new file mode 100644 index 000000000..a8d308979 Binary files /dev/null and b/img/silentUpdates.png differ diff --git a/img/smartTemplate-license.png b/img/smartTemplate-license.png new file mode 100644 index 000000000..b95e88d6a Binary files /dev/null and b/img/smartTemplate-license.png differ diff --git a/img/smartTemplate24.png b/img/smartTemplate24.png new file mode 100644 index 000000000..368e6cf50 Binary files /dev/null and b/img/smartTemplate24.png differ diff --git a/img/smartreply.png b/img/smartreply.png new file mode 100644 index 000000000..c8788c713 Binary files /dev/null and b/img/smartreply.png differ diff --git a/img/snippets-configure.png b/img/snippets-configure.png new file mode 100644 index 000000000..03615b37c Binary files /dev/null and b/img/snippets-configure.png differ diff --git a/img/snippets-menu.png b/img/snippets-menu.png new file mode 100644 index 000000000..cd625b871 Binary files /dev/null and b/img/snippets-menu.png differ diff --git a/img/square-small.png b/img/square-small.png new file mode 100644 index 000000000..7714e89d3 Binary files /dev/null and b/img/square-small.png differ diff --git a/img/st-advanced-btn.png b/img/st-advanced-btn.png new file mode 100644 index 000000000..a3b2532fb Binary files /dev/null and b/img/st-advanced-btn.png differ diff --git a/img/st4-icon.png b/img/st4-icon.png new file mode 100644 index 000000000..3a45b50b1 Binary files /dev/null and b/img/st4-icon.png differ diff --git a/img/status-expired.png b/img/status-expired.png new file mode 100644 index 000000000..e9bef0efd Binary files /dev/null and b/img/status-expired.png differ diff --git a/img/status-license-expiry.png b/img/status-license-expiry.png new file mode 100644 index 000000000..78e707331 Binary files /dev/null and b/img/status-license-expiry.png differ diff --git a/img/status-renew.png b/img/status-renew.png new file mode 100644 index 000000000..83dab234c Binary files /dev/null and b/img/status-renew.png differ diff --git a/img/template-categories.png b/img/template-categories.png new file mode 100644 index 000000000..a8f77e72f Binary files /dev/null and b/img/template-categories.png differ diff --git a/img/template-category.png b/img/template-category.png new file mode 100644 index 000000000..a03b6c924 Binary files /dev/null and b/img/template-category.png differ diff --git a/img/tip.png b/img/tip.png new file mode 100644 index 000000000..845e11070 Binary files /dev/null and b/img/tip.png differ diff --git a/img/titlebarCleaner.png b/img/titlebarCleaner.png new file mode 100644 index 000000000..e4ec99fc6 Binary files /dev/null and b/img/titlebarCleaner.png differ diff --git a/img/toolbar-menu.png b/img/toolbar-menu.png new file mode 100644 index 000000000..117fc5bcc Binary files /dev/null and b/img/toolbar-menu.png differ diff --git a/img/up.png b/img/up.png new file mode 100644 index 000000000..4e4f5b8a4 Binary files /dev/null and b/img/up.png differ diff --git a/img/upgrade-to-pro.png b/img/upgrade-to-pro.png new file mode 100644 index 000000000..bfa4747e7 Binary files /dev/null and b/img/upgrade-to-pro.png differ diff --git a/img/var-search.png b/img/var-search.png new file mode 100644 index 000000000..2bf97720a Binary files /dev/null and b/img/var-search.png differ diff --git a/img/variables-ab-fields-de.png b/img/variables-ab-fields-de.png new file mode 100644 index 000000000..e7fce614f Binary files /dev/null and b/img/variables-ab-fields-de.png differ diff --git a/img/variables-ab-fields.png b/img/variables-ab-fields.png new file mode 100644 index 000000000..6a85e2bd9 Binary files /dev/null and b/img/variables-ab-fields.png differ diff --git a/img/variables-search.png b/img/variables-search.png new file mode 100644 index 000000000..a4c73c7de Binary files /dev/null and b/img/variables-search.png differ diff --git a/img/variables-ui.png b/img/variables-ui.png new file mode 100644 index 000000000..e8e5397f3 Binary files /dev/null and b/img/variables-ui.png differ diff --git a/img/zombie-key-32.png b/img/zombie-key-32.png new file mode 100644 index 000000000..9e2a0818e Binary files /dev/null and b/img/zombie-key-32.png differ diff --git a/img/zombie24.png b/img/zombie24.png new file mode 100644 index 000000000..019c80514 Binary files /dev/null and b/img/zombie24.png differ diff --git a/index.html b/index.html new file mode 100644 index 000000000..c59a47e98 --- /dev/null +++ b/index.html @@ -0,0 +1,364 @@ + + + + Smart Templates - Home + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +

      SmartTemplates

      + + + + + + + + + + +
      + + + + + +
      +
      +
      +
      +
        + +
      • Added new FAQ Topic
      • +
      • some optimizing for mobile devices
      • +
      • Viewport values replaced to fix scaling bug on mobile devices
      • +
      +
      + + +
      +
      Other Stuff
      + +
      + +
      + + + + +
      +

      Site Map

      + + +

      Introduction

      +

      + SmartTemplates is the next generation of the popular Mozilla Thunderbird addon SmartTemplate. + It offers an easy way to customize default quote header by using templates. Templates can be created for every account as well as for global settings (for all email accounts). +

      + +

      + +

      + +

      + Development of the original SmartTemplate by gaby_hy (H. Yasuda) has been discontinued for time reasons.
      + SmartTemplates builds on this original add-on with written friendly permission from the original author. + SmartTemplates works with Thunderbird, SeaMonkey and Postbox, additional information to this you can find on our Version History. +

      + +

      Getting Started

      +

      + For instructions on how to get started using SmartTemplates, please head on over to our Quickstart Guide +

      + + +
      +
      + Image +
      + Close +
      +
      + + + +

      Features of this Addon

      + +
        +
      • Custom Templates can be automatically used for composing, replying and forwarding messages
      • +
      • HTML and Plaintext supported
      • +
      • Adding your Signature to your mail template (from Thunderbird Account settings)
      • +
      • Define seperate templates for new messages (compose), reply and forward messages
      • +
      • Mail templates can be defined for each account or common for all accounts
      • +
      • Intelligent content in your template by use of keywords (variables)
      • +
      • This add-on does not change the default config settings (e.g. mailnews.reply_header_xxx) *
        + * This means that global settings and other Addons are not affected by its installation.
      • +
      • Version 0.8.5.6 onwards internal functions rewritten into ECMAScript5 strict mode ("use strict";) for more security
      • +
      • Version 0.9.3 onwards do support the integration of Stationery Add-on for more power with HTML e-Mails!
      • +
      + +

      Translations (localizations)

      + +

      SmartTemplates is currently translated into the following 16 languages (locale):

      + +
      + + flag + flag + flag + flag + flag + flag + flag + flag + flag + flag + flag + flag + flag + flag + flag + flag +
      + +

      + Would you like translate SmartTemplates into your own language? +
      + Please visit BabelZilla and start a new locale for your language. +
      + Would you like correct or complete your language? +
      + Please join the translation Team for your locale on BabelZilla. + +
      +
      + For further questions please feel free to contact us. +

      + +

      Please, leave some feedback at the Mozilla Addons Page - spread the word so more people start using it!

      + + + + + + + +
      + + + + + +
      + + + + + diff --git a/intern.html b/intern.html new file mode 100644 index 000000000..6c5fc0d68 --- /dev/null +++ b/intern.html @@ -0,0 +1,616 @@ + + + + Smart Templates - Intern + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +

      SmartTemplates

      + + + + + + + + + + +
      + + + + + + +

      Testfunction: Validate

      +
      +
      + + +

      Welche Schriften soll für das Web eingesetzt werden?
      +
      +Arial
      +Comic Sans MS
      +Courier New
      +Georgia
      +Impact
      +Verdana
      +
      +Es gibt auch einige Windows-Fonts, die eine Äquivalent im Mac OS X haben (Auswahl):
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Windows:Arial *Arial Black *Comic Sans MSCourier New *Impact *Lucida ConsoleMS Sans SerifMS SerifPalatino LinotypeTahomaTimes New RomanVerdana *
      Mac OS X:HelveticaGadgetComic Sans MSCourierCharcoalMonacoGenevaNew YorkPalatinoGenevaTimesGeneva
      font-family:Arial,
      Helvetica,
      sans-serif;
      "Arial Black",
      Gadget,
      sans-serif;
      "Comic Sans MS",
      cursive;
      "Courier New",
      Courier,
      monospace;
      Impact,
      Charcoal,
      fantasy;
      "Lucida Console",
      Monaco,
      monospace;
      "MS Sans Serif",
      Geneva,
      sans-serif;
      "MS Serif",
      "New York",
      serif;
      "Palatino Linotype",
      Palatino,
      serif;
      Tahoma,
      Geneva,
      sans-serif;
      "Times New Roman",
      Times,
      serif;
      Verdana,
      Geneva,
      sans-serif;
      +

      Starred (*) fonts are typically available on both Windows and Macintosh systems, even if a different font is displayed as a Macintosh alternative.
      +Based on: Comparison of Macintosh Common Fonts to Windows Common Fonts Table.

      +
      +In der CSS-Datei sollte man mehrere Schriftarten notieren und als letzte Rettung noch zusätzlich eine der generischen Schriftarten
      +serif = eine Schriftart mit Serifen,
      +sans-serif = eine Schriftart ohne Serifen,
      +cursive = eine Schriftart für Schreibschrift,
      +fantasy = eine Schriftart für ungewöhnliche Schrift,
      +monospace = eine Schriftart mit dicktengleichen Zeichen

      +notieren. +

      Wer auf dem Mac bestimmte Software installiert (etwa den alten Internet Explorer),
      +bekommt auch noch die "Websafe-Schriften" mit installiert: Arial, Comic Sans MS, Courier New, Georgia, Impact, Times New Roman, Trebuchet MS und Verdana.
      +Diese Schriften sind relativ breit verbreitet und stehen kostenlos zum Herunterladen bereit, obwohl man natürlich nicht davon ausgehen soll, dass sie jeder installiert hat oder installieren will.

      + + + +

      Web Open Font Formate werden in folgenden Browsern unterstützt:

      + +
        +
      • Firefox >3.6
      • +
      • WebKit2
      • +
      • Safari >5.1
      • +
      • IE >9.0
      • +
      • Opera >11.10
      • +
      • Chrome >6.0
      • +
      +

      + Standardwerte bei allen Schriften:
      + font-weight: 400;
      + font-style: normal;
      + Nur innerhalb dieser html Datei:
      + font-size: 20pt; +

      + +
      SmartTemplates in der Webschriftart "Architects Daughter"
      +
      +
      "Architects Daugter" kommt für den "Welcome [...]" Satz & für das von uns formatierte Datum der html_body.html (project.css) und
      + auf der contribute.html für den Satz "Thanks for updating [...]" (contribute.css) jeweils als span class vor
      +
      +
      SmartTemplates in der Webschriftart "Baumans"
      +
      +
      SmartTemplates in der Webschriftart "Chewy"
      +
      +
      SmartTemplates in der Webschriftart "Handlee"
      +
      +
      SmartTemplates in der Webschriftart "Indie Flower"
      +
      +
      SmartTemplates in der Webschriftart "Loved by the King"
      +
      +
      "Loved by the King" setze ich für meine "Unterschrift" als span class (project.css)
      +
      +
      SmartTemplates in der Webschriftart "Nothing You Could Do"
      +
      +
      "Nothing You Could Do" setze ich momentan für Axels "Unterschrift" als span class (project.css)
      +
      +
      SmartTemplates in der Webschriftart "Nixie One"
      +
      +
      SmartTemplates in der Webschriftart "Poiret One"
      +
      +
      SmartTemplates in der Webschriftart "Maven Pro"
      +
      +
      SmartTemplates in unserer Standardschriftart "Calibri,Arial,Sans-Serif"
      +
      + + + +

      Weitere Preloader Icons können hier online generiert werden: http://preloaders.net/en/all
      +Wir verwenden "5:Filled fading balls" das ist das klassischste Icon wo jeder weiß was damit gemeint ist wenn er es sieht.
      +
      +Die Funktionalität mit dem Preload Icon gibt es derzeit nur in dem brandsCarousel im footer.
      +Der hierfür zuständige jquery Code erlaubt es einen Text a la' "Please wait..." und/oder ein Image zu laden (z.b. als background-image an die #loading hängen), wenn noch nicht alle Bilder geladen sind.
      +ACHTUNG: Hat man einen Fehler im html Code, können alle Bilder nicht mehr geladen werden und es würde dann dauerhaft ein Text und/oder das Icon sichtbar sein. +
      +
      +/preloader/50/
      + 000000.gif + 0000ff.gif + 3d3980.gif + 59b6dc.gif + 708da8.gif + 26558b.gif +
      +
      + /preloader/100/
      + Stelle ich hier nicht dar +
      + /preloader/200/
      + Stelle ich hier nicht dar
      + Animierte png's wären zwar schöner (klarere Konturen und schärfer), allerdings unterstützt der blöde IE das nicht und zeigt stehene Icons an... +
      +
      +

      + +

      Schriftarten im Web-Design werden in verschiedenen Einheiten angegeben.
      +Hier ist eine Tabelle, die Punkt, Pixel, Ems und Prozent konvertiert.
      +Es ist eine Annäherung, die abhängig von Schriftart, -Browser und dem Betriebssystem ist.
      +Dies dient zumindest als guter Ausgangspunkt.
      +Da wir derzeit die functionen

      +
        +
      • onclick="javascript:resizeText(1);return false;"
      • +
      • onclick="javascript:resizeText(-1);return false;"
      • +
      +

      in unserer Navibar haben (function ändert die Schriftgröße nur für die <div id="main-content-no-nav">), sollten wir die Schriftgrößen nur in em angeben (variable Schrifteinheit), damit diese function die Schriftgröße auch relativ erhöhen oder senken kann.

      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Points (fix)Pixels (fix)Em (var)Percent (var)Size (var)Font Size (var)
      6pt8px0.500em50%
      7pt9px0.550em55%xx-small
      7.5pt10px0.625em62,5%x-smallsize="1"
      8pt11px0.700em70%
      9pt12px0.750em75%smaller
      10pt13px0.800em80%smallsize="2"
      10.5pt14px0.875em87,5%
      11pt15px0.950em95%
      12pt16px1.000em100%mediumsize="3"(user preferred size)
      13pt17px1.050em105%
      13.5pt18px1.125em112,5%large
      14pt19px1.200em120%largersize="4"
      14.5pt20px1.250em125%
      15pt21px1.300em130%size="5"
      16pt22px1.400em140%
      17pt23px1.450em145%
      18pt24px1.500em150%x-large
      20pt26px1.600em160%
      22pt29px1.800em180%
      24pt32px2.000em200%xx-large
      26pt35px2.200em220%
      27pt36px2.250em225%
      28pt37px2.300em230%
      29pt38px2.350em235%
      30pt40px2.450em245%
      32pt42px2.550em255%
      34pt45px2.750em275%
      36pt48px3.000em300%
      +

      Die px nach em Angaben basieren auf dem PXtoEM Umrechnungstool von Brian Cray.
      +Der Hauptteil dieser Tabelle stammt von ESX.ch von Erich Schumacher.

      + + + + + + +
      + + + + + +
      + + + + + diff --git a/js/PIE.js b/js/PIE.js new file mode 100644 index 000000000..d36448a9c --- /dev/null +++ b/js/PIE.js @@ -0,0 +1,88 @@ +/* +PIE: CSS3 rendering for IE +Version 1.0.0 +http://css3pie.com +Dual-licensed for use under the Apache License Version 2.0 or the General Public License (GPL) Version 2. +*/ +(function(){ +var doc = document;var f=window.PIE; +if(!f){f=window.PIE={F:"-pie-",nb:"Pie",La:"pie_",Ac:{TD:1,TH:1},cc:{TABLE:1,THEAD:1,TBODY:1,TFOOT:1,TR:1,INPUT:1,TEXTAREA:1,SELECT:1,OPTION:1,IMG:1,HR:1},fc:{A:1,INPUT:1,TEXTAREA:1,SELECT:1,BUTTON:1},Gd:{submit:1,button:1,reset:1},aa:function(){}};try{doc.execCommand("BackgroundImageCache",false,true)}catch(aa){}for(var ba=4,Z=doc.createElement("div"),ca=Z.getElementsByTagName("i"),ga;Z.innerHTML=" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +

      SmartTemplates

      + + + + + + + + + + +
      + + + + + + + + +
      + +

      Making a HTML Fragment

      + +

      + If you write html templates for your e-Mail you should first have to know that you don't write complete html files like for websites.
      + Please don't write something like this in your e-Mail template: +

      + +
      +   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      +    "http://www.w3.org/TR/html4/loose.dtd">
      +   <html>
      +     <head>
      +      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      +      <title> </title>
      +     </head>
      +    <body>
      +    </body>
      +   </html>
      + +

      + If you write this you cause some trouble because your mail client inserts the elements + <body> and <head> automatically.
      + Your e-Mail content itself will be embedded only. +

      + +
      +   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      +    "http://www.w3.org/TR/html4/loose.dtd">
      +    <html>
      +     <head>
      +      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      +      <title> </title>
      +     </head>
      +    <body>
      +     <div>your content inside div tag</div>
      +     <span>your content inside span tag</span>
      +    </body>
      +   </html>
      + + +   +

      Why the <font> tag is bad

      + +

      Thunderbird achieves its default font settings in composer by inserting a pair of + <font> tags, like this:

      +
      +  <font size="-1"><font face="Calibri"> [Your Cursor here]  </font></font>
      + + +

      Any <font> tag needs a closing + </font> tag. +

      +

      <font> is bad and wasteful because it requires these tags to be inserted for every new + paragraph / block level element and it cannot be wrapped around paragraphs. It is easily error prone and leads + to a lot of extra work especially if you are quoting text while writing your email. Every time you change the + font or font size within composer, more </font> tags are added, leading + to a quite error-prone mess of html. +

      +

      + Therefore, when composing a new email, SmartTemplate will always remove these codes and relies on the user + to make their own font choices within the template code. Instead of using this deprecated tag, one would be + much better off wrapping the whole SmartTemplate template in a <div> + with a style attribute. +

      +
      +<div style="font-family: Calibri; font-size: 13pt;">
      +  <p>Dear %from(name)%,</p>
      +  <p>Your template text here...</p>
      +</div>
      + +   +

      Inline style or the style tag

      + +

      + You can either style elements directly as in the example of wrapping everything in a <div> + above, or you can specify a section rules for specific parts of your html. This is entirely up to + personal preference - inline styles potentially are more work if you need to copy sections whereas + style blocks can be a little harder to trouble shoot. If your HTML styles do not behave as expected + take a look at our troubleshooting styles section. +

      + +   +

      The <style> tag

      + +

      + A nice of way of styling is using CSS classes. A css class is a name of your choice, starting with a full stop (.) + It can be used in any html tag by adding the html attribute class="name of the class".
      + Advantage: it can be used on multiple elements to make them look the same without lots of copying and pasting of style attributes. +

      + +
      +   <style type="text/css">
      +   .veryLegible {
      +     font-family: "Comic Sans MS",cursive;
      +     font-size: 30pt;
      +   }
      +   </style>
      +   ...
      +   ...
      +   <p class="veryLegible">
      +   Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor 
      +   incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud 
      +   exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
      +   </p>
      +   <p class="veryLegible">
      +   Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore 
      +   eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, 
      +   sunt in culpa qui officia deserunt mollit anim id est laborum.
      +   </p>
      + +
      +   <style type="text/css">
      +   #introduction {
      +     color: #888888;
      +     font-family: Arial,sans-serif;
      +     font-size: 1em;
      +   }
      +   </style>
      +   ...
      +   ...
      +   <p id="introduction">Dear John,<br>
      +   how have you been?</p>
      + +

      + Apart from class selectors e.g. .myLine the most important CSS selectors are + id selectors e.g. #introduction which are meant for single elements, such as + <p id="introduction"> +

      + + +   +

      "Inline" Styling

      + +

      + This is the most robust way of styling because it will always "stay" with the element (here: div) no matter where you move it + or whether it is quoted in another email.
      + Disadvantage: If you want to style 2 elements the same way you have to copy/paste the whole lot. +

      + +
      +   <div style="font-family: 'Comic Sans MS',cursive; font-size: 30pt;">my line</div>
      + +

      + The visual result is for both variants the same
      + Style tag results +

      + +

      + TIP: The only difference between both variants is the way you write font names with white-space
      + style tag = "inside double quote marks"
      + inline = 'inside single quote marks'. +

      + + + + + + +
      + + + + + +
      + + + + + diff --git a/kb-fonts.html b/kb-fonts.html new file mode 100644 index 000000000..c87a86f67 --- /dev/null +++ b/kb-fonts.html @@ -0,0 +1,529 @@ + + + + Smart Templates - Knowledge Base Fonts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +

      SmartTemplates

      + + + + + + + + + + +
      + + + + + + +
      +

      font family on windows and Mac

      + +

      + If you write html templates for your e-Mail you should first think about which kind of font-family you will use.
      + Not all font-families are given in common operating systems and in this case the recipient get another font displayed (default).
      + It's suggested to use one of the more popular font-families insteat of "special fonts" e.g. SimSun.
      + Some Windows-Fonts have a equivalent on Mac OS X (selection): +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Windows:Arial *Arial Black *Comic Sans MSCourier New *Impact *Lucida ConsoleMS Sans SerifMS SerifPalatino LinotypeTahomaTimes New RomanVerdana *
      Mac OS X:HelveticaGadgetComic Sans MSCourierCharcoalMonacoGenevaNew YorkPalatinoGenevaTimesGeneva
      font-family:Arial,
      Helvetica,
      sans-serif;
      "Arial Black",
      Gadget,
      sans-serif;
      "Comic Sans MS",
      cursive;
      "Courier New",
      Courier,
      monospace;
      Impact,
      Charcoal,
      fantasy;
      "Lucida Console",
      Monaco,
      monospace;
      "MS Sans Serif",
      Geneva,
      sans-serif;
      "MS Serif",
      "New York",
      serif;
      "Palatino Linotype",
      Palatino,
      serif;
      Tahoma,
      Geneva,
      sans-serif;
      "Times New Roman",
      Times,
      serif;
      Verdana,
      Geneva,
      sans-serif;
      +

      + Starred (*) fonts are typically available on both Windows and Macintosh systems, even if a different font is displayed as a Macintosh alternative.
      + Based on: Comparison of Macintosh Common Fonts to Windows Common Fonts Table.
      + Fonts with white-space in its name e.g. Arial Black will be note inside quoting marks "Arial Black" in your css code. +

      + +
      +

      generic fonts (fallback fonts)

      +
      + +

      + In your css code you should set different font-families and at least one of the gerneric fonts as fallback.
      +
      + serif = Glyphs have finishing strokes, flared or tapering ends, or have actual serifed endings
      + sans-serif = Glyphs have stroke endings that are plain
      + cursive = Glyphs in cursive fonts generally have either joining strokes or other cursive characteristics beyond those of italic typefaces.
      + The glyphs are partially or completely connected, and the result looks more like handwritten pen or brush writing than printed letterwork.
      + fantasy = Fantasy fonts are primarily decorative fonts that contain playful representations of characters
      + monospace = All glyphs have the same fixed width. +

      + + + +

      + Fonts in web design are given in different units.
      + But there are good reasons not to use pt or any other absolute units and only use em and px.
      + Here is a table that point, pixel, Ems and percentages is converted.
      + It is an approach that depends on font, browser and the operating system.
      + This is at least a good starting point. +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      pointspixelsempercentsizefont size
      6pt8px0.500em50%
      7pt9px0.550em55%xx-small
      7.5pt10px0.625em62,5%x-smallsize="1"
      8pt11px0.700em70%
      9pt12px0.750em75%smaller
      10pt13px0.800em80%smallsize="2"
      10.5pt14px0.875em87,5%
      11pt15px0.950em95%
      12pt16px1.000em100%mediumsize="3" (user preferred size)
      13pt17px1.050em105%
      13.5pt18px1.125em112,5%large
      14pt19px1.200em120%largersize="4"
      14.5pt20px1.250em125%
      15pt21px1.300em130%size="5"
      16pt22px1.400em140%
      17pt23px1.450em145%
      18pt24px1.500em150%x-large
      20pt26px1.600em160%
      22pt29px1.800em180%
      24pt32px2.000em200%xx-large
      26pt35px2.200em220%
      27pt36px2.250em225%
      28pt37px2.300em230%
      29pt38px2.350em235%
      30pt40px2.450em245%
      32pt42px2.550em255%
      34pt45px2.750em275%
      36pt48px3.000em300%
      +

      + Maincontent of this Table is published on ESX.ch by Erich Schumacher.
      + If you like to convert your own pixel to em, you can use the web-based PXtoEM converting tool by Brian Cray.
      + Further Documentation to font-sizes and units by Bert Bos. +

      + + + + + + +
      + + + + + +
      + + + + + diff --git a/kb-inspector.html b/kb-inspector.html new file mode 100644 index 000000000..9528e4c79 --- /dev/null +++ b/kb-inspector.html @@ -0,0 +1,255 @@ + + + + Smart Templates - Knowledge Base Inspector + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +

      SmartTemplates

      + + + + + + + + + + +
      + + + + + + + + + +
      +

      troubleshooting fonts and layout

      + +

      Sometimes when composing / reading emails, fonts or colors do not turn out as expected. +This is hard to troubleshoot for us but you can use the built in tools of Thunderbird to investigate.

      + +

      If you need to find out what causes the font "look" on + a specific section in your emails, open Tools / Developer Tools > Developer Toolbox on + the Thunderbird main menu (or press CTRL+SHIFT+I):
      +

      +

      starting inspector

      +

      (1) Next, click on the "inspector" tab:

      +

      starting inspector

      +

      (2) optional step - you only need this if you want to click + in Composer or a separate "single message window" - select a + target document. By default this is the mail 3pane + (messenger.xul). To investigate the composer window, pick messengercompose.xul
      +

      +

      +

      target document selector

      +

      (3) Picker
      + use this to select what you are interested in with your mouse. regions of interest will be highlighted + with a red frame. +

      +

      (4) Click on the writing on the page in composer / preview

      +

      On the left of Inspector, you see the "document tree" - the different parts that make up your email + - click any element to select a different paragraph which will be highlighted on screen

      +

      On the right hand of the screen you can select different views:

      +

      Rules
      +

      +

      this shows all style rules that apply to the selected element

      +

      rules section

      + +

      If a rule is overridden by another, it will be "crossed out":
      + overridden styles

      +

      You can filter for specific rules with the "Filter Styles" + box on top:

      +

      filter style rules

      +

      You can try out other values by double-clicking the values of ach rule and then typing over. + Make sure to transfer the new rules to your template.
      +

      +

      Computed Styles

      +

      Shows only the styles that "survive" in the hierarchy of styles

      +

      computed styles section +

      +

      Layout

      +

      This section deals mainly with positioning of the element on + screen:
      +

      +

      layout section + + + + +

      +
      + + + + + +
      + + + + + diff --git a/kb-main.html b/kb-main.html new file mode 100644 index 000000000..2e263d6c8 --- /dev/null +++ b/kb-main.html @@ -0,0 +1,213 @@ + + + + Smart Templates - Knowledge Base + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +

      SmartTemplates

      + + + + + + + + + + +
      + + + + + + + +

      here are a few articles that help with geting the best out of SmartTemplates

      + +
      + + + + + + +

  • + + + + + +
    + + + + + diff --git a/kb-tags.html b/kb-tags.html new file mode 100644 index 000000000..eace37cb5 --- /dev/null +++ b/kb-tags.html @@ -0,0 +1,394 @@ + + + + Smart Templates - Knowledge Base Tags + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + +
    + +

    A 'Bad' Example

    + +

    + Here is a typical example for a HTML reply templates from a Stationery users. + The user was having problems with font sizes being inconsistent, so I helped him rewrite it/ + It somewhat shows that a little HTML knowledge can create something you almost want + and yet creates some unpredictable results. I will later on show how this can be rewritten + in a more modern, lightweight and above all more predictable and stable manner. +

    +

    + I will show what I replied to the user and what general HTML tips I gave in order to create better templates. +

    + +

    NEW MAIL - (bad example)

    + +
    +   <div style="font-family: Calibri,Arial; font-size:
    +   11pt">&nbsp;Hallo</div><br>
    + <div style="font-family: Calibri,Arial; font-size: + 11pt">&nbsp;</div><br> +
    + +

    ANSWER - (bad example)

    + +
    +   <HR SIZE=1 ALIGN=LEFT >
    +   <FONT size=2 face=Tahoma><STRONG>From: </STRONG>%fromname% [mailto:%frommail%]</FONT><BR>
    +   <FONT size=2 face=Tahoma><STRONG>Sent: </STRONG>%X:=sent%%A%, %X:=sent%%e%. %X:=sent%%B% %X:=sent%%Y% %X:=sent%%H%:%M%</FONT><BR>
    +   <FONT size=2 face=Tahoma><STRONG>To: </STRONG>%to(name)%</FONT> <BR>
    +   [[ <FONT size=2 face=Tahoma><STRONG>Cc: </STRONG>%cc(name)% <BR> ]]
    +   <FONT size=2 face=Tahoma><STRONG>Re: </STRONG>%subject%</FONT><BR>
    +   <br>  
    +  
    + +

    My answer to the user:

    + +

    + As regards your template please try to avoid <font> tags, these are actually long + deprecated. By the way it is quite hard to it is better to use a unit, such as + pt oder px. I also noticed then your cc line is missing the </font> tag. + This can also lead to rendering errors. +

    +

    + Instead, please use the css 'font' attribute: +
    + http://www.w3schools.com/cssref/pr_font_font.asp +
    + e.g. + font: 10pt Calibri,Arial,sans-serif normal;
    + color: rgb(40,40,40);
    +

    + +

    NEW MAIL


    + +
    +   <div style="font: 11pt Calibri,Arial; color:#1f497d; margin-left: 1em;">
    +    <p>Hallo</p>
    +    <p></p>
    +   </div>
    +  
    +
    + +

    ANSWER

    + +

    quote header (top box)

    + +
    +   <hr style="text-align:left;" />
    +   <span style="font: 10pt Tahoma;">
    +    <strong>Von: </strong> %from(name)% [%from(mail,link)%] <br>
    +    <strong>Gesendet: </strong> %X:=sent%%A%, %e%. %B% %Y% %H%:%M%<br>
    +    <strong>An: </strong> %to(name)%<br>
    +    [[ <strong>Cc: </strong> %cc(name)% <br> ]]
    +    <strong>Betreff: </strong> %subject%<br>
    +   </span>
    +   <br>
    +  
    + +

    differences: no <font> tag, style only mentioned once in code, %sent% only necessary once in line. More readable and easier to maintain.

    + +

    template (bottom box)

    + +
    +   <div style="font: 11pt Calibri,Arial; color:#1f497d; margin-left: 1em;">
    +    <p>Hallo</p>
    +    <p></p>
    +   </div>
    +  
    + +
    +
    +
    + +

    General Tips

    +
    + +

    0. UPPERCASE tags

    + +

    + avoid, as these are hard to read and not en vouge - for better readability, always use lowercase tags instead. +

    + +

    1. The <font> tag

    + +

    + Avoid using it, instead use a <span> or <div> with the font style: + http://www.w3schools.com/cssref/pr_font_font.asp +

    + +

    2. Using <div> container

    + +

    + <div> are displayed with display:block, + which means they always take up 100% of the width of their parent containers. + Therefore it is not necessary to have a <br> after a <div>. +

    +

    + TIP: + If you like to use another style inside a <div> container please use the <span> tag. +

    +

    + A much better style to add some vertical distance to the next paragraph is using the margin-bottom + attribute, e.g.: +

    + +
    +    <div style="margin-bottom: 1em;">
    +     some text / html here...
    +     blablabla
    +     etc.
    +    </div>
    +  
    + +

    + So, instead of writing 5 times <font> you can enclose the whole passage with + <div style="font:courier;color:black">...</div>. +

    + +

    3. Using <span>

    + +

    + <span> are displayed with display:inline + and are well suited to style a passage of text within a paragraph. + The unlike div, span does not create an "invisible box" around the enclosed content, so you can use this in the middle of + a sentence as well. +

    + +

    4. Using &nbsp;

    + +

    + &nbsp; (non breaking space) is an HTML entity which is used when + two Words should not be broken apart by a line break; it should never be used to move + an element or word to the right. For this purpose, we have the attributes + margin and padding. +

    + +

    + http://www.htmldog.com/guides/css/beginner/margins/ +

    + +

    5. Using white-space (Spaces)

    + +

    + To improve HTML readability, you can insert an arbitrary amount of spaces. When displaying the HTML in the email reader, + all white-space characters (spaces, tabs) are "collapsed" which means
    + 2 spaces ⇒ displays 1 space,
    + 5 Spaces ⇒ displays 1 space,
    + 20 Spaces ⇒ displays 1 space.
    + Therefore, white space is a bad choice for any positioning tasks. +

    + +

    + Exception: When usign the <pre> (preserve) tag, whitespace will be preserved. + The related css attribut is named 'white-space'. +

    + +

    + Generally using any html entities or (invisible) tags for creating positioning behavior are a bad idea, + instead it is best practice to always use css positioning attributes such as: text-align, margin, padding, display, clear. +

    + +

    6. Paragraph <p> vs line breaks <br>

    + +

    + While the default behavior of most email clients (including Thunderbird) is to use <br> for creating line breaks + (and using this twice to create paragraphs) it is actually preferrable to use a pair of <p> ... + </p> to enclose a paragraph as it generally creates a nicer, more manageable layout. +

    + + + + + + +
    + + + + + +
    + + + + + diff --git a/preloader/100/000000.gif b/preloader/100/000000.gif new file mode 100644 index 000000000..9ed1ab8e1 Binary files /dev/null and b/preloader/100/000000.gif differ diff --git a/preloader/100/0000ff.gif b/preloader/100/0000ff.gif new file mode 100644 index 000000000..7d80c85c9 Binary files /dev/null and b/preloader/100/0000ff.gif differ diff --git a/preloader/100/26558b.gif b/preloader/100/26558b.gif new file mode 100644 index 000000000..b0eb3a7f7 Binary files /dev/null and b/preloader/100/26558b.gif differ diff --git a/preloader/100/3d3980.gif b/preloader/100/3d3980.gif new file mode 100644 index 000000000..63a5a365b Binary files /dev/null and b/preloader/100/3d3980.gif differ diff --git a/preloader/100/59b6dc.gif b/preloader/100/59b6dc.gif new file mode 100644 index 000000000..3266eafae Binary files /dev/null and b/preloader/100/59b6dc.gif differ diff --git a/preloader/100/708da8.gif b/preloader/100/708da8.gif new file mode 100644 index 000000000..430a83348 Binary files /dev/null and b/preloader/100/708da8.gif differ diff --git a/preloader/200/000000.gif b/preloader/200/000000.gif new file mode 100644 index 000000000..68526877f Binary files /dev/null and b/preloader/200/000000.gif differ diff --git a/preloader/200/0000ff.gif b/preloader/200/0000ff.gif new file mode 100644 index 000000000..da87de20e Binary files /dev/null and b/preloader/200/0000ff.gif differ diff --git a/preloader/200/26558b.gif b/preloader/200/26558b.gif new file mode 100644 index 000000000..f94e47dcb Binary files /dev/null and b/preloader/200/26558b.gif differ diff --git a/preloader/200/3d3980.gif b/preloader/200/3d3980.gif new file mode 100644 index 000000000..e1b135635 Binary files /dev/null and b/preloader/200/3d3980.gif differ diff --git a/preloader/200/59b6dc.gif b/preloader/200/59b6dc.gif new file mode 100644 index 000000000..cf1fb5fa8 Binary files /dev/null and b/preloader/200/59b6dc.gif differ diff --git a/preloader/200/708da8.gif b/preloader/200/708da8.gif new file mode 100644 index 000000000..53551ba50 Binary files /dev/null and b/preloader/200/708da8.gif differ diff --git a/preloader/50/000000.gif b/preloader/50/000000.gif new file mode 100644 index 000000000..eb6ec8cee Binary files /dev/null and b/preloader/50/000000.gif differ diff --git a/preloader/50/0000ff.gif b/preloader/50/0000ff.gif new file mode 100644 index 000000000..f547e75d2 Binary files /dev/null and b/preloader/50/0000ff.gif differ diff --git a/preloader/50/26558b.gif b/preloader/50/26558b.gif new file mode 100644 index 000000000..b360be966 Binary files /dev/null and b/preloader/50/26558b.gif differ diff --git a/preloader/50/3d3980.gif b/preloader/50/3d3980.gif new file mode 100644 index 000000000..97a7cd3c8 Binary files /dev/null and b/preloader/50/3d3980.gif differ diff --git a/preloader/50/59b6dc.gif b/preloader/50/59b6dc.gif new file mode 100644 index 000000000..9075fa6a6 Binary files /dev/null and b/preloader/50/59b6dc.gif differ diff --git a/preloader/50/708da8.gif b/preloader/50/708da8.gif new file mode 100644 index 000000000..7dd164c09 Binary files /dev/null and b/preloader/50/708da8.gif differ diff --git a/premium.html b/premium.html new file mode 100644 index 000000000..e3ebc2713 --- /dev/null +++ b/premium.html @@ -0,0 +1,881 @@ + + + + Smart Templates - Premium + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + + + +

    Premium features are power functions which are an incentive for users to regularly support + the SmartTemplates project through an annual contribution, called SmartTemplates Pro / SmartTemplates Standard license. + My aim is that instead of very few people trying to carry the project with sometimes large + donations to try involving more supporters. It is a lot of work to keep the project + going and up to date with all the latest code changes which happen every four(!) weeks on the Mozilla code base. + Staying in sync with the complex Thunderbird application and to support + multiple OS platforms (Windows, Linux and Mac) and 19 languages, + writing support emails and fixing bugs is actually a big amount of work. + I would rather actually spend more time on this than just burning away my weekends, but for this it + needs to be financially viable. +

    +

    + SmartTemplates is completely funded by its users, mainly through the various licenses available + at fastspring.com - to find out our current prices click one of the links below: +

    +

    + + +

    What Premium Features exist?

    +

    Here is a list of Premium features that are unrestricted to licensed users.

    +

    For non-licensed users, the premium features can be restricted and, when used, will show a notification bar + in order to promote buying a license. I feel this is the best way as it gives you a chance to try them out and + get an idea on what other great future functionality will be funded by supporters:

    + + + +

    Feature Comparison

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FeaturesUnlicensed versionStandard LicensePro License
    Max Number of external Templates525unlimited
    Max Number of Template submenus (categories)33unlimited
    Smart SnippetsTest onlySome restrictions
    Standard Variables
    + this includes most standard headers, such as %subject% %from% %to% %cc%
    Set Spellcheck Language %spellcheck()%
    Date Formatting function %dateformat()% trial only
    Clipboard support
    + using clipboard for transferring data.
    CardBook support
    + using data from the CardBook address book.
    HTML File Injection from Template%file()%
    Style Sheet Injection from Template%style()%
    Changing mail headers +
    setting Cc, adding Fwd, modify subject etc.
    Set Mail Priority %header.set(priority)%
    Text Manipulation
    %deleteText% %replaceText% %matchTextFromBody% %matchTextFromSubject%
    Quote Manipulation
    + Remove text, images etc. based on quote level.
    + Clean and shrink long reply threads.
    +
    Forwarded Mail Content
    + Remove contents of forwarded mail: %deleteForwardedBody%.
    +
    Date Calculation
    Offsets for time / date
    Automatic forwarding / replying with Filters
    using FiltaQuilla 3.4
    + + + +

    Insert Snippets in Composer

    +
    +

    + While writing emails, use the insert Snippet button to inject a section of html at the cursor position. + In the Pro version of SmartTemplates this menu has no restrictions and can be subdivided in as many categories as you like: +
    + +

    +

    + SmartTempaltes Pro only: You can use the placeholder text *selection* to insert + the currently highlighted text in the Email. This can be used to wrap / decorate text or build other + HTML containers around information you have already inserted in the Email. +

    +

    + + + +

    Text Manipulation

    +
    +
      +
    • %deleteText("text")% = Remove some text from the Quote Header, such as deleteText("via Paypal")- "John via Paypal wrote" => "John wrote"
    • +
    • %replaceText("find","replace")% = Replace some text with something else (similar to deleteText).
    • +
    • %replaceText(regularExpression,clipboard)% = (new in v3.12) overwrite placeholder text in template from clipboard
    • +
    • %matchTextFromBody("Regular Expression",MatchGroup)% = + Finds a pattern in quoted Email and insert at function location.
      + E.g. %matchTextFromBody("Delivery from ([-'a-zA-Z\u00C0-\u024F]*\s[-'a-zA-Z\u00C0-\u024F]*)",1)% + will retrieve 'John Doe' from the line 'Delivery from John Doe' - (included unicode characters for diacritics)
    • +
    • %matchTextFromSubject("Regular Expression",MatchGroup)% = + Finds a pattern in subject and insert at function location.
      + E.g. %matchTextFromSubject("\b[a-zA-Z0-9._+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b",0)% + will retrieve an Email address from the Subject line
    • +
    +

    Note: the new %matchTextFromBody% and %matchTextFromSubject% functions + use regular expressions - these are powerful keys for finding text patterns. + The first parameter must be the regular expression within double quotes. The second parameter is a number which denotes the "match group". + Match groups are usually designated with round parentheses (). Use 0 to match the complete expression, 1 for the first group etc. +

    +

    To learn about regular expressions, please visit: www.regular-expressions.info. + For testing your patterns, I recommend this online tester: regex101.com +

    + +
    + + +

    Quote Manipulation

    +
    +

    + [issue 31] + From SmartTemplates 2.8: New variables to remove text / tags from quoted parts + and save space. +

    +
      +
    • +

      + %deleteQuotedText("searchText",quoteLevel)% + Deletes quoted Text
      + %replaceQuotedText("searchText","replacementHTML",quoteLevel)% + Replaces quoted text
      + %replaceQuotedText(regularExpression,clipboard)% + (new in v3.12) replace text patterns in the quoted part with clipboard contents.
      + %deleteQuotedTags("selector",quoteLevel,minSize)% + Deletes tags from the quote.
      + %replaceQuotedTags("selector","replacementHTML",quoteLevel,minSize)% + Deletes tags from the quote
      + searchText - must be in double quotes - the searchText argument must be a regular expression. + Note that whitespace can be best represented as \s because it can also contain line breaks. + Commas and double quote characters cannot be used.
      + replacementHTML - must be in double quotes - text or a html tag which will be inserted in page. + quoteLevel - optional, (number) which minimal quote level to start from +
      + selector - what you would use to address the tag in css. simplest case "img", or "p" but attribute selectors + can be added as long as double quotes can be avoided.
      + minSize - (optional, numeric) - number of kByte, minimum size for removing the tag. This way you can + keep smaller images like icons / emojis while discarding large images. +

      +
    • +
    +

    + A note on quoteLevel, for images I would recommend 2 if you want to + remove images to retain some context in your replies. This will dramatically decrease email + sizes in long threads which contain a lot of images (e.g. screenshots). +

    +

    + Update - from version 3.11 of SmartTemplates the above commands can also be used to remove text from the + forwarded email (as long as it is forwarded inline). Use quoteLevel = 0 for this to work: + %deleteQuotedText("searchText",0)%. +

    +
    + + + +

    Forwarded Mail Content

    +
    +

    + The command %deleteForwardedBody% removes the content of the original email when + forwarding it inline (not as attachment). This feature can be used to first process information from automated + mails (with text manipulation and header + functions of the type %header.*.matchFromBody% ) while removing the original information. + [issue 236] +

    +
    + + + +

    Advanced Date Functions

    +
    +

    + %dateformat% function for inserting / updating current time. + [Bug 26588] +

    +

    + The format variables are taken from the regular formats such as %Y% for 4-digit + Years, with the % symbols stripped. Use as follows:
    + %dateformat(formatString)% +

    +

    + Supported Formats: + Y, y, n, m, e, d, k, H, l, I, M, S, tz_name, B, b, A, a, p1, p2, p +

    +

    + Examples:
    + %dateformat(A, e/n/Y, H:M)% creates: Wednesday, 23/02/2018, 14:23 +

    +
    + %X:=calculated()% Switch for modifying date & time displayed. [Bug 26307] +

    + %X:=calculated(d,h:mm)% where d = is the number of days to add. h = number of hours and mm number of minutes. + Note this needs to be reset using + %X:=calculated(0)% to reset it for the rest of the Email. +

    +

    + Wrap the format strings in double quotes, and add the parameter toclipboard to force copying + the date to clipboard instead of inserting it into the email. Use the additional + parameter current to always enforce current time (without that, it will + interpret it as the timestamp of the replied to / forwarded original mail) - easier + than having to insert the cumbersome %x:=today% at the start of the line. +
    +

    +
    +  %dateformat("A, e/n/Y H:M",toclipboard)%
    +  %dateformat("A, e/n/Y H:M",current,toclipboard)%
    + + +
    + + + +

    Clipboard Support

    +
    +
    Insert Data from Clipboard
    +

    SmartTemplates Pro now supports using "clipboard" as argument for text and header manipulation functions:

    +

    + header manipulation - examples +

      +
    • %header.set(to,clipboard)% - set the final recipient from the clipboard
    • +
    • %header.append(to,clipboard)% - add a recipient from clipboard
    • +
    • %header.prefix(subject,clipboard)% - add some subject prefix from clipboard
    • +
    +

    +

    + Template text and Quote replacements +

      +
    • %replaceText(regularExpression,clipboard)% - overwrite placeholder text in template from clipboard
    • +
    • %replaceQuotedText(regularExpression,clipboard)% - replace text in the quoted part
    • +
    +

    +
    Copy Variable Results to Clipboard
    +

    + [issue 187] + SmartTemplates Pro: Support transferring headers / variable results to clipboard +

    +

    + Use the parameter toclipboard to transfer header contents such as email addresses to + the clipboard: %from(mail,toclipboard)% +

    +

    + Use it when replying or forwarding messages to extract text from the original message + body or subject to the clipboard, for example: +

    +  %matchTextFromBody("Please reply until (.*)",1,toclipboard)%
    +  %matchTextFromSubject("\[Support\] (.*)",1,toclipboard)%
    +

    +

    + You can use it for copying the date with dateformat as well: + Wrap the format strings in double quotes, and add the parameter toclipboard to force copying + the date to clipboard instead of inserting it into the email. Use the additional + parameter current to always enforce current time (without that, it will + interpret it as the timestamp of the replied to / forwarded original mail) - easier + than having to insert the cumbersome %x:=today% at the start of the line. +
    + Examples: +

    +  %dateformat("A, e/n/Y H:M",toclipboard)%
    +  %dateformat("A, e/n/Y H:M",current,toclipboard)%
    +

    +

    A valid SmartTemplates Pro License is required for this feature to work.

    +
    + + + +

    CardBook Support

    +
    +

    + This uses data from the CardBook address book for all address fields. + You need to install + Cardbook 84.6 or higher to retrieve the addresses from it. + Enable this feature on the advanced settings page: +

    + +

    + I also added platform switches to chatname, which select a specific + chat name based on the what it is for, such as %from(chatname.skype)% + You can find all currently supported switches on the variables page under + the section 'Address Book Fields' and can be combined with all address-related + variables such as %to%, %from%, %cc%, %recipient% or %identity%. +

    + +
    + + + + + +

    Mail Header Manipulation

    +
    +
      +
    • %header.set(hdr,"text")% = Set the header hdr (eg. to, from, subject) with the text.
    • +
    • %header.set(subject,"text")% = Replace complete subject with the text
    • +
    • %header.set(to,clipboard)% = (new in v3.12) set the final recipient from the clipboard.
    • + +
    • %header.prefix(subject,"text")% = Prefix subject with the text
    • +
    • %header.append(subject,"text")% = Append text to subject
    • +
    • %header.delete(subject,"text")% = Delete text from subject
    • +
    +

    + The following functions are using Regular Expressions (search patterns) - these are for + advanced users only but can give you great rewards in automating emails. More info below. +

    +
      +
    • %header.set.matchFromSubject(hdr,regex,group)% = Set the header if a matching regular expression is found in subject line.
    • +
    • %header.append.matchFromSubject(hdr,regex,group)% = Append text to header / recipient if a matching regular expression is found in subject line.
    • +
    • %header.prefix.matchFromSubject(hdr,regex,group)% = Prefix text to header if a matching regular expression is found in subject line.
    • +
    • %header.set.matchFromBody(hdr,regex,group)% = Set the header if a matching regular expression is found in quoted email.
    • +
    • %header.append.matchFromBody(hdr,regex,group)% = Append text to header / recipient if a matching regular expression is found in quoted email.
    • +
    • %header.prefix.matchFromBody(hdr,regex,group)% = Prefix text to header if a matching regular expression is found in quoted email.
    • +
    +

    + The hdr parameter represents a mail header that has textual content, such as (to, from, subject). + This cannot be used for headers containing dates such as the sent time. +

    +

    + The regex parameter is a search pattern in the form of a regular expression; + for more documentation, please check the site + Regular-expressions.info. + There is also a useful regular expressions tester + for trying out your search patterns. For best results, make sure to switch the "Flavor" + field to ECMAScript (JavaScript). +

    +

    + The group parameter is the number of the matched expression, for an explanation + see here. + Usually setting this to 1 will do what is needed most of the time + (replaces first found expression with first match). +

    +

    +

    Additionally, you can now use the matchFromSubject and matchFromBody functions in the following way:

    +%header.set.matchFromBody(hdr,regex,"replacement text")%

    +

    + The main difference is that match group is a number - which will insert / set / append + The matched text found during the search, whereas replacement text is a text that is used + instead if the search pattern is found. For usage simply add the double quotation marks around the 3rd parameter. +

    + +
    + + +

    Examples

    +

    To learn about regular expressions, please visit: www.regular-expressions.info. + For testing your patterns, I recommend this online tester: regex101.com +

    +
    +
      +
    • %header.set(to,"abc@de.com")% = Replace recipient with email address
    • +
    • %header.append(to,"abc@de.com")% = Add email to recipient list
    • +
    • %header.set.matchFromSubject(to,"Donation from .* \((\b[a-zA-Z0-9._+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b)\)",1)%
      + Looks for a pattern "Donation from Name (email)" and extracts email address to set the recipient (to) header.
      + .* is a group of any arbitrary character(s) in order to omit the Name portion of the email address
      + \( and \) match the parentheses,
      + \b means the result of the match group (...) starts at the beginning of the email address and ends before the closing parenthesis.
      + [a-zA-Z0-9._+-]+@[a-z0-9.-]+\.[a-z]{2,4} is a standard email matching expression.
      + 1 - means the result from the first match group (...) is used for setting the header. +
    • +
    +
    + + + + +

    Files and Images

    +
    +
      +
    • + %file(filePath,encoding)% = Include HTML or plain text file. When omitting the encoding + parameter, SmartTemplates will assume UTF-8. If the file contains more SmartTemplates + variables such as %from%, these will be resolved. +
    • +
    • + %file(imagePath,altText)% = Inserts an image file (png,jpg,gif,bmp,svg). + The optional altText is displayed if the image can't be found. +
    • +
    +

    + For the correct file path syntax, click the + %file% label in the Variables tab in the SmartTemplates settings window. + This will open a standard file prompt and then insert the correct code into the template. +

    +
    + + + +

    Filter for automatic Forwarding / Replying

    +
    +

    + Auto-Forward / Auto-Replying Emails with smart template - this requires the Add-on FiltaQuilla + version 3.4 or later. +

    +

    + To enable this feature, you must first open FiltaQuilla settings on the Actions tab:
    + configure filtaquilla to work with SmartTemplates
    + Next you can create new message filters, activate either Forward or Reply with Smart Template. + Then create a new message filter from the tools menu; in action select "Forward with SmartTemplate" + and push the open file button to select an external template file:
    + adding forward action in a filter + +

    +

    + When forwarding files, you can use %header.set(to)% and %header.append(to)% to populate + the recipients (address book groups should also work) or %header.set(bcc)% for undisclosed recipients. +

    +

    + The command %suppressQuoteHeaders% will now remove all quote headers - the ones inserted + by Thunderbird automatically and the ones that may be configured in SmartTemplates account settings. +
    + You can also use %sig(none)% to suppress inserting any signatures. +

    +
    + + + + + +

    Running "sandboxed" JavaScript

    +
    +

    + To do more flexible things with SmartTemplates a user (Benito van der Zanders) once + contributed a JavaScript + feature - this is able to run some user supplied script in order + to insert SmartTemplates variables in a flexible manner. While I cannot guarantee + that this is going to work forever, it has come in handy for some advanced users. + You can currently use it as follows: +

    +

    + Enable the Thunderbird config setting extensions.smartTemplate4.allowScripts=true. + Then add a code section using the tags %{% and %}%. + You need to define an anonymous function that can return a string. E.g.: +

    +(function() {
    +  /* your code here... */
    +  return "something";
    +}()
    +

    +

    + You can use SmartTemplates variables (without the % signs) within code, + they should be replaced within the function like a variable would in your HTML template. +

    + Example 1: load different template depending on who you reply +
    +%{%  
    +(function() {
    +  switch(from('mail')) {
    +    case "thunderbirddaily@gmail.com":
    +      return "<p>Special text for thunderbirddaily.</p>"
    +        + "<p>Another paragraph!</p>";
    +    case "axel@gmail.com":
    +      return file("W:\\User\\axel\\stationery\\QuickFolders - Links (English).html");
    +    default:
    +      return "<p>default case!</p>";
    +  }
    +})()
    +%}%
    +
    +

    + Here the keywords file and from('mail') are replaced in the script with the SmartTemplates + variables %file(path)% and %from(mail)% and then resolved by SmartTemplates. + Notes: backslashes in strings need to be escaped: "\\"
    + Keywords / unquoted parts within smartTemplate functions like %from()%, such as + mail, firstname, toclipboard etc. should be wrapped in single quotes + - otherwise the script parser will think they are undefined variables and return an error. +

    + + Example 2: Greeting based on time of day +
    +%{% 
    +( () => {
    +var date = new Date();
    +if (date.getHours() < 12) {return "Good morning";}
    +else { return "Good afternoon"; }
    +} )() %}%
    +
    +
    + + + + + + +

    Other Benefits of having a Yearly License

    +

    + You know that you support the project and that the development and support will be continue. + There is a huge amount of work involved not just programming and keeping SmartTemplates up to date + but also supporting users, coming up with better ways of doing things, fixing bugs, and keeping + SmartTemplates usable across various platforms and host programs (at the moment I support Thunderbird, + SeaMonkey and Postbox). I am constantly helping people with using SmartTemplates and their mail program + and how to get the most out of email on the desktop. +

    +

    + All notification messages that indicate premium features are omitted. +

    +

    + The donation screen (which is normally shown after every Update) is hidden. +

    +

    Alternative Monetisation Models

    +

    + There are quite a few software developers (and also some users) who believe + that software should generally financed by advertisement or even by selling + information about their users. + I am firmly opposed to this way of making money as it impacts + both productivity and privacy rights; also in the world of Email I would + find this way of generating value deeply problematic - even if it was + strictly opt-in. There is a lot of personal information in our daily mail + and a lot of knowledge that is being stored and retrieved with this powerful + tool. +

    +

    + One of the reasons for a personal Email Client on the desktop + is the fact that we can store our data on our personal hardware and use it + any way we like. On the other hand, if we use a web mail client (like gmail) + we can never be sure whether the information is used otherwise and whether + we get targeted with distracting information (be it by injecting advertisements or via + targeted advertisement emails) - it is one of the goals of any mail desktop client + to eliminiate these distractions as much as possible, and focus on one thing only: + managing communication. +

    +

    + SmartTemplates is an especially powerful set of tools to harness this + information and it will evolve and keep saving time and make your experience + of mail more meaningful and intuitive. +

    + + + + + + + +
    + + + + + +
    + + + + + diff --git a/quickstart.html b/quickstart.html new file mode 100644 index 000000000..8b90b92b5 --- /dev/null +++ b/quickstart.html @@ -0,0 +1,233 @@ + + + + Smart Templates - Quick Start + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + +
    +

    Creating a Template (Write)

    +

    To create a usable Template is really simple:

    +
      +
    1. Activate a template for Write by clicking Apply the following template to the new message
    2. +
    3. Open the SmartTemplates Settings dialog and click on the Examples tab.
    4. +
    +

    + Then just highlight the text with the cursor and drag & drop. This example creates a Template for new Messages (write case) +
    + Template for new message +

    +

    + Alternatively, you can now also us the [copy] button to copy the template to the clipboard + and then paste it where you need it. +
    + Template for new message +

    +
    + +
    +

    Creating a Template (Reply)

    +

    The same applies for Header / template (reply / forward cases) +
    + Template for reply / fwd cases +

    +

    + The quote header part is a prefix that says "mail follows below" and can be as simple as "Axel wrote:" +

    +

    + The template part represents your mail body. E.g. "Dear %name%, ..." +

    +

    + TIP: More template examples can be found on our examples page or inside examples tab of our add-on. +

    +
    + + + + + + +
    + + + + + +
    + + + + + diff --git a/screenshots.html b/screenshots.html new file mode 100644 index 000000000..19b631257 --- /dev/null +++ b/screenshots.html @@ -0,0 +1,356 @@ + + + + Smart Templates - Smart Template 4 Screenshots + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + +
    + +
      +
    • + +

      + 2 box solution in reply and forward cases (Version 0.9.2pre20 or later) +

      + +
    • + +
    • + +

      + Recommended Settings in Composition&Addressing Window (Version 0.9.1 or later) +

      + +
    • + +
    • + +

      + Conversion Window (Version 0.9.1 or later) +

      + +
    • + +
    • + +

      + Common Settings +

      + +
    • + +
    • + +

      + Account Specific Settings +

      + +
    • + +
    • + +

      + Debug Settings +

      + +
    • + +
    • + +

      + Help Widget +

      + +
    • + +
    • + +

      + Validation +

      + +
    • + +
    +
    + + + + + + + + +
    + + + + + +
    + + + + + diff --git a/screenshots/2-box-solution.png b/screenshots/2-box-solution.png new file mode 100644 index 000000000..8ddc42993 Binary files /dev/null and b/screenshots/2-box-solution.png differ diff --git a/screenshots/2013-10-10 12_06_42-qs_replyFwd-Header.png b/screenshots/2013-10-10 12_06_42-qs_replyFwd-Header.png new file mode 100644 index 000000000..cdebd014c Binary files /dev/null and b/screenshots/2013-10-10 12_06_42-qs_replyFwd-Header.png differ diff --git a/screenshots/aboutWindow.png b/screenshots/aboutWindow.png new file mode 100644 index 000000000..00202000e Binary files /dev/null and b/screenshots/aboutWindow.png differ diff --git a/screenshots/account-settings-main.png b/screenshots/account-settings-main.png new file mode 100644 index 000000000..20a6ab8b5 Binary files /dev/null and b/screenshots/account-settings-main.png differ diff --git a/screenshots/account-settings-sig.png b/screenshots/account-settings-sig.png new file mode 100644 index 000000000..7a0627d50 Binary files /dev/null and b/screenshots/account-settings-sig.png differ diff --git a/screenshots/bugzilla-feature.png b/screenshots/bugzilla-feature.png new file mode 100644 index 000000000..896617de3 Binary files /dev/null and b/screenshots/bugzilla-feature.png differ diff --git a/screenshots/common.png b/screenshots/common.png new file mode 100644 index 000000000..b1c0ee6a9 Binary files /dev/null and b/screenshots/common.png differ diff --git a/screenshots/conversion.png b/screenshots/conversion.png new file mode 100644 index 000000000..9ff9ca805 Binary files /dev/null and b/screenshots/conversion.png differ diff --git a/screenshots/cutomize_toolbar_drag.png b/screenshots/cutomize_toolbar_drag.png new file mode 100644 index 000000000..a9e6c5cb6 Binary files /dev/null and b/screenshots/cutomize_toolbar_drag.png differ diff --git a/screenshots/debug_window.png b/screenshots/debug_window.png new file mode 100644 index 000000000..073602abd Binary files /dev/null and b/screenshots/debug_window.png differ diff --git a/screenshots/examples.png b/screenshots/examples.png new file mode 100644 index 000000000..c25d4e7b8 Binary files /dev/null and b/screenshots/examples.png differ diff --git a/screenshots/examples_copy-paste.png b/screenshots/examples_copy-paste.png new file mode 100644 index 000000000..9860d1af6 Binary files /dev/null and b/screenshots/examples_copy-paste.png differ diff --git a/screenshots/export.png b/screenshots/export.png new file mode 100644 index 000000000..7ebe944d6 Binary files /dev/null and b/screenshots/export.png differ diff --git a/screenshots/fileTemplates.png b/screenshots/fileTemplates.png new file mode 100644 index 000000000..9d9367d73 Binary files /dev/null and b/screenshots/fileTemplates.png differ diff --git a/screenshots/global-settings.png b/screenshots/global-settings.png new file mode 100644 index 000000000..9b07e8903 Binary files /dev/null and b/screenshots/global-settings.png differ diff --git a/screenshots/header-function.png b/screenshots/header-function.png new file mode 100644 index 000000000..11887ab5f Binary files /dev/null and b/screenshots/header-function.png differ diff --git a/screenshots/help_onclick.png b/screenshots/help_onclick.png new file mode 100644 index 000000000..4a2561d82 Binary files /dev/null and b/screenshots/help_onclick.png differ diff --git a/screenshots/help_onclick_error.png b/screenshots/help_onclick_error.png new file mode 100644 index 000000000..9e55a48a4 Binary files /dev/null and b/screenshots/help_onclick_error.png differ diff --git a/screenshots/identity.png b/screenshots/identity.png new file mode 100644 index 000000000..72c2e3048 Binary files /dev/null and b/screenshots/identity.png differ diff --git a/screenshots/identity_select.png b/screenshots/identity_select.png new file mode 100644 index 000000000..9d71a0379 Binary files /dev/null and b/screenshots/identity_select.png differ diff --git a/screenshots/identity_settings.png b/screenshots/identity_settings.png new file mode 100644 index 000000000..1d7129b71 Binary files /dev/null and b/screenshots/identity_settings.png differ diff --git a/screenshots/import.png b/screenshots/import.png new file mode 100644 index 000000000..d47825246 Binary files /dev/null and b/screenshots/import.png differ diff --git a/screenshots/kb/inspector.png b/screenshots/kb/inspector.png new file mode 100644 index 000000000..f5b6a53df Binary files /dev/null and b/screenshots/kb/inspector.png differ diff --git a/screenshots/kb/kb-inspector-computed.png b/screenshots/kb/kb-inspector-computed.png new file mode 100644 index 000000000..4963d9601 Binary files /dev/null and b/screenshots/kb/kb-inspector-computed.png differ diff --git a/screenshots/kb/kb-inspector-filter-styles.png b/screenshots/kb/kb-inspector-filter-styles.png new file mode 100644 index 000000000..5c9007379 Binary files /dev/null and b/screenshots/kb/kb-inspector-filter-styles.png differ diff --git a/screenshots/kb/kb-inspector-layout.png b/screenshots/kb/kb-inspector-layout.png new file mode 100644 index 000000000..feb98f3c9 Binary files /dev/null and b/screenshots/kb/kb-inspector-layout.png differ diff --git a/screenshots/kb/kb-inspector-rules.png b/screenshots/kb/kb-inspector-rules.png new file mode 100644 index 000000000..8eb68c54f Binary files /dev/null and b/screenshots/kb/kb-inspector-rules.png differ diff --git a/screenshots/kb/kb-inspector-style-override.png b/screenshots/kb/kb-inspector-style-override.png new file mode 100644 index 000000000..839fd472c Binary files /dev/null and b/screenshots/kb/kb-inspector-style-override.png differ diff --git a/screenshots/kb/kb-inspector-target-doc.png b/screenshots/kb/kb-inspector-target-doc.png new file mode 100644 index 000000000..10129c5f3 Binary files /dev/null and b/screenshots/kb/kb-inspector-target-doc.png differ diff --git a/screenshots/kb/menu-inspector.png b/screenshots/kb/menu-inspector.png new file mode 100644 index 000000000..9f0b7aab0 Binary files /dev/null and b/screenshots/kb/menu-inspector.png differ diff --git a/screenshots/kb/style_tags.png b/screenshots/kb/style_tags.png new file mode 100644 index 000000000..219943000 Binary files /dev/null and b/screenshots/kb/style_tags.png differ diff --git a/screenshots/permission.png b/screenshots/permission.png new file mode 100644 index 000000000..acbe894db Binary files /dev/null and b/screenshots/permission.png differ diff --git a/screenshots/qs_newMessage.png b/screenshots/qs_newMessage.png new file mode 100644 index 000000000..bc9266447 Binary files /dev/null and b/screenshots/qs_newMessage.png differ diff --git a/screenshots/qs_replyFwd-Header.png b/screenshots/qs_replyFwd-Header.png new file mode 100644 index 000000000..a8dfd9f3a Binary files /dev/null and b/screenshots/qs_replyFwd-Header.png differ diff --git a/screenshots/quickstart_copy-src.png b/screenshots/quickstart_copy-src.png new file mode 100644 index 000000000..7d69d0af7 Binary files /dev/null and b/screenshots/quickstart_copy-src.png differ diff --git a/screenshots/settings-process-sig.png b/screenshots/settings-process-sig.png new file mode 100644 index 000000000..be6f69973 Binary files /dev/null and b/screenshots/settings-process-sig.png differ diff --git a/screenshots/settingsStationery.png b/screenshots/settingsStationery.png new file mode 100644 index 000000000..c4b5c4707 Binary files /dev/null and b/screenshots/settingsStationery.png differ diff --git a/screenshots/stationery-dropDown.png b/screenshots/stationery-dropDown.png new file mode 100644 index 000000000..8098ba169 Binary files /dev/null and b/screenshots/stationery-dropDown.png differ diff --git a/screenshots/stationery-example.png b/screenshots/stationery-example.png new file mode 100644 index 000000000..a0a5bb3d5 Binary files /dev/null and b/screenshots/stationery-example.png differ diff --git a/screenshots/stationery-html.png b/screenshots/stationery-html.png new file mode 100644 index 000000000..b41040120 Binary files /dev/null and b/screenshots/stationery-html.png differ diff --git a/screenshots/statusLabelConfig.png b/screenshots/statusLabelConfig.png new file mode 100644 index 000000000..83ad4f3e2 Binary files /dev/null and b/screenshots/statusLabelConfig.png differ diff --git a/screenshots/statusbar-Button.png b/screenshots/statusbar-Button.png new file mode 100644 index 000000000..9c7faf9af Binary files /dev/null and b/screenshots/statusbar-Button.png differ diff --git a/screenshots/support/compactLog.png b/screenshots/support/compactLog.png new file mode 100644 index 000000000..2d9feb059 Binary files /dev/null and b/screenshots/support/compactLog.png differ diff --git a/screenshots/support/console-optimal-settings.png b/screenshots/support/console-optimal-settings.png new file mode 100644 index 000000000..8b6cd02a7 Binary files /dev/null and b/screenshots/support/console-optimal-settings.png differ diff --git a/screenshots/support/console.png b/screenshots/support/console.png new file mode 100644 index 000000000..5be596009 Binary files /dev/null and b/screenshots/support/console.png differ diff --git a/screenshots/support/console2Options.png b/screenshots/support/console2Options.png new file mode 100644 index 000000000..20210ee1b Binary files /dev/null and b/screenshots/support/console2Options.png differ diff --git a/screenshots/support/console2Search.png b/screenshots/support/console2Search.png new file mode 100644 index 000000000..a1b1faacb Binary files /dev/null and b/screenshots/support/console2Search.png differ diff --git a/screenshots/support/console2WindowOptions.png b/screenshots/support/console2WindowOptions.png new file mode 100644 index 000000000..24df33bda Binary files /dev/null and b/screenshots/support/console2WindowOptions.png differ diff --git a/screenshots/support/console2WindowOptionsClear.png b/screenshots/support/console2WindowOptionsClear.png new file mode 100644 index 000000000..ba43c28ed Binary files /dev/null and b/screenshots/support/console2WindowOptionsClear.png differ diff --git a/screenshots/support/errorCopy.png b/screenshots/support/errorCopy.png new file mode 100644 index 000000000..a8ade210a Binary files /dev/null and b/screenshots/support/errorCopy.png differ diff --git a/screenshots/support/errorExample.png b/screenshots/support/errorExample.png new file mode 100644 index 000000000..ae2062288 Binary files /dev/null and b/screenshots/support/errorExample.png differ diff --git a/screenshots/support/st4DebugOptions.png b/screenshots/support/st4DebugOptions.png new file mode 100644 index 000000000..073602abd Binary files /dev/null and b/screenshots/support/st4DebugOptions.png differ diff --git a/screenshots/support/st4GlobalSettingsTab.png b/screenshots/support/st4GlobalSettingsTab.png new file mode 100644 index 000000000..b37f838ff Binary files /dev/null and b/screenshots/support/st4GlobalSettingsTab.png differ diff --git a/screenshots/update-Warning.png b/screenshots/update-Warning.png new file mode 100644 index 000000000..880015959 Binary files /dev/null and b/screenshots/update-Warning.png differ diff --git a/source.html b/source.html new file mode 100644 index 000000000..268d94ce2 --- /dev/null +++ b/source.html @@ -0,0 +1,280 @@ + + + + Smart Templates - Source + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + +
    +

    Source Code

    + +

    The SmartTemplates source code is now hosted on Github

    + + + + +

    Ways of accessing git

    +
    +

    You can either use the git client, or use a SVN client for checking out the repository.

    + +

    SVN & Subversion client links:

    + + + + + + + + + + + +
    + + + + + +
    + + + + + diff --git a/stationery.html b/stationery.html new file mode 100644 index 000000000..2b75da985 --- /dev/null +++ b/stationery.html @@ -0,0 +1,369 @@ + + + + Smart Templates - Stationery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + + +

    + You can add a list of external HTML templates, integrated into the Write / Reply and Forward buttons, just like + with Stationery, by selecting the item Template Files from the accounts drop down:
    + SmartTemplate - Template Files Integration +

    +

    + Note: when using an external template file (just like with Stationery), then the account specific quote header + and template are ignored. If you need any SmartTemplates variables, you can insert them directly in the + HTML template file. +

    + +  +

    How to use Template Files (instead of Stationery Add-on)

    +

    You select an external template via a dropdown on the reply / write or forward button: +
    + Templates on reply +
    + This will load the template (HTML file) from disk and replace all SmartTemplates variables + based on your Thunderbird Identity and data of the replied / forwarded Mail + as expected. +

    +

    + To add more templates to each menu, select the command configure menu items... +
    + configure templates +

    +

    + This will open the SmartTemplate Settings dialog with the page "Template Files" selected: +
    + How to add template files +

      +
    1. In Account, select "Template Files" 1
    2. +
    3. Click "Select Template File from disk" 2
    4. +
    5. [Optional step] 3 change the Title to display in the menu
    6. +
    7. [Optional step] 4 add a Category - this will create a submenu in order to structure your menu
    8. +
    9. 5 Click Add to add the template to the Write / Reply or Forward list.
    10. +
    +

    + +  +

    How to use Categories

    +

    + You can structure the template menus into submenus using the "Category" field. + These use alphabetical keyboard shortcuts (A, B, C...). +
    + Categories menu list +

    +

    + To add a menu to an existing item, select it and enter the desired label for the popup menu: +
    + Category field +
    + After that, click on the Update button. This will make a new submenu and move + the template underneath it. Note that the uppercae / lowercase spelling needs to match + exactly if you want multiple templates under the same submenu. +

    + + + +

    What is Stationery?

    + +

    + From version 0.9.3 onwards, SmartTemplates supported integration with the Stationery addon by integration from + its owner Arivald. + After Thunderbird 68, Stationery is not supported anymore, and you can use the internal template + integration of SmartTemplates. +

    + +

    Official Stationery page: Stationery for Thunderbird

    + +

    Stationery is an addon that allows adding "outlook-style" stationery to your emails. + What's more, it can be very well used to create powerful mail templates for repetitive tasks + such as sending out standard mails or replies; one thing that is missing in its functionality is + the ability to add in a variety of mail header based variables, this is where SmartTemplates comes in.

    + +

    Stationery uses HTML files as templates for mail. It allows using different templates in replies / forwarded mail + and makes it possible to select the template using a simple click on a chevron beside the reply button: +
    + template selection +

    + +

    + Stationery used to add a handy html editing pane to the composer window; from Thunderbird 78 onwards, + you can instead install the Add-on + ThunderHTMLedit + to get the same feature: +
    + template selection +

    + + + +

    How do I use SmartTemplates with external templates?

    + +

    + You can use pretty much all variables directly in your stationery files. + When you select a new Template during writing or replying to mail, then the + account templates which are bound to the account identity of + your current email will be temporarily ignored. + The quote header settings are still used, unless specified otherwise (see below). +

    +

    Instead SmartTemplates will search and replace the special + header variables in the Stationery itself. This turns Stationery into a full blown templating application.

    +

    + Additionally, you can use the following powerful variables to control the content + and behavior of your Stationery Template: +

    + +
    +
      +
    • %sig(HTML)% / %sig(Text)% = Inserts Signature (will be read from Account Settings). Your signature may also contain other variables. + If you want st4 to replace variables in the signature, make sure to enable the option Process signature in + SmartTemplates's advanced settings:
      + process signature +
    • +
    • %cursor% = Controls where your cursor will go when the email body gets the focus
    • +
    • %quotePlaceholder% = Use this to determine where the text of the replied to mail should go. + Note that this can also be used by just selecting some text from the original email and then hitting reply: + only the selected portion will be quoted. Also, if you write a new email, the variable will simply be removed + (as there is nothing to quote). +
    • +
    • %quoteHeader% = From version 0.9.4 we will support injecting the (processed) contents of our quote header box into the + body of the Stationery. Interestingly the variable will only be filled in the cases reply and forward, and will simply + be removed when writing a new email. This way you can use the same stationery for all cases. +
    • +
      + ATTENTION: + You cannot use %quotePlaceholder% or %quoteHeader% in SmartTemplates directly; it is only allowed in your Stationery files. + +
    +

    For a more complete list of variables that you can use in your Stationery, please read the variables page.

    +
    + + +

    Example of a Stationery with SmartTemplates variables

    + +

    Here is an example of a Stationery I use when I write support email. The quoted text is automatically inserted into the inner + container via %quotePlaceholder%. Also, %subject% is used to show the conversation title + in the top. Note that the signature (green box) is injected into the stationery using the %sig(HTML)% / %sig(Text)% variable. The signature + itself also contains SmartTemplates variables (%identity(name)%).

    + +

    + stationery example +

    + +

    We hope you enjoy this new and powerful features of SmartTemplates.

    + +

    + Please, leave some feedback at the Mozilla Addons Page - spread the word so more people start using it! +

    + + + + + + +
    + + + + + +
    + + + + + diff --git a/support.html b/support.html new file mode 100644 index 000000000..4059bd5b3 --- /dev/null +++ b/support.html @@ -0,0 +1,313 @@ + + + + Smart Templates - Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + +

    No Software is without trouble.

    +

    + We try to publish software with less of trouble for you but if you have some, we highly recommend to install the + Console² Add-on first. +
    + Thunderbird 60 and earlier: Please install the patched version here for contemporary builds + of Thunderbird (45 and higher - now compatible with Thunderbird 60.4.0).
    + Console² has more detailed options for the logging process than the default error console of Thunderbird. + If you do want to use the built in error console, be aware that it may be a little harder to + set up what it actually displays. By default it may not give you what you need for Add-on troubleshooting.

    +

    Thunderbird 68 and later + you have to use the built in Javascript error console, which can be invoked from the Tools menu: + Select Developer Tools / Error console or press Ctrl+Shift+J + + +

    Console² Configuration - Thunderbird 60 and earlier only

    +

    1. Click on "Options" in the top right corner of Console² Window and select the following options:
    + +

    +

    2. Click the "All" button on top left of Console² Window to see those entries inside the Log Window only
    +

    + +

    3. Disable the "Content" logging using the 5th button on the second toolbar below. This will make sure to remove any "noise" + introduced by errors in the emails themselves. Usually we do not need these error messages as they only muddy the waters
    + +

    + + +

    4. Often it is necessary to provide more context - you can tell SmartTemplates to log more information of what it does. +

    +
      +
    • + Please activate the debug option on the bottom of SmartTemplates ⇒ Advanced ⇒ Global Settings Tab.
      +
      + Note: there may be a warning on "voiding the warranty" - you can ignore this as I made it safe by displaying + our debug options only. +
    • + +
    • You can create additional more specific messages by right-clicking the debug checkbox and activating additional options (double click on the entry). + Please do not activate everything as this will make the log unreadable also - if you send us a support email + we can usually advise what debug options to activate.
      + +
    • +
    + +

    Investigating the Error Log

    + +

    So once you have the error console set up, what can you do it? + Remember you have to always open the log window to start logging errors / activity so make sure you do this + with Tools / Devloper Tools / Error Console just before you do the trouble shooting. +

    + +

    STEP 1 - Setting up the Investigation

    + +

    If you want to start a fresh clean log it is always good to click the "Clear" button at the top immediately + before you carry out the actions you investigate. Also make sure to not repeat the action do it once until + the problem happens.

    + +

    STEP 2 - Saving the Error Log

    + +

    + Then you need to copy the error log into a text file or email. Simply use the console + right-click menu and choose "Select All". Then "Copy". Do not take a screenshot of the error log as it is much + harder to investigate - text is nice as you can search and order it! + You can always send us error logs in an email if you are having problems.
    +
    +

    A note on typical Error messages: If there is a problem somewhere in Thunderbird code or an Add-on + then warnings and errors usually provide a location of where this happened. + If the location starts with "chrome://" you will know this happens in Thunderbird or and Add-on and not + in a web page or within an email. The line number is also very helpful in tracking down particular issues. +

    +

    Any messages that we generate during "debug" logging typically look like this: +

    +
    SmartTemplates {FUNCTIONS.INSERTTEMPLATE} 14:2:39.705  [0 ms]	 
    +Add Signature... 
    +
    +

    As you can see we start all our debug logs with the name of the addon (SmartTemplates). + This can be followed by an optional {OPTION} which shows which additional area we are debugging. + This is then followed by a time stamp (14:2:39.705) and a time measurement [0 ms] since any previous operation. + This makes it possible to pin point any operations that take unusually long. Underneath we show + additional information about what smartTemplate is doing at the moment. +

    + +

    STEP 3 - Looking for Particular Problems

    +

    When you have completed the logging phase, you can now use the "Errors", "Warnings" and "Messages" buttons + to filter out particular problems. You can also use the Search box if you like, e.g. you could type a keyword + like "smarttemplate":
    + +
    + Note however this might actually hide the real cause of the problem so this is only for advanced users. + If you decide to send us a log, do not remove anything from it. To help us, just follow the initial instructions + above and disable content logging and start with an empty log (only test one thing at a time). +

    + +

    Now you get error entries inside Log Window listed like this example
    +⇒ This example shows a warning "yellow triangle" as result of JavaScript strict mode ("use strict"; ⇒ ECMAScript5) which we use
    + +

    + +

    + TIP: By selecting Edit ⇒ Paste, these log entries can be inserted directly from your clipboard into your e-Mail to us or into a bug report on Bugzilla. +

    + +

    + ATTENTION: Please try not to send screen shots of error logs, but just the plain text messages + (console has select all / copy entries in it's right--click menu). + It is likely that messages not constaining with "chrome://smarttemplate4/.." are probably unrelated, + but if they are errors or warning close to one of our own operations they may still be helpful. +

    + + + + + + +
    + + + + + +
    + + + + + diff --git a/templates.html b/templates.html new file mode 100644 index 000000000..617de0cbe --- /dev/null +++ b/templates.html @@ -0,0 +1,644 @@ + + + + Smart Templates - Templates + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + +

    ATTENTION: + If you use CC Variables e.g. %cc(name)% inside the double square bracket expression [[...]] make sure, that the complete content is in the same line otherwise it will not work! +

    + + + + + +
    + +
      +
    • + +

      + Microsoft Outlook Reply/Forward template +


      + + +
    • + +
    • + +

      + Include your signature without the '-- ' +


      + +
    • + +
    • + +

      + A simple New message template +


      + +
    • + +
    • + +

      + A simple New message template with font style applied +


      + +
    • + +
    • + +

      + A quote header with style labels +


      + +
    • + +
    • + +

      + If you want a full template, try this example on the Reply and Forward tab +


      + +
    • + +
    • + +

      + A creative Reply/Forward header of English/German together +


      + +
    • + +
    • + +

      + A more elaborate reply/forward message template +


      + +
    • + +
    • + +

      + A simple reply/forward message template without space between Template and horizontal rule +

      + +
    • + +
    • + +

      + A simple Reply template +

      + +
    • +
    +
    + +

    + ATTENTION: + Templates which use <br> tags should be used with "Replace new-line with <br>" option deactivated + and Templates without the <br> Tags included should be used WITH the option "Replace new-line with <br>" activated if you like to use a line-by-line template! +

    + +

    Signature files

    +

    Some special considerations apply when using signature files, which you can configure via Thunderbird +account settings - to configure, right-click any account and select settings. The main settings determine what +kind of signature (plain text or html) it is and where to find the signature file:

    + +main account settings + +

    The positioning of the signature depends on the setting on the Composition & Addressing screen:

    + +composition & addressing + +

    TIP: + You can override this positioning by placing the %sig(html)% or %sig(text)% variable in your template.
    + Please visit our Variable defintion Page for futher details for their use. +

    + +

    AscII Art

    +

    In order to paint an "ASCII art" signature, a monospaced font must be used and white-space must be preserved (In HTML, normally all spaces between words are collapsed). +The easiest way to achieve this is is by wrapping your signature in a pair of <pre> tags, like this:

    +an example for ASCII art + +
    +

    Encodings

    +

    To be able to include a wide selection of different characters in the signature, the routine that reads it in will assume +that it is stored as UTF-8. Please make sure to save your signature files in this format, especially when using special (unicode) characters. + +Alternatively, you can force a different encoding by changing the configuration setting:

    +
      +
    • extensions.smartTemplate4.signature.encoding
    • +
    + + + + + + + + + + +
    + + + + + +
    + + + + + diff --git a/variableTable.html b/variableTable.html new file mode 100644 index 000000000..d2b0a830a --- /dev/null +++ b/variableTable.html @@ -0,0 +1,438 @@ + + + + Smart Templates - Variable table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + +
    +

    This is a table of all existing variables for SmartTemplates and in which case they can be used.

    +

    + ATTENTION: When Variables are used incorrectly an error is logged to Thunderbird's Error Console. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeywordNewReplyForward
    %A%%a%
    %B%%b%
    %cc(firstname)%
    %cc(mail)%
    %cc(name)%
    %cc%
    %d%%e%
    %date_tz%
    %date%
    %datelocal%
    %dateshort%
    %from(firstname)%
    %from(mail)%
    %from(name)%
    %from%
    %H%%k%
    %l%%i%
    %M%
    %m%%n%
    %Message-ID%
    %Newsgroups%
    %ownmail%
    %ownname%
    %p(1)%
    %p(2)%
    %p(3)%
    %p%
    %S%
    %subject%
    %subject(2)%
    %T%
    %to(firstname)%
    %to(mail)%
    %to(name)%
    %to%
    %tz_name%
    %X-Mailer%
    %X:=sent%
    %X:=today%
    %Y%
    +
    + + + + + + +
    + + + + + +
    + + + + + diff --git a/variables.html b/variables.html new file mode 100644 index 000000000..3f70af9ec --- /dev/null +++ b/variables.html @@ -0,0 +1,996 @@ + + + + Smart Templates - Variables + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + + + +
    +

    + ATTENTION: This information is based on the latest Add-on version.
    + Maybe your installed version didn't contain all the variables listed here, please refer add-on help for further details!
    + From 0.9.3 and onward we have a new logic of our Variables, please use the NEW ones from now instead of the OLD ones! +

    +
    + +

    Common

    +
    +

    + TIP: Some variables cannot be used when composing new mails; a message will be displayed should you chose one accidentally. +

    +

    + variable can be used always, including New E-Mails
    + variable can be used in New Emails, creating a clickable field
    + variable can only be used in Forward / Reply cases + +

    +
    + + + +

    Obsolete Variables

    +
    +
      +
    • - 0.9.3
      %ownname%
      0.9.4 -
      %identity(name)%
    • +
    • - 0.9.3
      %ownmail%
      0.9.4 -
      %identity(mail)%
    • +
    • - 0.9.3
      %sig%
      0.9.4 -
      %sig(html)% %sig(text)% settings for delimiter (--) included in our global settings tab
    • +
    • - 0.9.3
      %sig2%
      0.9.4 -
      %sig(html)% %sig(text)%
    • +
    +
    + + +

    Identity

    +
    +
      +
    • %identity% = Name + Email of the current selected identity
    • +
    • %identity(name)% = Name of the current selected identity
    • +
    • %identity(name,link)% = Name of the current selected identity as mailto link
    • +
    • %identity(mail)% = Email address of the current selected identity
    • +
    • %identity(mail,link)% = Email address of the current selected identity as mailto link
    • +
    • %identity(addressbook,fieldId)% = Use the 'addressbook' keyword to retrieve additional + identity information from address book.
    • + +
    +

    fieldId: For additional field values, see chapter 'Address Book Fields' below.

    +

    Example:
    +

    Phone No: %identity(addressbook,workphone)% 
    +

    +

    The 'addressbook' variables also support using the optionality syntax [[ ... ]] in order to + omit a section of text or html if the particular addressbook field is empty. + The following line will be omitted if State information is not available from the address book + for the current identity.
    +

    [[State: %identity(addressbook,work.state)%]]
    +

    +
    + + + + +

    Fixed variables

    +
    +
      +
    • %date% = Date / Time (same as original 'Mailheader')
    • +
    • %sig% = Signature from account settings
    • +
    • %cursor% = Sets the cursor position.
    • +
    • %identity(name)% = Your name (also %ownname%)
    • +
    • %identity(mail)% = Your email (also %ownmail%)
    • +
    • %recipient% = Final Recipient's name / mail address. what exactly is shown depends on the advanced setting "Default address format"
    • +
    • %recipient(mail)% = Recipient's email address (Text only)
    • +
    • %recipient(firstname)% = Recipient's First name
    • +
    • %mailto(body)% = use this to insert the body portion of a + mailto link.
    • +
    • %attach()%Attaches a file to the emails.
    • +
    • %spellcheck(language)% = Sets the spell-checking language. Example values: (en, de, es, ru) - note that the dictionary must be installed. +
    +

    The actual display of email addressing variables such as %to% can be configured in Advanced Settings + in the box 'Default address format'. +

    +
    + + + +

    Recipient (To)

    +
    +

    + In replies / forwarded mails, these variables refer to headers from the original email, so if you + reply to an email it will show your own address info. When you write a new email this variable + will be displayed as a placeholder for your "final recipient" and can be updated by clicking on it + once you have entered a "To:" address above.
    + To always insert the final recipient of your mail regardless on where you use it (Write, Reply, Forward), + use %recipient% instead. +

    +
      +
    • %to% = Recipient's name (default)
    • +
    • %to(firstname)% = Recipient's first name
    • +
    • %to(firstname,link)% = Recipient's first name as mailto link
    • +
    • %to(name)% = Recipient's name
    • +
    • %to(name,link)% = Recipient's name as mailto link
    • +
    • %to(mail)% = Recipient's email address (Text only)
    • +
    • %to(mail,link)% = Recipient's email address as mailto link
    • +
    +

    TIP: When the name is not available, email address will be displayed instead

    +
    + + + + +

    Sender (From)

    +
    +

    + In replies / forwarded mails, these variables refer to headers from the original email, so if you + reply to an email it will show the original sender's address info. + Only when you write a new email this variable will be replaced with your own from address.
    + To always insert your own information in a template regardless on where you use it (Write, Reply, Forward), + use %identity% instead. +

    +
      +
    • %from% = Sender's name (default)
    • +
    • %from(firstname)% = Sender's firstname
    • +
    • %from(firstname,link)% = Sender's firstname as mailto link
    • +
    • %from(name)% = Sender's name
    • +
    • %from(name,link)% = Sender's name as mailto link
    • +
    • %from(mail)% = Sender's email address (Text only)
    • +
    • %from(mail,link)% = Sender's email address as mailto link
    • +
    • %from(mail,toclipboard)% = transfer sender's address to clipboard.
    • +
    +

    TIP: When the name is not available, email address will be displayed instead

    +
    + + + +

    Recipient (CC)

    +
    +

    + In replies / forwarded mails, these variables refer to cc parts from the original email. + If you use it in a new email this variable will be displayed as a placeholder for + anybody you CC and will be updated once you click it - probably not a useful application in + a real example as the idea of CC is hiding recipients. +

    +
      +
    • %cc% = Recipient's name (Default)
    • +
    • %cc(firstname)% = Recipient's first name
    • +
    • %cc(firstname,link)% = Sender's first name as mailto link
    • +
    • %cc(name)% = Recipient's name
    • +
    • %cc(name,link)% = Sender's name as mailto link
    • +
    • %cc(mail)% = Sender's email address (Text only)
    • +
    • %cc(mail,link)% = Sender's email address as mailto link
    • +
    +
    + + + + + +

    Address Book Fields

    +
    + When replying to a matching email address you can now use additional fields for address variables like %from%: +
    + + + + + + + +
    +

    Contact

    +
      +
    • firstname
    • +
    • lastname
    • +
    • name
    • +
    • nickname
    • +
    • additionalmail
    • +
    • chatname
    • +
    • workphone
    • +
    • homephone
    • +
    • fax
    • +
    • pager
    • +
    • mobile
    • +
    +
    +

    Private

    +
      +
    • private.city
    • +
    • private.address1
    • +
    • private.address2
    • +
    • private.state
    • +
    • private.country
    • +
    • private.zipcode
    • +
    • private.webpage
    • +
    • +
    +
    +

    Work

    +
      +
    • work.title
    • +
    • work.department
    • +
    • work.organization
    • +
    • work.address1
    • +
    • work.address2
    • +
    • work.city
    • +
    • work.state
    • +
    • work.country
    • +
    • work.zipcode
    • +
    • work.webpage
    • +
    +
    +

    Other

    +
      +
    • other.custom1
    • +
    • other.custom2
    • +
    • other.custom3
    • +
    • other.custom4
    • +
    • other.notes
    • +
    +
    +
    +
    + + + +

    Optional Sections

    +
    +

    ATTENTION: Sections inside square brackets, like: +

     [[Cc: %cc(name)%]]
    + will only be displayed if the variable %cc(name)% + can be found in the header and replaced successfully!

    +

    This can be either of these 2: +

    +To: Alex Cc: Fred 
    +  OR
    +To: Alex
    +
    + - if Cc is missing, everything within the brackets will be omitted.

    +

    The following variables can be used inside square brackets [[...]]:

    +
      +
    • %to% %to(firstname)% %to(mail)% %to(any_AB_field)% + %cc% %cc(firstname)% %cc(mail)% %cc(any_AB_field)% +
    • +
    • %to(firstname,link)% %to(name,link)% + %to(mail,link)% %cc(name,link)% + %cc(mail,link)% %cc(firstname,link)% +
    • +
    • %identity(addressbook,name)% %identity(addressbook,any_AB_field)% +
    • +
    + any_AB_field := see chapter 'Address Book Fields'. +
    + + + +

    Subject

    +
    +
      +
    • %subject% = subject of current replied / forwarded email (same as original message header)
    • +
    • %subject(2)% subject of current replied / forwarded email (same as message editor "compose window")
    • +
    +
    + + + +

    Special Headers

    +
    +
      +
    • %Message-ID% = Message ID
    • +
    • %Newsgroups% = Newsgroups
    • +
    • %X-Mailer% = X-Mailer
    • +
    • %...% = Any Header-line
    • +
    +
    + + + +

    Signature (read from Account Settings)

    +

    By Default you can place the Signature by Account Settings in Thunderbird.

    +Account settings for signature +

    and remove the Signature delimiters '--' by our Global settings Tab.

    +Signature delimiter +

    But with follow variables you can override this positioning and use the variable with or without the delimiters.

    +
    +
      +
    • %sig(html)% = Signature HTML based
    • +
    • %sig(text)% = Signature Text based
    • +
    • %sig(none)% = To remove the signature completely, overriding account settings
    • +
    +
    + + + +

    Language functions

    + +

    + %spellcheck(language)% = change automatic proofing / spellcheck language. + The language parameter can be any locale string of a dictionary that is already installed, e.g. en, de, en-GB etc. + Examples for language: cs, de, en-US, es-ES, fi, fr, id-ID, it, ja, nl, oc, pl, pt-BR, ru.
    + Additional dictionaries can be installed from + addons.thunderbird.net using Add-ons Manager. + See also [issue 17] +

    +

    + You can also toggle spellcheck using %spellcheck(on)% or %spellcheck(off)%. + Normally the global Thunderbird setting under Composition / Spelling "Enable Spellcheck as you type" will apply. + To toggle (on or off) and set the language, write the toggle command first. +

    +

    Example:
    +

    +  %spellcheck(on)%
    +  %spellcheck(de)%
    +
    +This turns on automatic proofing and switches the spellchecker language to German. +

    + + + + +

    + %language(localeId)% Requests a language for certain Calendar functions. +

    +

    + The functions %A% %a% %B% %b% + retrieve day / month names from the locales supplied with SmartTemplates
    + localeId = [cs, de, en-US, es-ES, fi, fr, id-ID, it, ja, nl, oc, pl, pt-BR, ru, sl, sr, sv-SE, uk, zh-CN, zh-TW] +

    +

    + The functions %dateshort% %datelocal% + and also dateformat (see its documentation here) + resolve their date formats from the currently installed language packs - + see the Languages tab in Add-on Manager to see available locales. +

    +

    + In case of problems / unexpected language results, check the JavaScript error console for details. + This can be opened with the shortcut CTRL+SHIFT+J or via Error Console in the + Tools - Developer Tools Menu in Thunderbird. +

    +

    + In order to download additional language packs for Thunderbird, please go to + https://ftp.mozilla.org/pub/thunderbird/releases/ + then find a matching version for your Thunderbird / OS, then open the xpi folder for language packs. +
    Example: + https://ftp.mozilla.org/pub/thunderbird/releases/60.8.0/win64/xpi/ + contains matching language packs for Thunderbird 68.8.0 for Windows 64bit and can be + dragged directly into the Add-ons Manager. +

    + + + + + +

    Combined variables for 'Date format' / 'Timezone'

    +
    +

    TIP: Can be combined with %X:=sent%

    +
      +
    • %datelocal% = Date / Time (locale format)
    • +
    • %dateshort% = Date / Time short (e.g. 01.01.2000 1:23:45)
    • +
    • %date_tz% = Timezone aberration (+0100, +0200, ... )
    • +
    • %tz_name% = GMT, PST, EST, ...
    • +
    • %tz_name(1)% = Greenwich Mean Time, Pacific Standard Time, Eastern Standard Time, ...
    • +
    +
    + + + +

    Variables for customized 'Date format'

    +
    +

    TIP: Can be combined with %X:=sent%

    +
      +
    • %A% = Day of Week (Friday)
    • +
    • %a% = Day of Week (Fri.)
    • +
    • %B% = Month (January)
    • +
    • %b% = Month (Jan.)
    • +
    • %d% = Day of Month (01 to 31) - with leading zero
    • +
    • %e% = Day of Month (1 to 31)
    • +
    • %m% = Month (01 to 12) - with leading zero
    • +
    • %n% = Month (1 to 12)
    • +
    • %Y% = Year (1970)
    • +
    • %y% = Year (70)
    • +
    • %M% = Minute (00 to 59)
    • +
    • %S% = Second (00 to 59)
    • +
    • %H% = Hour, 24-Hour Format (00 to 23) - with leading zero
    • +
    • %k% = Hour, 24-Hour Format (0 to 23)
    • +
    • %I% = Hour, 12-Hour Format (01 to 12) - with leading zero
    • +
    • %l% = Hour, 12-Hour Format (1 to 12)
    • +
    • %p% = AM / PM
    • +
    • %p(1)% = a.m.
    • +
    • %p(2)% = A.M.
    • +
    • %p(3)% = AM
    • + +
    • %dateformat(parameters string)% = Function for inserting current time (clickable field). +

      Most time the "one letter" variables from above can be used in the parameter string by omitting %. You can also use + delimiters such as "," "/" "-" "." ":" etc and spaces. See also: [Bug 26588].

      +

      Examples: + + + + + + + + + + + + + + + + + + + + + +
      variableresults
      %dateformat(B/d/Y l:M:S p)%October/24/2019 9:41:04 PM
      %dateformat(d/n/Y k:M:S)%24/10/2019 21:41:13
      %dateformat("A, e/n/Y H:M",toclipboard)%(new in v3.12) Copy time to clipboard. use in a reply mail to retrieve datestamp of original mail.
      %dateformat("A, e/n/Y H:M",current,toclipboard)%(new in v3.12) Copy current time to clipboard
      +

      + + +
    • +
    +
    + + + +

    Calendar Week (based on ISO 8601)

    +

    TIP: %cwIso(offset)% the 'offset' represents what you count as first day of the week. + Typically, in Europe you would probably use %cwIso(1)% (for Monday), in Northern America %cwIso(0)% + (for Sunday)

    +
    +
      +
    • %cwIso(0)% = First Day of Week is Sunday
    • +
    • %cwIso(1)% = First Day of Week is Monday
    • +
    • %cwIso(2)% = First Day of Week is Tuesday
    • +
    • %cwIso(3)% = First Day of Week is Wednesday
    • +
    • %cwIso(4)% = First Day of Week is Thursday
    • +
    • %cwIso(5)% = First Day of Week is Friday
    • +
    • %cwIso(6)% = First Day of Week is Saturday
    • +
    +
    + + + +

    The %X:=sent% Modifier

    +
    +

    By Default, Date/Time variables will always be initialized with current values (current = the time when you create the email).
    +When combined with %X:=sent%, the date/time variables will reflect the original messages date/time.

    +
      +
    • %X:=sent%
    • +
    +
    + + + +

    Example for a longstring:

    +
    +
      +
    • %X:=sent% %A%, %d%.%m%.%Y% %H%:%M% %date_tz%
    • +
    +

    TIP: Result Sunday, 20.12.2011 16:24 +0100

    +
    + + + +

    Example of a shortstring:

    +
    +
      +
    • %X:=sent% %datelocal%
    • +
    +

    TIP: Result Sunday, 20.12.2011 08:54:21

    +

    The following variables can be used in both variants:

    +
      +
    • %datelocal% = Date / Time (Local Format)
    • +
    • %dateshort% = Date / Time short (e.g. 01.01.2000 1:23:45)
    • +
    • %date_tz% = Timezone aberration (+0100, +0200, ... )
    • +
    • %tz_name% = GMT, PST, EST, ...
    • +
    • %tz_name(1)% = Greenwich Mean Time, Pacific Standard Time, Eastern Standard Time, ...
    • +
    +
    + + + +

    String Manipulation (Premium Function)

    +
    +
      +
    • %deleteText("text")% = Remove some text from the Quote Header, such as deleteText("via Paypal")- "John via Paypal wrote" => "John wrote"
    • +
    • %replaceText("find","replace")% = Replace some text with something else (similar to deleteText).
    • +
    • %matchTextFromBody("Regular Expression",MatchGroup)% = + Finds a pattern in quoted Email and insert at function location.
      + E.g. %matchTextFromBody("Delivery from ([-'a-zA-Z\u00C0-\u024F]*\s[-'a-zA-Z\u00C0-\u024F]*)",1)% + will retrieve 'John Doe' from the line 'Delivery from John Doe' - (included unicode characters for diacritics)
    • +
    • %matchTextFromSubject("Regular Expression",MatchGroup)% = + Finds a pattern in subject and insert at function location.
      + E.g. %matchTextFromSubject("\b[a-zA-Z0-9._+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b",0)% + will retrieve an Email address from the Subject line
    • +
    +

    New feature in SmartTemplates 3.12 - clipboard support

    +

    The clipboard can now be used by other functions (such as %header.set%) to transfer information to other + headers or insert elsewhere in the template.

    +
      +
    • %replaceText(regularExpression,clipboard)% - (new in v3.12) overwrite placeholder text in template from clipboard.
    • +
    • %matchTextFromSubject("Regular Expression",MatchGroup,toclipboard)% = + Extract text from the subject and copy to the clipboard. +
    • +
    • %matchTextFromBody("Please reply until (.*)",1,toclipboard)% = + Extract text from the original mail and copy itr to the clipboard. In this example you can extract + a date, and maybe transfer it to the subject line afterwards using + %header.append(subject,clipboard)%. + You can also use %dateformat("A, e/n/Y H:M",toclipboard)% to copy the time stamp of the original mail +
    • +
    +

    Note: the new %matchTextFromBody% and %matchTextFromSubject% functions + use regular expressions - these are powerful keys for finding text patterns. + The first parameter must be the regular expression within double quotes. The second parameter is a number which denotes the "match group". + Match groups are usually designated with round parentheses (). Use 0 to match the complete expression, 1 for the first group etc. +

    +

    To learn about regular expressions, please visit: www.regular-expressions.info. + For testing your patterns, I recommend this online tester: regex101.com +

    +
    + + + +

    Quote Manipulation (Pro Function)

    +
    +
      +
    • +

      [issue 61] Variable for quoted text.
      + %quotePlaceholder(quoteLevel)% This moves the quoted part into the template text itself. + The quote header section from account templates will be moved to the top of this quote. + The optional numerical parameter quoteLevel is the maximum citation level to exclude + older quote parts from the conversation. +

      +
    • [issue 31] + From SmartTemplates 2.8: Variables to remove text / tags from quoted parts + and save space. From 3.11 onwards this also supports changing texts of inline forwarded mail. +

      + %deleteQuotedText("searchText",quoteLevel)% Deletes quoted Text
      + %replaceQuotedText("searchText","replacementHTML",quoteLevel)% Replaces quoted text
      + %deleteQuotedTags("selector",quoteLevel,minSize)% Deletes tags from the quote
      + %replaceQuotedTags("selector","replacementHTML",quoteLevel,minSize)% Deletes tags from the quote
      + searchText - must be in double quotes - the searchText argument must be a regular expression. + Note that whitespace can be best represented as \s because it can also contain line breaks. + Commas and double quote characters cannot be used.
      + replacementHTML - must be in double quotes - text or a html tag which will be inserted in page. + quoteLevel - optional, (number) which minimal quote level to start from +
      + selector - what you would use to address the tag in css. simplest case "img", or "p" but attribute selectors + can be added as long as double quotes can be avoided.
      + minSize - (optional, numeric) - number of kByte, minimum size for removing the tag. This way you can + keep smaller images like icons / emojis while discarding large images. +

      +

      + A note on quoteLevel, for images I would recommend 2 if you want to + remove images to retain some context in your replies. This will dramatically decrease email + sizes in long threads which contain a lot of images (e.g. screenshots). +

      +

      + To use the function (v3.11 and later) during forwarding, use the parameter quoteLevel=0 to remove + text from the original mail text. +

      +
    • + +
    • + %suppressQuoteHeaders% - use this command to suppress all quote headers - the ones inserted by + Thunderbird automatically (usally along the lines of "on 12/03/2020 John Doe wrote:") and also + any of the replacement ones configured in SmartTemplates account settings. +
    • +
    +
    + + + +

    Mail Header Manipulation (Premium Functions)

    +
    +

    + The following functions can be used to modify header fields such as the "To:" line of the email so that the + Email is autopmatically sent to a different recipient. + They are included in SmartTemplates Pro for unlimited use. + Read up on the full functionality on the premium features + page. +

    + +
      +
    • %header.set(subject,"text")% = Replace subject with the text
    • +
    • %header.prefix(subject,"text")% = Prefix subject with the text
    • +
    • %header.append(subject,"text")% = Append text to subject
    • +
    • %header.delete(subject,pattern)% Remove matching regular expression from text.
    • +
    • %header.deleteFromSubject(pattern)% (from v2.8.1) Remove matching pattern from subject.
    • +
    • %header.set(to,clipboard)% - (new in v3.12) set the final recipient from the clipboard
    • +
      +
    • +

      Special pattern matching functions:

      +
      + %header.set.matchFromSubject(pattern,matchgroup,altText)%
      + %header.prefix.matchFromSubject(...)%
      + %header.append.matchFromSubject(...)% +
      + %header.set.matchFromBody(pattern,matchgroup,altText)%
      + %header.prefix.matchFromBody(...)%
      + %header.append.matchFromBody(...)% +
      + These functions can be used to extract matching text (e.g. Names or email addresses) + from the E-Mails replied to and then modify fields like To, Cc, subject. They + are documented on the premium features + page. +
    • +
    +
    Parameters
    +
      +
    • pattern = a regular expression, wrapped in double quotes, e.g. "\b(Dog\S*)" for words starting with "Dog"
    • +
    • matchgroup = when using groups in a pattern (these are contained in round parentheses) + this is denotes the number of the group. 0 is placeholder for the complete match.
    • +
    • altText = string, optional parameter; this alternative text will be used when no match can be found
    • +
    +
    Examples
    +
      +
    • %header.set(to,"abc@de.com")% = Replace recipient with email address
    • +
    • %header.append(to,"abc@de.com")% = Add email to recipient list
    • +
    • %header.delete(subject,"([\[\(] *)?(Re|Fwd|AW?)*([-:;)\]][ :;\])-]*)|\]+")% + = Remove common quote prefixes from subject line.
    • +
    +
    + + +

    Setting Priority

    +
    +

    + %header.set(priority,Priority)% = Change priority of Email. + See also [Bug 26689] +

    +

    + Examples:

    + + %header.set(priority,highest)%
    + %header.set(priority,high)%
    + %header.set(priority,normal)%
    + %header.set(priority,low)%
    + %header.set(priority,lowest)%
    +

    +
    + + +

    Inserting HTML files and Images

    +
    + The %file()% and %style()% functions can be used for inserting + images or HTML / text files which can even contain more SmartTemplates variables. + They are included in SmartTemplates Pro for unlimited use. + Read up on the full functionality on the premium features + page. +
    + + + + +

    Deferred Variables - Fields in New Emails

    +
    +

    These are a subset of standard SmartTemplates variables, which perform in a specidal way + when used in a "Write" situation: In this, certain information which is readily available when + replying or following up / forwarding, is simply not present when opening the Email editor. +

    +
      +
    • NEW
      +

      When writing new mails, headers such as to, from are not available - therefore these + functions had to be written from scratch. +

      +

      [Bug 24993] + Supports using the following fields when composing a *new* Email:

      +
        +
      • %subject%
      • +
      • %from%
      • +
      • %to% %cc% %bcc%
      • +
      • %date%
      • +
      • %dateformat()%New function for building date strings for current date, see here.
      • +
      +

      Note, to insert the real recipient in a forwarded email, you can now use the fwd argument: + e.g. %to(firstname,fwd)%

      +

      The variables are shown as colored placeholder blocks and can be updated with a simple mouse-click:
      + deferred variables
      + This will pull in the correct information when available and can be clicked multiple times. +

      +

      A new button for a final clean up - for "tidying up ALL variables" can also be added to the Composer toolbar:
      + clean up +

      +
    • +
    +
    + + + + + + + + + +

    Note for templates

    +
    +

    + ATTENTION: + Templates which use <br> tags should be used with "Replace new-line with <br>" option deactivated
    + and Templates without the <br> Tags included should be used WITH the option "Replace new-line with <br>" activated! +

    +
    + +

    Note for HTML templates

    +
    +

    ATTENTION: Please use only UTF-8 (Unicode) charset inside HTML templates!
    + A UTF-8 encoding table can be found here. +

    +
    + + + + + + +
    + + + + + +
    + + + + + diff --git a/version-90.html b/version-90.html new file mode 100644 index 000000000..cf93ec422 --- /dev/null +++ b/version-90.html @@ -0,0 +1,3187 @@ + + + + Smart Templates - Legacy Change Log + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + + + + + +
    +

    Welcome to the LEGACY change log / version history of SmartTemplates. + Please Contribute to SmartTemplates! +

    + + +

    Change Log

    +

    + TIP: All dates are displayed in UK format dd/mm/yyyy +

    + + +
      + +

      Legacy versions (for Thunderbird 90 and older) can be found here.

      + +   +
    • +

      + Version 3.6 - 17/06/2021 +
      + + 74.* - 90.0 + +

      + +
        +
        Enhancements
        +
      • +

        + [issue 135] Expand multiple recipients + with %to(firstname)% in New Mail Template. +

        +

        + When replying to an email we expect the variable %to(firstname)% to fill in all recipient names, + using the address widget. They will be delimited by the character entered in advanced + settings under the Name Rules box. +

        +
      • +
      • + [issue 137] + SmartTemplates doesn't auto-update to 3.5.4 (because it needs permissions?) +

        + After adding necessary permissions for using the new mail extension APIs (for accounts and notifications), + the user isn't prompted to install the updated Add-on anymore. Instead there is a small yellow "warning" + icon added to the main menu button, which must be clicked to reveal questions about adding permissions. +

        +

        + I noticed that the majority of users suddenly stopped updating and found that the permissions was the likely + cause. As this is now standard behavior in Thunderbird in order to prevent users being distracted from their + daily workflow, I had to remove the permissions and modern API code and create my own version so I could make sure + my users are updated with the latest version. I have no final satisfactory solution for this behavior as + conversion to the new APIs is 100% necessary in order to rewrite SmartTemplates for future versions of + Thunderbird. +

        +

        + The main menu button currently looks like this if Add-ons are awaiting new permissions:
        + +

        +

        + To complete the installation you need to click on the menu item "SmartTemplates requires new permissions..."
        + +

        +

        + I hope to either educate my users to complete upgrades by clicking this button or code another method + of directly alerting the user from the previous version of SmartTemplates when a new version is + available. +

        +
      • +
      • + If your previous version was 3.4.4 or earlier you were likely affected by the previously described issue. + This means that also the changes in section 3.5.4 below will be relevant to you. +
      • +
        Bug Fixes
        +
      • [issue 134] + Support tab was missing in version 3.5.4 +
      • +
      • + Added an option for skipping the splash screen (licensed users only). This also means that any changes + have to be looked up manually on the website, where they are only available in English language. +
      • +
        Miscellaneous
        +
      • + Removed animation on Splash screen for licensed users. +
      • +
      +
    • + +   +   +   +   +   +
    • +

      + Version 3.5.4 - 03/06/2021 +
      + + 74.* - 90.0 + +

      + +
        +
        Enhancements
        +
      • + [issue 125] + Improved support for converting encoded characters used in address fields such as "from" +
      • +
      • + 3.5.4 - Added wrench button to open settings from Add-ons Manager with a single click. +
      • +
        Bug Fixes
        +
      • + [issue 133] + Fixed in 3.5.3 - a Problem with Licensing Dialog that couldn't open the web shop if valid license was already entered. +
      • +
      • + [issue 126] + Fixed: Enabling 'Resolve names from Address book' falsely disables advanced options +
      • +
      • + [issue 130] + Fixed: Error in localization for Traditional Chinese (zh-TW) breaks settings dialog. +
      • +
      • + Added Localization for Catalan language - this is partly derived from the Occitan + locale of an older version. +
      • +
      • Problem with Trial date calculation due to new Legacy Prefs method - fixed in 3.5.2
      • +
        Miscellaneous
        +
      • + [issue 127] + Make SmartTemplates compatible with Thunderbird 89.0 - this is ongoing work + which aims for a smooth transition toward the next ESR version, + Thunderbird 91 which is planned to be released in Summer 2022. +
      • +
      • + SmartTemplates now supports multiple Thunderbird windows, via the new background script notifications. + Using the new background script notification mechanism for all template menus. When configuring the menus, these are now updated properly across all windows once the settings dialog is closed. Even with multiple Thunderbird windows opened. +
      • +
      + +
        +
        Maintenance version history
        +
      • 3.5.1 - released on 21/05/2021
      • +
      • 3.5.2 - released on 26/05/2021
      • +
      • 3.5.3 - released on 27/05/2021
      • +
      • 3.5.4 - released on 03/06/2021
      • +
      + +
    • + + + +   +   +   +   +   +
    • +

      + Version 3.4.4 - 15/02/2021 +
      + + 74.* - 78.* + +

      + + +
        +
        Enhancements
        +
      • [issue 91] + Improved the functions %deleteQuotedText% and %replaceQuotedText% + so they can be used in plain text mode (quote level argument will be ignored). +

        + In plain text mode, you can now use this to remove quote marks, with the command %deleteQuotedText("\>\s")% + or use %replaceQuotedText("\>\s","| ")% to replace the quote marks with straight vertical lines +

        +
      • +
      • + Added examples in variables window for %header.delete(subject)% and %header.set(from)% + in (Modify Mail Header) section. +
      • +
      • + [issue 71] + Added support for setting non-standard header attributes starting with "List" e.g. List-Unsubscribe +
      • +
      • + Improved / fixed warning messages for users with expired licenses. + [issue 82] + Added a notice about soon-to-expire license in status bar.
        + +
      • +
      • + 3.4.3 - open the license tab when status icon is clicked with expired license to make renewal easier. +
      • +
      + +
        +
        Bug Fixes
        +
      • [issue 115] + Fixed - Erratic %datetime()% results when forcing HTML with Shift. + This was caused by converting Spaces to html entities. +
      • +
      • + [issue 117] + %header.set(from,"some@address.com")% not working in Thunderbird 78. + You can now also add a name when setting the from address. For example + %header.set(from,"Postmaster <postm@address.com>")% + This function only works if the Email address is listed in any identity (including aliases). +
      • +
      • + With option "Remove email address unless format parameter is specified", mail parts such as + %from(...,mail)%, %from(...,bracketMail())% were removed +
      • +
      • + [issue 119] + (fixed in 3.4.2) XML Parsing Error settings dialog (it / sv / uk locales) +
      • +
        Known Issues - Fixed in 3.4.4
        +
      • + [issue 120] + Spanish locale broken which creates an error when options screen is displayed (since 3.4.1) +
      • +
      • [issue 121] + Important bug: Common settings are shown even though the correct account seems to be selected! +
      • +
      + +
        +
        Maintenance version history
        +
      • 3.4.4 - released on 15/02/2021
      • +
      • 3.4.3 - released on 08/02/2021
      • +
      • 3.4.2 - released on 06/02/2021
      • +
      +
    • + + +   +   +
    • +

      + Version 3.3.1 - 04/01/2021 +
      + + 74.* - 78.* + +

      +
      + Thank you for supporting SmartTemplates with a Pro License! Some of the new features + and bug fixes below were also now back ported into 2.13 for the benefit of my legacy users + who decided to stay with Thunderbird 68. +
      +
      + If you don't have a SmartTemplates license yet, please consider + getting one + to support the project. There are a lot of helpful changes done in this version and more to come + - see the github issues tracker + for what's planned next. +
      + +
        +
        Enhancements
        +
      • [issue 61] + %quotePlaceholder(quoteLevel)% newly implemented function for + including quoted mail within the template for styling - use the numeric quoteLevel + parameter to exclude older quotes from the conversation. + If a quote Header is configured in the account template settings this will also be moved + to the top of the first quote. +
      • +
      • + [issue 96] + Provide keyboard accelerators for Template picker. +
      • +
      • Improved Scrolling behavior if %cursor% is used.
      • +
      • [issue 110] Enhancement: Maximize "Account" selector in settings.
      • +
      • [issue 112] Enhancement: Preselect account of current folder when opening settings (like in Tb68).
      • +
      +
        +
        Bug Fixes
        +
      • + [issue 104] + Fixed: Polish locale crashes settings dialog. +
      • +
      • + [issue 102] + Fixed: %dateformat()% fails if month name / day name variables are included and %language()% set. +
      • +
      • + [issue 108] + Fixed: Other Add-ons may accidentally lead to duplicated template if they change the + from address in Composer. +
      • +
      +
    • + +   +
    • +

      + Version 3.2 - 20/12/2020 +
      + + 74.* - 78.* + +

      +
      + If you don't have a SmartTemplates license yet, please consider + getting one + to support the project. There are a lot of helpful changes done in this version and more to come + - see the github issues tracker + for what's planned next. +
      +
      + Thank you for supporting SmartTemplates with a Pro License! This version resolves some + issues with the trial period not resetting once your license runs out, this is to + ensure there is no delay while writing your emails and give you a fresh 28 days to renew your + license without interruptions after the license is expired. +
      +
        +
        Enhancements
        +
      • New function: %conditionalText(forwardMode,"inline text","forward text")% inserts text based + on forwarding inline vs attached; added by Artem (conductor111 on github).
      • +
      • Omit update popup for users with licenses > 40days
      • +
      • Domain Licenses can now be renewed (and extended 30 days before expiry) directly from the license dialog.
      • +
      • Reopening existing tabs on support site now correctly jumps to in page links (such as #donate)
      • +
      • Some minor improvements in layout for settings dialog and license screen.
      • +
      +
        +
        Bug Fixes
        +
      • [issue 98] - Fixed: %header.set(to,"[addressee]")% no longer working.
      • +
      • [issue 100] - Trial period should restart on license expiry.
      • +
      • Fixed some errors in Serbian, Slovenian and Portuguese help sections.
      • +
      • Fixed reminder for premium functions - this notification should be shown if a Standard User uses functions reserved for SmartTemplates Pro Users
      • +
      +
    • + + +   +
    • +

      + Version 3.1 - 24/11/2020 +
      + + 74.0 - 78.* + +

      +
        +
        Bug Fixes
        +
      • + This new early version after release of 3.0 for Thunderbird 78 was necessary after + releasing 2.12.1 for my legacy users (Thunderbird 60 and older) +
      • +
      • +

        + logo +

        +

        + We had to rewrite much of the code to become compatible with Thunderbird 78. + To keep having support sites and ongoing development, please + buy a Pro license +

        +

        + Migration to the Thunderbird 78 Add-ons system - mail extensions with experimental APIs - was time intensive and costly. + This is only the first step toward future proofing, next year Thunderbird may restrict the use of experimental + APIs, which depends on having new APIs available on the Core side of the code. This relies on a good + relationship between Add-on developers and the Core team (Thunderbird Council) and requires ongoing + talking and design work on both sides; that's why the licensing model once again shows its superiority + as it is able to fund the necessary time that needs to be spent. +

        +

        + To make sure this still works, please + buy a license. +

        +
      • +
      • + [issue 94] + SmartTemplates does not insert template when Forwarding inline based on an Email written with ST
      • +
      • [issue 85] + fixed more dead links linking to old mozdev bugzilla bugs (these are now archived on quickfolders.org)
      • +
      • + Reenable the sandboxed string scripting by Benito van der Zander. + Set the the config option extensions.smartTemplate4.allowScripts = true + to get them back! +
      • +
      +
    • + + +   +
    • +

      + Version 3.0 - 04/11/2020 +
      + + 74.* - 78.* + +

      + +
        +
      • [issue 69] + Make SmartTemplate4 compatible with Thunderbird 78 +
      • +
      • + Use the new mail extension with experiment APIs method (WindowLoader). + This loads the overlay dynamically - the advantage being that the Add-ons now + works without restarting. You can also disable / uninstall without having to + restart Thunderbird. +
      • +
      • + Remove Shim Code - this was code for backwards compatibilty with older Thundebrird versions + as well as SeaMonkey and Postbox +
      • +
      • + Remove support for SeaMonkey +
      • +
      • + Remove Stationery references & configuration +
      • +
      • + Rewrote filling in variables and focus method to work with new address widgets +
      • +
      • + Rewrite all template dropdowns. This is based on a hack supplied by John Bieling, thanks very much for all the help. +
      • +
      + +
    • + +

      Versions for Thunderbird 68 and older.

      + + + +   +
    • +

      + Version 2.18 - 03/02/2022 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      + +
      +

      + ATN (addons.thunderbird.net) does not accept versions for Thunderbird 68 anymore - so + any future version for legacy Add-ons will now be released to + the SmartTemplates github releases page. +

      +

      + Please note that SmartTemplates is compatible with the latest version of Thunderbird (91.4) - if you get a message + that says otherwise after updating from earlier versions (Tb68 or Tb78) or if SmartTemplates cannot be enabled with + the blue slider, simply remove it and reinstall it via "Find more Add-ons" on the Extensions tab of Add-ons Manager: +

      +
      +

      First try if you can enable SmartTemplates using the slider:
      + enable SmartTemplates +

      +

      + If this doesn't work, then removing the Add-on via Thunderbird the Add-ons Manager will still retain your settings:
      + remove to reinstall +

      +

      + In the Search box, enter the term SmartTemplates, and press the Enter key:
      + force reinstallation via Addon Manager +

      +

      + Then click on the Add to Thunderbird button:
      + Add to Thunderbird +

      +
      +
      Click to read instructions for reinstalling:

      +
      + +
        +
        Enhancements
        +
      • + [issue 151] + New single variable %recipient% for final recipient to replace %to% / %from% in all compose case templates. This makes it easier to reuse the same template for writing / replying / forwarding and is also less confusing, as it does not "change perspective" as %to% does! +
      • +
      • [issue 166] + %recipient% should use reply-to header id present when replying. +
      • +
      • +
      +
    • + +   +
    • +

      + Version 2.17 - 09/12/2021 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      + +
        +
        Enhancements
        +
      • +

        + [issue 142] + New feature to insert html Smart snippets within Composer.
        + To get started, add the new "Insert Snippet" button to composer:
        + +

        +

        + You can add fragments here by opening files and adding them to the list, just like the + HTML template files for the cases "write", "reply" and "forward". This list will be + shared globally across all these cases:
        + +

        +
      • +
      • + [issue 164] + Feature: Added *selection* placeholder for inserting HTML snippets (fragments). +
      • +
      • +

        + [issue 147] + Added category submenus to structure template lists.
        + Type a category into the field and update the menu item to make the + template appear in a new submenu:
        + +

        +
      • + +
        Bug Fixes
        +
      • + Fixed: [issue 139] + Double template inserted when replying to own email - Tb Conversations Add-on! +
      • + +
      • + Fixed: [issue 156] + When FORWARDING, %quotePlaceholder% doesn't position forwarded mail text correctly. +
      • +
      • + Fixed: [issue 149] + If no %cursor% is entered, HTML template may be truncated / reformatted at the end +
      • +
      • + Fixed: [issue 153] + Recipient Names which are only 1 Character long are dropped +
      • +
      • + Fixed: [issue 152] + Tb 68 - when starting Thunderbird, the template submenus are intermittently not populated +
      • +
      • + Fixed: [issue 163] With Cardbook installed, SmartTemplates statusbar icon may not be shown +
      • +
      +
    • + +   +
    • +

      + Version 2.16 - 16/02/2021 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      + +
        +
      • +

        + [issue 135] Expand multiple recipients with %to(firstname)% in New Mail Template. +

        +

        + When replying to an email we expect the variable %from(firstname)% to fill in all recipient names, using the address widget. They will be delimited by the character entered in advanced settings under the Name Rules box. +

        +
      • +
      +
    • + +   +
    • +

      + Version 2.15 - 20/05/2021 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      + +
        +
        Enhancements
        +
      • + [issue 125] + Improved support for converting encoded characters used in address fields such as "from" +
      • +
        Bug Fixes
        +
      • + [issue 125] + Fixed: Cardbook address names are resolved with weird characters +
      • +
      • + [issue 126] + Fixed: Enabling 'Resolve names from Address book' falsely disables advanced options +
      • +
        Miscellaneous
        +
      • + [issue 127] + Make SmartTemplates compatible with Thunderbird 88.0 - this is ongoing work + which aims for a smooth transition toward the next ESR version, + Thunderbird 91 which is planned to be released in Summer 2022. +
      • +
      +
    • + +   +   +   +   +   +   +   +
    • +

      + Version 2.14.4 - 15/02/2021 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      +
      + Thank you for supporting SmartTemplates with a Pro License! Some of the new features + and bug fixes below were also now back ported into 2.14 for the benefit of my legacy users + who decided to stay with Thunderbird 68. +
      + +
      + If you don't have a SmartTemplates license yet, + consider getting one + to support the project. There are a lot of helpful changes done in this version and more to come + - see the github issues tracker + for what's planned next. +
      + +
        + +
        Known Issue - Thunderbird 60 only
        +
      • + [issue 123] + Only affects older Thunderbird versions which read install.rdf - version 2.14.4 keeps auto-updating + because of an internally wrong version number. There is a patched version at the link above. +
      • + + +
        Enhancements
        +
      • + Added examples in variables window for %header.delete(subject)% and %header.set(from)% + in (Modify Mail Header) section and documentation for %conditionalText()%. +
      • +
      • + Improved / fixed warning messages for users with expired licenses. + [issue 82] + Added a notice about soon-to-expire license in status bar.
        +
        + Click the panel to extend or renew your license. +
      • +
      • + [issue 71] + Added support for setting non-standard header attributes starting with "List" e.g. List-Unsubscribe +
      • +
      • [issue 91] + Improved the functions %deleteQuotedText% and %replaceQuotedText% + so they can be used in plain text mode (quote level argument will be ignored). +

        + In plain text mode, you can now use this to remove quote marks, with the command %deleteQuotedText("\>\s")% + or use %replaceQuotedText("\>\s","| ")% to replace the quote marks with straight vertical lines +

        +
      • +
      • Reopening existing tabs on support site now correctly jumps to in page links (such as #donate)
      • +
      + + +
        +
        Bug Fixes
        +
      • [issue 115] + Fixed - Erratic %datetime()% results when forcing HTML with Shift. + This was caused by converting Spaces to html entities. +
      • +
      • + With option "Remove email address unless format parameter is specified", mail parts such as + %from(...,mail)%, %from(...,bracketMail())% were removed +
      • +
      • + [issue 119] + (fixed in 2.14.2) XML Parsing Error settings dialog (it / sv / uk locales) +
      • +
      • + 2.14.3 - open the license tab when status icon is clicked with expired license to make renewal easier. +
      • + +
        Known Issues - Fixed in 2.14.4
        +
      • + [issue 120] + Spanish locale broken which creates an error when options screen is displayed (since 3.4.1) +
      • +
      • + [issue 121] + Important bug: Common settings are shown even though the correct account seems to be selected! +
      • +
      + +
        +
        Maintenance version history
        +
      • 2.14.4- released on 15/02/2021
      • +
      • 2.14.3 - released on 08/02/2021
      • +
      • 2.14.2.1 - released on 06/02/2021
      • +
      • 2.14.1 - released on 05/02/2021
      • +
      + +
    • + +   +
    • +

      + Version 2.13 - 01/01/2021 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      +
      + There are already several compatible versions for Thunderbird 78 (see above). If you still are running + Thunderbird 68 or an older versions consider what is holding you back from upgrading. A lot of + Add-ons have since been rewritten for the more modern, faster version of Thunderbird which is + going to be in ESR support until the end of 2021. +
      +

      Backported features for users of Thunderbird 68. This is a selection of the more important features implemented in the Tb78 compatible versions 3.x

      +
        +
        Enhancements
        +
      • [issue 61] + %quotePlaceholder(quoteLevel)% new function for including quoted mail within the template for styling + - use the numeric quoteLevel parameter to exclude older quotes from the conversation. + If a quote Header is configured in the account template this will be moved with the top of the quote. +
      • +
      • + [issue 96] Provide keyboard accelerators for Template picker. +
      • +
      • Rebranded from SmartTemplate4 to SmartTemplates for simplification.
      • +
      • + [issue 100] + Trial period should restart on license expiry for registered users who had a valid license before. + This way there will be no disruptive waiting periods when opening Composer after license expiry. +
      • +
      • Fixed support links to use secure protocol.
      • +
      • Improved shop integration for extending / renewing Domain licenses.
      • +
      • Made toggling spellcheck through %spellcheck()% function more reliable.
      • +
      +
        +
        Bug Fixes
        +
      • [issue 108] + Fixed: Other Add-ons may accidentally duplicate template if they change the from address in Composer. +
      • +
      +
    • + + +   +   +
    • +

      + Version 2.12.1 - 24/11/2020 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      +
        +
      • Known issue - on Thunderbird versions before 68, there is a fauly "pre7" tag in the version number leading + to an unintended daily update. I have fixed this in emergency build 2.12.1
      • +
      • [issue 85] + Dead link on addons homepage
      • +
      • [issue 77] + %file()% path truncated at front by 1 letter on Mac OS
      • +
      • [issue 94] + SmartTemplates does not insert template when Forwarding inline based on an Email written with ST
      • +
      • The new version of SmartTemplates for Thunderbird 78 is also available on atn since 04/Nov/2020 + so if you held of on updating because of it, there is no need to stay behind on Thunderbird 68 anymore. + I am trying to backport important bugs on the old version in parallel, as long as it is feasible; + this doubles my workload in some respect so please consider updating at some stage. +
      • +
      +
    • + +   +
    • +

      + Version 2.11.2 - 10/07/2020 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      +
        +
      • +

        + I have started to rewrite all mail Add-ons for compatibility with Thunderbird 78. I have hired + a developer and am currently thinking of ways to fund raise the development effort - probably several + man weeks of rewriting. please do not manually update to Thunderbird78 yet. An automatic update will + not happen until September 2020. + If you are interested in using a version of SmartTemplates that works with Thunderbird 78, + consider + buying a license + to support the project. +

        +

        + In other news we have just successfully migrated all Add-on support sites away from the free host on + mozdev.org, which is now closed. + To keep having support sites and ongoing development, please + buy a license + (the migration has cost around $650, so there are some expense I hope to recover from the + community of users). +

        +
      • + +
        Bug Fixes
        +
      • [issue 75] + Clicking %style% from variables tabs inserts %file% instead. + This is not intended, as only the %style(file.css)% command will produce + predictable results for including file names. With this fix, clicking on + the %file()% variable in the variables tab will now insert the correct syntax + in the template area. +
      • +
      • [issue 74] + In some cases the menu templates in compact header reply buttons are doubled up +
      • +
      • [issue 73] + Improve Name Capitalization: support double names, such as "Klaus-Dieter" +
      • +
      • [issue 62] + Reply with template doesn't work from "single message" window +
      • + +
      + +
    • + +   +
    • +

      + Version 2.11.1 - 21/06/2020 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      +
        +
      • +

        + We have just successfully migrated all my Add-on support sites away from the free host on + mozdev.org, which is going to close operation end of June. + To keep having support sites and ongoing development, please + buy a license + (the migration has cost around $650, so there are some expense I hope to recover from the + community of users). +

        +

        + I will also have to rewrite all mail Add-ons as web extensions, which is currently + not yet possible as all necessary APIs to replace the deprecated tech has not been implemented. + As in between step I plan to release SmartTemplates as a "web experiment" for Thunderbird 78+ + but this will take a few weeks of work. If you are interested in using a version of + SmartTemplates that works with Thunderbird 78, + buy a license to support the project. +

        +
      • + +
      • 2.11.1 +

        SmartTemplates now adds the new change template button + to toolbar automatically. I don't think many people have actually seen or tried it so far + even though it was a much requested feature. Keep forgetting that nobody has time to read change logs - + a feature that cannot be seen might as well not be there.

        +

        You can use this button in the Email editor to select a different external template, but you have to do it + before editing / writing something in the Email. + change template menu +

        +
      • + +
      • 2.11.1 [issue 67] + Regression (2.11): License warning screen comes up unexpectedly and number of "To:" rows restricted. + It can also lead to the Add-on "Copy Sent to Current" malfunctioning. +
      • +
      • 2.11.1 [issue 68] + Regression (2.11): After update SmartTemplates always displays nonlicensed support sites +
      • +
      • [issue 64] + Regression: external template is removed when changing "from:" address. + This was caused by changes in [issue 24]. +
      • + +
      • New web pages - migrated from the old (free) mozdev.org server to github by Avinash Kundaliya.
      • +
      +
    • + +  +  +
    • +

      + Version 2.11 - 09/06/2020 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      +
        +
      • +

        + I am currently paying somebody to migrate all my Add-on support sites away from the free host on + mozdev.org, which is going to close operation end of June. + To keep having support sites and ongoing development, please + buy a license + (the migration will cost around $650, so there are some expense I hope to recover from the + community of users). +

        +

        + I will also have to rewrite all mail Add-ons as web extensions, which is currently + not yet possible as all necessary APIs to replace the deprecated tech has not been implemented. + As in between step I plan to release QuickFolders as a "web experiment" for Thunderbird 78+ + but this will take a few weeks of work. If you are interested in using a version of + QuickFolders that works with Thunderbird 78, + buy a license + to support the project. +

        +
      • +
      • New web pages - migrated from the old (free) mozdev.org server to github by Avinash Kundaliya.
      • + +
      • [issue 24] + Select a different html template file while composer is open. +
        + +
        + Note that any manually entered text will be discarded when you change the + template, so do this before you start typing. +
        + In order to do this the new Change Template button can be added via + right-click and Customize on the composer toolbar. + After adding the button, reopen the Composer window to update it + with the appropriate template list (write / reply or forward). +
        + +
      • +
      • [issue 60] + Fixed some barriers with screenreader navigation in Settings Dialog. + All buttons on the settings screen can now be executed without mouse clicks. + Also the licensing message will be displayed as a OS notification which will be read out + by the widely accepted JAWS reader. It appears that NVDA still cannot read these. + Many thanks to my user Rüdiger L. for testing this with me. +
      • +
      • Completed translations for Serbian locale.
      • +
      +
    • + + +   +   +   +
    • +

      + Version 2.10.1 - 14/04/2020 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      +
      Enhancements
      +
        +
      • +

        [issue 59] + External templates: SmartTemplates now supports image tags with relative location. + This will make external templates management more compatible with Stationery and make it + easier to preview / trouble shoot our templates in a web browser. +

        +

        + In order to use relative image paths, such as <img src="images/img1.jpg"> such tags + must be included in a html (external) template. + In order to use this technique in an account template instead, simply include the external html file + using the %file()% variable. When SmartTemplate opens the file, it will now + remember the file's location and be able to insert images from this position, just like when loading a + stored web page.
        + After placing the cursor in the template field, expand the dialog via Advanced and open the + chapter fixed variables.
        + click to insert %file()% +
        + Click on the %file()% variable and select a file from disk.
        + click to insert %file()% +
        + The external template will be automatically loaded on the account, and images will be included + as expected. +

        +
      • +
      • [issue 56] + Support including external style sheets. Use the new %style()% variable + to insert a style block wtih CSS rules. Also, supports relative paths, just like + %file()%.
      • +
      +
      Bug Fixes
      +
        +
      • [issue 51] + Outgoing SMTP always using DEFAULT account. When changing the from address from the drop down + before editing the email, Thunderbird did not internally change the from header, which + could cause emails to be sent from the wrong account. This is now fixed. +
      • +
      • [issue 54] + Fixed: SmartTemplates now removes unwanted empty lines in reply/forward headers in plain-text emails. +
      • +
      • [issue 55] + Added back some of the support for Postbox, which was broken since v2.1. + You can find patched versions of previous releases at the issue.
      • +
      • [issue 58] + If firstName is guessed from the address book field DisplayName, + it can lead to last name duplication in case a format like %from(firstname,lastname)% i + is used and the first name field in the address card is empty.
      • +
      +
    • + +   +   +   +
    • +

      + Version 2.9.1 - 14/02/2020 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      + + + +   +

      + +

      + +
      Hotfix - 2.9.1
      +
        +
      • + Fixed on 13/03/2020 in version 2.9.1: + [issue 53] + template may not work if signature path is invalid: +
        + +

        + On mail accounts where a non-existent path is defined for signature the + template functionality may break on singular accounts. +
        + typically an exception will be displayed in error log: +

        +  insertTemplate - exception during parsing. Continuing with inserting template
        +
        + Workaround: to fix the issue, remove the path from the signature field + in Thunderbird account settings on the affected account. Or try to install + the prerelease 2.9.1 pre 1 from + [issue 53] +

        + +

      • +
      + + +
      Enhancements
      +
        +
      • + [issue 45] + Support for using %file()% with relative paths and nesting + %file()% variables within a template. + This way, you build your template with fragments, for example + in a subfolder components: +
        +<div id="testContainer">
        +  %file(components\header.html)%<br>
        +  <p>Dear %from(name%) </p>
        +    <p>%cursor% </p>
        +  %file(components\footer.html)%<br>
        +</div>
        + + You can then have separate header / footer files in a subfolder "components" along with the image using + %file()% with a relative path; + in this example the components subfolder may contain the following header.html: +
        +<div id="header">
        +  %file(banner-top.png,"top banner")%<br>
        +</div>
        +and the same rules for footer.html: +
        +<div id="footer">
        +  %file(banner-bottom.png,"top banner")%<br>
        +</div>
        +

        + In these cases the image path is viewed "relative" to the location of the containing + html file. (Here it denotes the same folder as the header and footer html fragments.) +

        +

        + As before, SmartTemplates will convert all %file(image)% instances into data + so that Thunderbird will not question the image's origin and require the user to + manually mark them as safe. +

        +
      • +
      • + [issue 48] + Support [[optional double brackets]] syntax for all extended address book fields. + This will make it possible to show more information from the Addressbook without + causing half-empty lines: +
        +<h3>Sender Info</h3>
        +Sender: %from% 
        +[[Mail: %from(mail)% <br>]]
        +[[First Name: %from(firstname)% <br>]]
        +[[Name: %from(name)% <br>]]
        +[[Additional mail: %from(additionalmail)% <br>]]
        +[[Work City: %from(work.city)%<br>]]
        +[[Web Page: %from(work.webpage)%<br>]]
        +
      • +
      • + Remember the last path separately for opening templates from the menu directly. +
      • +
      +
      Bug Fixes
      +
        +
      • + Fixed: [issue 42] + The (lastname) switch uses first name from + address book if only a single name is matched from the received address. + This affects any address book switch of the format + %from(lastname)%, + provided there is only a single name in the transmitted email address, + e.g. john@mail.com. +
      • +
      • + Fixed: [issue 41] + No file template menus in single message window
        + Single message windows (not tabs) did not support replying / writing mails using the + external HTML template files. +
      • +
      • + Fixed: [issue 43] + %file(template)% doesn't work on Mac for paths that start with "/user". + Unfortunately, it is still not supported to use relative <img> paths in a html file, + but when using %file(img)% using a path relative to + the location of the template should be possible now when used from within + an external HTML template file. +

        + Ideally we will need this to support <img> paths as well. +

        +
      • +
      • + Fix: Remove double quote from alt attribute in %file(image,alttext)% +
      • +
      • + Fixed: Do not run cleanupDeferredFields() on quoted elements. + This leads to problems with %file()% variables in replied emails + (both correspondents have to use SmartTemplates for this problem to occur. +
      • +
      • + Fixed: [issue 46] + In Thunderbird 60, mixed Stationery / SmartTemplate, external html file items added by + SmartTemplates do not work. +
      • +
      • + Fixed: [issue 49] + CSS pattern %;-ms-text-size-adjust:100%; is falsely recognized as header variable. +
      • +
      +
    • + +   +
    • +

      + Version 2.8 - 24/01/2020 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      + + +   +
      Enhancements
      +
        +
      • [issue 31] + New premium variables to remove text / tags from quoted parts. +

        + %deleteQuotedText("searchText",quoteLevel)% Deletes quoted Text
        + %replaceQuotedText("searchText","replacementHTML",quoteLevel)% Replaces quoted text
        + searchText - must be in double quotes - the searchText argument must be a regular expression. + Note that whitespace can be best represented as \s because it can also contain line breaks. + Commas and double quote characters cannot be used.
        + replacementHTML - must be in double quotes - text or a html tag which will be inserted in page. + quoteLevel - optional, (number) which minimal quote level to start from +

        +

        + %deleteQuotedTags("selector",quoteLevel,minSize)% Deletes tags from the quote
        + %replaceQuotedTags("selector","replacementHTML",quoteLevel,minSize)% Deletes tags from the quote
        + selector - what you would use to address the tag in css. simplest case "img", or "p" but attribute selectors + can be added as long as double quotes can be avoided.
        + quoteLevel - A note on quoteLevel, for images I would recommend 2 if you want to + remove images to retain some context in your replies. This will dramatically decrease email + sizes in long threads which contain a lot of images (e.g. screenshots).
        + minSize - (optional, numeric) - number of kByte, minimum size for removing the tag. + This way you can keep smaller images like icons / emojis while discarding large images. +

        +
      • +
      • Variables window: Added documentation for address book functions and + modernized layout. Added accordion UI to minimize scrolling. + Simply click one of the headers to read an article
        + new variables window +
      • +
      • [issue 33] + New variable %mailto(body)% for including text of an internet mail link within your email. + Also slightly improved behaviour if the body argument is empty, so that a standard template can be used + when a mailto link is clicked on.
      • +
      • [issue 35] + Extended %identity% with the variable 'addressbook' in order to extract extended info + from the Address Book based on an email match, some examples:
        + %identity(addressbook,work.title)%
        + %identity(addressbook,work.organization)%
        + %identity(addressbook,homephone)% +

        The addressbook variables also support using the optionality syntax [[ ... ]] in order to leave + out a section of text or html if the particular addressbook field is empty. + The following line will be omitted if State information is not available from the address book + for the current identity.
        + [[State: %identity(addressbook,work.state)%]] + +

        +
      • +
      • Completed translations for locales: cs, es-ES, fi, it, pl,pt-BR, ru, sl, sv-SE.
      • +
      • The template editor boxes now resize vertically with dialog for easier editing.
      • +
      • Added international examples for %dateformat% in the variables tab. +
      + +
      Bug Fixes
      +
        +
      • + [issue 30], + [issue 32], + [Bug 26755] + Fixed: some reply / forward buttons were missing the file template dropdowns
        + In some cases the reply / forward buttons in the header area were not configured + with file templates. This could happen if no preview area was configured and no + single message window was opened during Thunderbird startup, which caused the + necessary buttons to be missing on Application startup. It could also happen if + reply all button and reply button were both configured to be always shown on + the header preview. +
      • +
      • +

        + [issue 36] + Fixed: Smart-Reply button is missing template menus / template menus not working on combined + "Reply All" / "Reply to Sender" / "Reply to List" button in preview header area. +

        +

        + I have added a simplified menu solution for this case:
        + smart reply menu
        + Instead of having template submenus for each command, clicking a template below is modified + through the keys Shift and Ctrl. The template items will: +

          +
        • trigger the top command (e.g. reply all) by clicking on any templates below
        • +
        • trigger the 2nd command (e.g. reply to sender) via Shift+click
        • +
        • trigger the 3rd command via Ctrl+click
        • +
        +

        +
      • +
      • +

        + [issue 38] + Fixed: Images with encoded file URLs are not loaded correctly
        + An image tag that contains URLencoded characters can lead to the image not being loaded, + for example: + <img src="file:///C%3A%5CUsers%5CJohn%5Cimg%5Cimg3.png"> +

        +
      • +
      +
    • + + +   +
    • +

      + Version 2.7 - 09/01/2020 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      + +
      Enhancements
      +
        +
      • [issue 25] + Set variables from addressbook fields. +

        When replying to a matching email address you can now use + additional part switches for address variables such as %from%
        + Example: %from(firstname,workphone)% +

        +
        +
        Contact
        +
        +  firstname
        +  lastname
        +  name  (uses Display Name but only if the option 'Resolve Name from Address Book' is enabled)
        +  nickname
        +  additionalmail
        +  chatname
        +  workphone
        +  homephone
        +  fax
        +  pager
        +  mobile
        +
        +
        Private
        +
        +  private.city
        +  private.address1
        +  private.address2
        +  private.state
        +  private.country
        +  private.zipcode
        +  private.webpage
        +
        +
        Other
        +
        +  other.custom1
        +  other.custom2
        +  other.custom3
        +  other.custom4
        +  other.notes
        +
        +
        Work
        +
        +  work.title
        +  work.department
        +  work.organization
        +  work.address1
        +  work.address2
        +  work.city
        +  work.state
        +  work.country
        +  work.zipcode
        +  work.webpage
        +
        +
        + +
      • +
      • [issue 29] + Added configuration item to file template menus.
        +

        This will make it easier to add new items to the write / reply / forward dropdown lists + that contain external templates (Stationery replacement)
        + +

        +
      • +
      • Premium function: Added an optional 3rd parameter to + %matchTextFromBody(regular Expression,group #,"alternative text")%.
        + If the quoted email has no match, then the alternative text will be inserted instead. +
      • +
      • Completed translations for Brazil (Portuguese) and Russian - thanks to google translate.
      • +
      +
    • + +   +
    • +

      + Version 2.6 - 29/11/2019 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      + +
        +
      • [issue 7] + Losing all typed text in compose window when changing identity / signature not updated correctly. +

        Normally, SmartTemplates is designed to do all processing (building the email and replacing variables) + when opening the compose window; it also does this when you change identity provided you have not typed + any text in the body of the email. In that case, Thunderbird rebuilds the email itself, + thereby ignoring SmartTemplate and reusing the typed text. This could also lead to losing typed text + and variables within the signature not being replaced.

        +

        In this new version this behavior is improved: SmartTemplates will now process the (replaced) Signature + if it contains SmartTemplate variables. It will also replace all "late resolved" variable fields (such as + %to(name)%) when changing the identity. Since Thunderbird cannot recreate the JavaScript + necessary for these advanced functions all "late resolved" variables will be replaced; they will be removed if they + cannot be replaced meaningfully. +

        +

        When working with these variable fields in New Emails, I recommend to either resolve them first by making sure + the To address and subject line are populated, or to not start typing until the correct identity is selected. +

        +

        For using variables such as %identity(name)% within the signature, make sure to + activate the Global Signature settings:
        + signature settings +

        +
      • +
      • Remember that you can disable update messages - once you have a license you can set the change log tab + not to open after a SmartTemplates update. The setting can be found on the + license tab:
        + silent updates option +
      • +
      +
    • + + +   +   +
    • +

      + Version 2.5.2 - 21/11/2019 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      +
        +
      • [issue 22] + Cannot add new recipients to address widget after + modification through %header.set()% or %header.append()%
      • +
      • [issue 23] + Settings dialog broken in Czech version. +
      • +
      • Fixed "cut off descriptions in extended settings" in Linux
      • +
      • Added silent update feature - if you have a license you can now disable the change log tab + which is normally opened after a SmartTemplates update. The setting can be found on the + license tab:
        + silent updates option +
      • +
      +
    • + +   +
    • +

      + Version 2.5 - 11/11/2019 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      + + +
        +
      • Added switch for toggling automatic proofing: use %spellcheck(off)% to disable proofing. + To toggle proofing ON, use %spellcheck(on)%. As usual, without this, Composer will use the global + settings. Different languages can be set using the language parameter, e.g. %spellcheck(it)% to + switch to Italian spell check.

        + +

        To force switching and change to a different language do the toggle command first.

        + +
      • +
      • [issue 21] + Fixed: %spellcheck% sometimes doesn't remove red proofing lines after setting language +
      • +
      • Improved UI on Template Files page for Stationery users:
        + - removed irrelevant Save and Load buttons
        + - added a question mark button which links to the + Stationery help page.
        + +
      • +
      • Completed some of the missing translations for new functionality in the Finnish, French, Czech, Spanish, Italian, Polish and Swedish locales.
      • +
      • Extended error log for trouble shooting the getFileAsDataURI() function; this is used to improve behavior when + images are included using the %file()% function, by replacing them with inline data without Thunderbird + complaining about security problems. note that image file names should have an extension in order to determine + file type correctly.
      • +
      +
    • + + +   +
    • +

      + Version 2.4.2 - 28/10/2019 +
      + + 60.0 - 69.* + 2.0.0 - 2.49.* + +

      +
        +
      • [issue 20] + If a html template file starts with certain UTF detection characters, + the "missing file" warning is wrongly displayed. +
      • +
      • Sandboxed Javascript (script blocks enclosed in %{% %}%) implemented in [Bug 25676] + stopped working in Thunderbird 68, due to the call to Cu.nukeSandbox failing... + for now, SmartTemplates allows using these again for versions smaller than 69 +
      • +
      +
    • + + +   +   +   +
    • +

      + Version 2.4.1 - 22/10/2019 +
      + + 60.0 - 68.* + 2.0.0 - 2.49.* + +

      +
      Enhancements
      +
        +
      • + [issue 17] + Add %spellcheck()% variable for changing spellchecker to a different language.
        + %spellcheck(language)%
        + This is the new variable to switch the spell checked to a different language. + language can be any locale string of a dictionary that is already installed, e.g. en, de, en-GB etc.
        + Additional dictionaries can be installed from + addons.thunderbird.net using Add-ons Manager. +
      • +
      +
      Bug Fixes
      +
        +
      • + [issue 16] + In some cases, images in signature triggered the "blocked file" warning. + The latest version of SmartTemplates will now parse the signature and replace the + file-based image source with a base64 encoded data link to avoid this warning. +
      • +
      • + [issue 19] + File templates can generate unexpected line breaks, and contained images may break + this can happen if option "replacing line breaks with <br>" is active +
      • +
      + +
    • + +   +   +
    • +

      + Version 2.3.1 - 20/09/2019 +
      + + 60.0 - 69.0 + 2.0.0 - 2.49.* + +

      + + +
      Enhancements
      +
        +
      • Release video below - Please help my YouTube channel by subscribing. + Click the YouTube link in the bottom right corner of the video to visit my channel.
        + +
      • +
      • 2.3.1 - Improved handling of non-working Stationery in Thunderbird 68. + You can now jump straight into configuring file templates and "support stationery" + will be automatically disabled if it cannot be run in the current Tb version.
      • +
      • +

        [issue #8] + Support File Templates - to replace Stationery from Thunderbird 68 forward.

        +

        + I have repeatedly reached out to the author of the excellent + Stationery + Add-on over the last 8 months, but unfortunately did not get any reply. + I also attempted to patch it for Thunderbird68 but it is just too much work. (I estimate 2-3 man weeks) +

        +

        + SmartTemplates still supports it, but it looks like it will stop working as soon as Thunderbird 68 lands + in August / September 2019; therefore we need another solution to be able to + use ad-hoc templates in the form of HTML files. +

        +

        + To replace the missing functionality of Stationery which is sadly going away with Thunderbird 68, + you can now add a list of external HTML templates, integrated into the Write / Reply and Forward buttons, + by selecting the item Template Files from the accounts drop down:
        + +

        +

        Important note:
        + In order for file templates to work correctly, you have to disable the option Global Settings»Global Settings»Advanced Functions»Support Stationery Add-on
        + disable stationery support
        + I have raised issue 13 to handle this bug. +

        +
      • +
      • 2.3.1 Maintenance update: +

        Fixed [issue 14]: + If Lightning is not installed in Thunderbird 68, currently the new "file templates" function will + not load the template, but may open 2 composer windows instead.

        +

        Fixed [issue 15]: + file templates only work on an account if the box Apply following template is active.

        +
      • +
      • +

        + [Bug 26689] + New function to set E-mail priority

        +

        + Add a function to set the priority of the composed Email. +

        +

        + Examples:

        + + %header.set(priority,highest)%
        + %header.set(priority,high)%
        + %header.set(priority,normal)%
        + %header.set(priority,low)%
        + %header.set(priority,lowest)%
        +

        +
      • +
      +
      Bug Fixes
      +
        +
      • + [issue 9] + %header.set(from)% not working in Tb60.9 +
      • +
      • + Fixed a problem with the Czech translation file that caused an error when trying to display the + SmartTemplate Settings dialog. +
      • +
      +
    • + +   +   +   +
    • +

      + Version 2.2.2 - 13/08/2019 +
      + + 52.0 - 68.* + 2.0.0 - 2.49.* + +

      + +

      This version fixes some backwards compatibility issues with Thunderbird 52 + and SeaMonkey.It also has fixes for date and language functions. + Note that Thunderbird versions prior to Tb 60 will not pick up this version via auto-update, + this is caused by the "hybrid" natuire of the Add-on which is not fully supported by the + Add-ons site: it only sees the "modern" version of the Add-on which is packaged as a webextension + and visible to Thunderbird 60 and later. You can still download this version and install it manually + on Thunderbird 52. +

      +

      + Note that you will need at least a cheap standard license to use it. To read more about licenses, just + continue reading.
      + Or skip to the change set here. +

      + + +   +
      Maintenance Version 2.2.2
      + +
        +
      • + It is now possible to use the %dateformat()% function with the + %X:=sent% modifier when replying to / forwarding emails. +
      • +
      • + [issue #5] + %timezone% was not working correctly - it was giving wrong time + corrections based on time zone + utc calculations. +
      • +
      +
      +

      Change Log for Version 2.2, released on 12/08/2019:

      +
      Enhancements
      +
        +
      • + Increased the trial period to 28 days. As adoption of the Standard License were decent I want + to give more users a chance to test SmartTemplates with the next version of Thunderbird. +
      • +
      • + On popular demand, I localized the license shop for Japanase, Russian, German, Polish, Italian, + Spanish and Dutch users. Additional Domain Seats can now be purchased after the fact. +
      • +
      • + Removed License button animation in composer's sliding notification for Linux + and Mac systems as allegedly they caused performance issues on some systems. + Also fixed OS specific style paths so platform specific rules work again. +
      • +
      • [issue #3] +

        Allow displaying leading zeroes for parts of %dateshort% + and %datelocal%

        +

        You can now modify the following settings in about:config

        +

        +extensions.smartTemplate4.dateformat.hour = "numeric"
        +extensions.smartTemplate4.dateformat.day = "numeric"
        +extensions.smartTemplate4.dateformat.month = "numeric"
        +extensions.smartTemplate4.dateformat.year = "numeric"
        +

        +

        + hour: change to "2-digit" for forcing 2digit hours in datelocal / dateshort
        + day: change to "2-digit" for forcing 2digit day in datelocal / dateshort
        + month: change to "2-digit" for forcing 2digit month (dateshort only)
        + year: change to "2-digit" for forcing 2digit year (dateshort only)
        +

        +
      • +
      • + Made sure settings dialog is not cropped by right hand edge of screen. +
      • +
      +
      Bug Fixes
      +
        +
      • + Wrote some backward fixes for Thunderbird 52. In the last version the file + smartTemplate-overlay.js didn't load successfully because of importing + XPCOMUtils.jsm in a non-backward compatible format. + (ChromeUtils.import replaces Components.utils.import from Tb60 forward) +
      • +
      • [issue #4] + Fixed locale problems. SmartTemplates due to a regression in 2.0 the current + locale of the mail client cannot correctly be determined. + The %language()% switch can now be used to force correct display of day / month names in the variables + %A% %a% + %B% %b% + and related %dateformat()% function) + It will also force using the installed language pack for date formatting through the + %datelocal% and %dateshort% function. + If the language pack is missing or disabled, this will be indicated + in JavaScript error console - not a potentially disruptive message box. +
      • +
      • [Bug 26688] + Multiple %matchTextFromBody% in a line yielded only a single result. + This is now fixed also for %matchTextFromSubject%, so they can better be used + multiple times in the same template. +
      • +
      • + Fixed status icon mode on Thunderbird 68 startup. +
      • +
      +
    • + +   +   +
    • +

      + Version 2.1.1 - 03/08/2019 +
      + + 60.0 - 68.0 + 2.0.0 - 2.49.* + +

      + +

      2.2 - released 29/07/2019: after 7 months of work, finally a version + that is fully compatible with Thunderbird 68.0. You will need at least a cheap standard license + to use it. More about licenses here. + +

      2.1.1: Maintenance release - this was quickly released after 2.1, + to read about these latest changes only, click here.

      + +   +

      Change Log for Version 2.1, released on 29/07/2019:

      +
      2.1 - Enhancements
      +
        +
      • [Bug 26536] + Support using SmartTemplates variables in Thunderbird Templates (Tb 60). +
      • +
      • [Bug 26629] + Added a variable to set a specific time zone (e.g. GMT) for date/time variables.
        + Use the new %X:=timezone(timezone)% switch to force displaying the time with a fixed time zone. +
        + For example:
        + %X:=timezone(EST)% for inserting Eastern Standard Time in date functions such as + %dateshort% or %dateformat()% +
      • +
      • + [Bug 26634] + header.*.matchFrom* functions: append/prepend arbitrary text to field based on match. +

        +

        You can now use the matchFromSubject and matchFromBody functions in the following way:
        + %header.set.matchFromBody(header,search pattern,"replacement text")%
        + this is different from the already supported usage
        + %header.set.matchFromBody(header,search pattern,match group)%
        + The main difference is that match group is a number - which will insert / set / append the matched text found + during the search, whereas replacement text is a text that is used instead if the search pattern + is found. For usage simply add the double quotation marks around the 3rd parameter. +

        +
      • +
      • + [Bug 26677] + %header.set.matchFromBody() improvements for use with subject line. + It is now possible to quote the first n characters of the quoted email like this:
        + %header.set.matchFromBody(subject,"(\s*\S){1,75}",0)% +
      • +
      • + Added button for extending your SmartTemplates Pro License. This will now show up + on the SmartTemplates Pro Tab 30 days before the current license expires. The + web shop will give you an additional year based on the current expiry date for + a smaller price (typically 20 %) than a new license. If the license is already + expired, then the current date is used to calculate new expiry date, giving + you also a full year. +
      • +
      • + From now on, SmartTemplates will remember the last selected folder using the + file picker when saving / loading templates. +
      • +
      • Added a button for opening the Stationery configuration tab. +
      +
      2.1 - Bug Fixes
      +
        +
      • [Bug 26626] + Edit As New duplicated email content unless Stationery is installed. +
      • +
      • [Bug 26627] + Signature was always removed when creating message from templates. With this fix, + when creating a mail from a thunderbird template the signature will be treated according to + the rules set up in account settings composition section.
        + To omit the signature, use %sig(none)% within the template.
        + To determine a specific position other than specified in account settings, use %sig(html)%. +
      • +
      • + Fixed: %attach()% command previously had a filter to only append HTML files. +
      • +
      • + [Bug 26628] + Fixed: %dateshort% and %datelocal% left out time portion. +
      • +
      • + [Bug 26632] + Using %dateformat% in reply / forward: deferred fields are not automatically tidied up. +
      • +
      • + [Bug 26635] + Cursor not placed in "To:" Row when writing/forwarding email.
        + Fix: SmartTemplates will now check when writing new emails if the "To:" address is already set. If not, + the cursor will be placed into the address widget and %cursor% ignored. +
      • +
      • + [Bug 26636] + Stationery broken with %sig(text)%. When using a Stationery template with the + "Use instead of default quote header" option switched off, some of the template text may be accidentally + deleted from the Email. +
      • +
      • Improved matchTextFromBody: avoid scanning inserted quote header or anything outside of the replied to email. +
      • +
      +
      2.1 - Miscellaneous
      +
        +
      • + Added a new knowledgebase page for investigating font styles using Thunderbird's Inspector. +
      • +
      • + Raised minimum version for Postbox to 5.0. +
      • +
      • [Bug 26667] + ESR 2019 Readiness - compatibility with Thunderbird 68 +

        Made SmartTemplates compatible with Thunderbird 68 - part of the ongoing effort to + future proof SmartTemplates for 2020. This will also mean eventually making the minimum requirement + using Thunderbird version 60.
        + The latest test version (2.1 pre 244) can be be found here. +

        +

        + I may back-port new features to older versions on demand - these will be handled on + a separate Github branch. +

        +
          +
        • Replaced prefwindows with dialogs. There are a lot of changes in the code to make + storing preferences in Thunderbird's configuration database work again.
        • +
        • Use newer preferences script.
        • +
        • Replace groupbox caption elements with hbox + additional layout fixes.
        • +
        • Replace statusbar element with hbox (Tb65 and higher).
        • +
        • Use new promise-based AddonManager object.
        • +
        • Remove document.createElement in xul documents (replace with createXULElement until Mozilla decides to deprecate that too).
        • +
        • Improved loading script in composer to be more reliable.
        • +
        +
      • +
      + +   +
      2.1.1 - Maintenance Release - Published on 03/08/2019
      +

      This contains mainly fixes affecting problems in Thunderbird 68, + caused by its changes to the preferences system +

        +
      • (licensed users only) Added support tab.
      • +
      • Added the premium feature 'deferred variables in "Write" template' (such as %to%) to standard features. Important: this only works in HTML mode - plain text is not supported.
      • +
      • Improved panel sizing on Preferences dialog.
      • +
      • ESR - Eliminated deprecated getCharPref / setCharPref functions
      • +
      • Fixed regression caused by ESR work for Thunderbird 68 [Bug 26657], + some account specific options (use HTML, replace BR) were greyed out when opening + the dialog and had to be reactivated by enabling / disabling "Apply the following template". + Use Common should always disable account specific settings for clarity.
      • +
      • Improvement: When opening settings for the current Id and "use common" is selected, + display common settings instead.
      • +
      +

      back to main changes

      +
    • + +   +   +   +
    • +

      + Version 2.0 - 23/12/2018 +
      + + 9.0 - 60.* + 2.0.0 - 2.49.* + 4.0.0 - 5.52b6 + +

      + +
      Enhancements
      +
        +
      • Release video below - Please help my YouTube channel by subscribing. + Click the YouTube link in the bottom right corner of the video to visit my channel.
        + +
      • +
      • +

        [Bug 24993] + Premium Feature + Added support for using the following fields when composing a *new* Email:

        +
          +
        • %subject%
        • +
        • %from%
        • +
        • %to% %cc% %bcc%
        • +
        • %date%
        • +
        • %dateformat()%New function for building date strings for current date, see below.
        • +
        +

        Note, to insert the real recipient in a forwarded email, you can now use the fwd argument: + e.g. %to(firstname,fwd)% +

        The variables are shown as colored placeholder blocks and can be updated with a simple mouse-click: +
        + deferred variables
        + This will pull in the correct information when available and can be clicked multiple times. +
        +

        +

        A new button for a final clean up - for "tidying up ALL variables" can also be added to the Composer toolbar:
        + clean up +

        +
      • +
      • +

        + [Bug 26588] + %dateformat% Premium Feature Function for inserting / updating current time. +

        +

        + The format variables are taken from the regular formats such as %Y% for 4-digit + Years, with the % symbols stripped. Use as follows:
        + %dateformat(formatString)% +

        +

        + Supported Field Switches: + Y, y, n, m, e, d, k, H, l, I, M, S, tz_name, B, b, A, a, p1, p2, p +

        +

        + Examples:
        + %dateformat(A, e/n/Y, H:M)% creates: Wednesday, 23/02/2018, 14:23 +

        +
      • + +
      • + [Bug 26597] + Added new ?? operator to make parts of address header arguments optional, e.g. + %from(name,??mail)% - this will omit the mail part if a name part is given in the + from address. + Also you can now make the brackets conditional by using ?? as the first to characters of + the bracketMail() and bracketName() arguments:
        + For example, bracketMail(??angle) will only display the angle brackets < > + around the email address if no other parts can be determined (no Name parts).
        + %from(firstname,bracketMail(??angle))
        + + + + + + + + + +
        + First name known: + + Axel <email address> +
        + First name unknown: + + email address +
        +
      • + +
      • + Added advanced option for setting default address variable format for variables like %to% %from% %bcc%. + With "firstname,??mail" %to% will show the first name; if that is unavailable, it will show the plain mail address. + It can be used with all possible %to()% arguments:
        + name,fullname,firstname,lastname,mail,bracketMail(),bracketName(),initial. +
      • + +
      • + [Bug 26307] + Premium Feature + Improved switch for adding (subtracting) days from date fields:
        + %X:=calculated(d,h:mm)% where d = is the number of days to add. h = number of hours and mm number of minutes. + Note this needs to be reset using + %X:=calculated(0)% to unapply it to the rest of the Email. +
      • + +
      • + [Bug 26552] + %attach(filePath)% added function for attaching files. +
      • + +
      • Address Book: Added option to replace firstname with Display Name if no first name is recorded.
      • +
      • [Bug 26595] + Option to disable guessing Name functionality. +
      • +
      • + Made extracting Name from (parentheses) optional. + SmartTemplates tried to "guess" a preferred Name from an expression within parentheses, + such as Axel (Administrator) axel@xxx123.com - this is likely wrong in most situations. + It's now disabled by default and can be turned back on with the config setting + extensions.smartTemplate4.names.extractNameFromParentheses +
      • + + +
      • + [Bug 26536] + Support using SmartTemplates variables in Thunderbird Templates. +

        You can now use things like %datelocal% within a + Thunderbird template. However when editing Templates using Thunderbird composer, + the Add-on ThunderHTMLedit should be used to remove the + smarttemplateinserted="true" attribute from the + <body> tag. +

        +

        Also all variables should be within the + <div id="smartTemplate4-template"> tag and additionally + inserted tags like this should be removed. There is still some work to be done + as currently opening Composer to edit the template resolves all variables as if a new + reply was created. +

        +
      • + +
      • [Bug 26551] + Add Domain License key support for SmartTemplates Pro +
      • +
      • + Added Indonesian Locale - thanks to Mienz Louveinski (Babelzilla.org) +
      • +
      + +
      Bug Fixes
      +
        +
      • [Bug 26524] + %datelocal% and %dateshort% are broken in Thunderbird 60 +
      • +
      • [Bug 26526] + %file(imageFile)% falsely creates + "The Variable %5C.. can not be used for new messages" when including + images in a NEW Email (in Windows Only). +
      • +
      • Fixed: When adding inline text using %file%, new lines were not expanded in Composer (HTML view).
      • + +
      • [Bug 26523] + Extra <br> before blockquote if standard quote header is used +
      • + +
      • [Bug 26541] + SmartTemplates 1.5 not working correctly in Postbox 5.0 +
      • + +
      + +
    • + + +
    • +

      + Version 1.5.1 - 01/05/2018 +
      + + 9.0 - 60.* + 2.0.0 - 2.49.* + 3.0.0 - 5.52b6 + +

      + +
        +
      • [Bug 26434] + Forwarding email with embedded images removes images +
      • +
      • [Bug 26465] + Composer does not focus into body of mail. +
      • +
      • Updated locales for French and Slovenian language. Thanks to Joël Bauer and Peter Klofutar at Babelzilla.
      • +
      • Raised minimum Thunderbird version to 45.0
      • +
      • Release video below - Please help my YouTube channel by subscribing. + Click the YouTube link in the bottom right corner of the video to visit my channel.
        + +
      • +
      • Changed license to Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
      • +
      • IF you are updating from version 1.4, there are more changes below please click here to read on!
      • +
      +
    • + + +
    • +

      + Version 1.5 - 27/04/2018 +
      + + 9.0 - 60.* + 2.0.0 - 2.49.* + 3.0.0 - 5.52b6 + +

      + +
      Release video below - Please help my YouTube channel by subscribing. + Click the YouTube link in the bottom right corner of the video to visit my channel.
      + +
      + + +   +
      Enhancements
      +
        +
      • [Bug 26340] + New "unmodified field" option for %To()%, %CC()% and %From()% + %from(initial)% New initial keyword to avoid any changes of header; just displays the header as received.
      • +
      • [Bug 26307] + Premium Feature + New switch for adding (subtracting) days from date fields:
        + %X:=calculated(n)% where n = is the number of days to add. Note this needs to be reset using + %X:=calculated(0)% to unapply it to the rest of the Email. +
      • +
        +
      • Bug 26411 + New: Expanded functions for manipulation of headers, based on + Regular Expressions.Premium Feature
      • +
      • %header.set.matchFromSubject(hdr,regex,group)% Set the header if a matching regular expression is found in subject line.
      • +
      • %header.append.matchFromSubject(hdr,regex,group)% Append text to header / recipient if a matching regular expression is found in subject line.
      • +
      • %header.prefix.matchFromSubject(hdr,regex,group)% Prefix text to header if a matching regular expression is found in subject line.
      • +
      • %header.set.matchFromBody(hdr,regex,group)% Set the header if a matching regular expression is found in quoted email.
      • +
      • %header.append.matchFromBody(hdr,regex,group)% Append text to header / recipient if a matching regular expression is found in quoted email.
      • +
      • %header.prefix.matchFromBody(hdr,regex,group)% Prefix text to header if a matching regular expression is found in quoted email.
      • +
      • %header.delete(hdr,regex)% Remove matching regular expression from text.
      • +
      +

      hdr: One of the following list {subject | to | from | cc | bcc | reply-to}

      +

      regex: A regular expression within double quotes, e.g. + "You got an email from .* \((\b[a-zA-Z0-9._+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b)\)" - + Note that this function supports match groups.

      +

      group: The number of the match group, type 0 for inserting the match from the complete expression.

      +

      Notes: if no match is found the header will not be deleted or modified in any way. Therefore it is important + to do a visual check on all fields before you send of your emails. No error messages will be issued when no + match is found. Prefix and append will check whether the value already exist and avoid duplication. The prefix + command should not be used with address fields, instead use append to add more recipients.

      +

      More information on regular expressions and examples can be found on the + variables page.

      +
      Bug Fixes
      +
        +
      • [Bug 26494] + ESR 2018 readiness - Make SmartTemplates compatible with Thunderbird 60 +
      • +
      • + [Bug 26446] + Thunderbird 57 hangs on start with SmartTemplates enabled.
        + See also the Related Thunderbird bug +
      • +
      • + (Gecko 57) Local date fails due to codebase changes - deprecated nsILocaleService causing local date to fail +
      • +
      • + (Gecko 57) Most date functions (datelocal, dateshort) Caused by deprecated nsIScriptableDateFormat +
      • +
      • [Bug 26300] + %cursor% leaves an unnecessary space character
      • +
      • [Bug 26345] + Unexpected "Â" character in mail body
      • +
      • [Bug 26356] + Thunderbird 52 - Forwarding an email inline adds empty paragraph on top.
      • +
      • [Bug 25571] + "Replace line breaks with <br>" on when not enabled - if Common settings are used: + this inserted unwanted extra line breaks causing ugly spacing issues when forwarding email. +
      • +
      • [Bug 26364] + Inline Images are not shown. The fix will look for file:\\\ paths and replace with the + raw image data. This won't work if there is no "file:\\\" portion given (relative path / + current folder not supported) +
      • +
      + +
      Postbox
      +
        +
      • [Bug 26485] + Make SmartTemplates compatible with the next Postbox build - 5.52 beta 6 (modern Gecko build) - as of beta 7, Postbox is following Mozilla Quantum in dropping 3rd party Addons support altogether: + +

        Postbox is based on Mozilla code, and as of Firefox Quantum, Mozilla has discontinued support for add-ons. As such, a decision has been made to remove add-ons functionality from Postbox at this time.

        +

        Postbox's Signatures and Responses add-ons have been rolled into the core product. Cloud File Sharing and installable Dictionaries will be supported in future BETA releases.

        +

        Add-ons from 3rd parties will no longer operate in Postbox, but we may opt to roll certain 3rd party add-on functionality into Postbox in the future.

        +
        +
      • +
      +
    • + + +
    • +

      + Version 1.4 - 22/01/2017 +
      + + 9.0 - 50.* + 2.0.0 - 2.44 + 3.0.0 - 5.* + +

      +

      Please contribute to SmartTemplates

      +
        +
      • Release video below - Please help my YouTube channel by subscribing. Click the YouTube link in the bottom right corner of the video to visit my channel.
        +
      • +
      • Added Postbox 5.0 compatibility
      • +
      • Fixed: mailto links are missing signature
      • +
      • Extended %matchTextFromBody( )% function. Premium Feature
        + %matchTextFromBody("Regular Expression",MatchGroup)% finds a pattern in the quoted Email and inserts it at function location. The first parameter must be the regular expression within double quotes. The second parameter is a number which denotes the "match group". Match groups are usually designated with round parentheses (). Use 0 to match the complete expression, 1 for the first group etc. +
      • +
      • New %matchTextFromSubject( )% function Premium Feature
        + Same as above, but searches the Subject line for the pattern. Parameters are also the same, first the pattern, second the match group number. See the variables page for a detailed explanation and examples. +
      • +
      +

      More information on regular expressions and examples can be found on the + variables page.

      +
    • + + +
    • +

      + Version 1.3.1 - 23/09/2016 +
      + + 15.0 - 49.* + 2.10 - 2.40 + 3.0.0 - 4.* + +

      +

      Please contribute to SmartTemplates

      +
        +
      • Please check out my new YouTube channel and help by subscribing. We will post tips on using + Thunderbird and Addons on a regular basis. Click on the YouTube link in the bottom + right corner to visit my channel: + Thunderbird Daily
      • +
      • [Bug 26260] + Browser's "EMail Link" feature doesn't copy link +

        In some circumstances choosing the browser feature to email a link will + generate a new email but not copy in the actual link into the body of the + email. I haven't been able to reproduce this yet but assume it is related to + plain text email.

      • +
      • [Bug 26261] + Quote header not inserted in plain text mode. +
      • +
      +
    • + + + +
    • +

      + Version 1.3 - 11/07/2016 +
      + + 9.0 - 47.* + 2.0.0 - 2.42 + 3.0.0 - 4.* + +

      +

      Please contribute to SmartTemplates

      +
        +
      • Please check out my new YouTube channel and help by subscribing. We will post tips on using + Thunderbird and Addons on a regular basis. Click on the YouTube link in the bottom + right corner to visit my channel.
        +
      • +
      • [Bug 26207] + Add option to delimit address list with semicolons
        + multi c delimiter +
      • +
      • [Bug 26208] + Lastname and Firstname arguments omit part of the name when broken up
      • +
      • [Bug 26257] + Default quote header not removed in complex Stationery
      • +
      • Force Replacing default quote header in Stationery even if no %quoteHeader% variable is contained
      • +
      • [Bug 26215] + Bad interaction between SmartTemplates and "When using paragraph format, the enter key creates a new paragraph". + With this new option, we can force SmartTemplates to always start in a Paragraph to better integrate + with the recently updated behavior of Thunderbird 45.
        + force paragraph mode
      • +
      • [Bug 26209] + Add option to wrap full name in double quotes if it contains comma or semicolon
        + Set extensions.smartTemplate4.names.quoteIfComma = true
      • +
      • When clicking on a mailto link from a web browser with a given text body, this was replaced by SmartTemplates. + The new behavior bypasses smartTemplate to avoid losing information from the web site.
      • +
      • Added Czech Locale - thanks to jmarek at beta.babelzilla.org
      • +
      • Added button to visit our Thunderbird Daily Youtube channel
      • +
      • Updated outdated links to language libraries from ftp to https
      • +
      +
    • + + +
    • +

      + SmartTemplates 1.2.1 - 20/04/2016 +
      + + 9.0 - 45.* + 2.0.0 - 2.45 + 3.0.0 - 4.* + +

      +

      Please contribute to SmartTemplates once a year to make sure the project thrives!

      +
        +
      • Please check out my new YouTube channel and help by subscribing. We will post tips on using + Thunderbird and Addons on a regular basis. Click on the YouTube link in the bottom + right corner to visit my channel.
        +
      • +
      • [Bug 26061] + Thunderbird doesn't remember to disable Icon on status bar
      • +
      • [Bug 26100] + Double brackets not working with %cc(name,bracketMail(angle))%
      • +
      • [Bug 26159] + %cursor% variable breaks paragraphs style
      • +
      • [Bug 26126] + Unwanted space added after cursor
      • +
      • [Bug 26139] + Fix position of warning message for variables that are not supported in New Emails.
      • +
      • [Bug 26197] + Thunderbird 45 - unwanted paragraph after quote header.
      • +
      +
    • + + +
    • +

      + SmartTemplates 1.1 - 30/08/2015 +
      + + 9.0 - 42.* + 2.0 - 2.39 + 3.0 - 4.* + +

      +

      Please contribute to SmartTemplates once a year to make sure the project thrives!

      +
        +
        Enhancements
        +
      • [Bug 26043] + Save Template / Load Template feature
        + Save and Restore Templates
        + Save / load the current template to / from a file. +
      • +
      • [Bug 25904] Functions to Modify Mail Headers: To, Cc, Bcc, Subject and Others
        + %header.set(name,"value")% replaces the field of the Email.
        + %header.append(name,"value")% appends text or recipient to the field of the Email.
        + %header.prefix(name,"value")% prefixes text to the field of the Email.
        + Change mail headers
        + This currently supports the following headers: subject, to, from, cc, bcc, reply-to. + For example, %header.prefix(subject,"[Project 1] ")% + will turn the subject "Re: Support Request" into "[Project 1] Re: Support Request". + The append function can also be used to add more additional recipients. In all cases, duplicates + should be checked and avoided - please double check this is the case and report it to the + bug if there are problems. The value has to be wrapped in " and doesn't currently support these + characters: " , % used within. +
      • +
      • Removed automatic suppression of "mailTo" links and added an Advanced Setting for re-activating it. + Going forward, we recommend keeping this option off, as it may have some undesirable side-effects.
      • +
        Miscellaneous
        +
      • Postbox 4 compatibility. Raised minimum version for Thunderbird to 9.0.
      • +
      +
    • + + + +
    • +

      + SmartTemplates 1.0.1 - 25/05/2015 +
      + 3.1.20 - 38.* 2.0.0 - 2.38 3.0.0 - 4.0.* +

      +
        +
        Enhancements
        +
      • [Bug 25902] + %from% and %to% fail if no argument is given. While addressing this bug + I also revised the treatment of variables within the arguments so multiple elements + can be added e.g. %from(firstname,lastname,mail)% This also helps when adding a list + of multiple addresses (as multiple %from% statements are expanded individually which is + unusable as list.
      • +
      • [Bug 26020] + Added bracketMail() and bracketName() functions use within from() to() cc() etc. + to "wrap" mail address with non-standard characters
        + +
        +  bracketMail(arg) - use  within from() to() cc() etc. to "wrap" mail address with non-standard characters
        +  bracketName(arg) - same using "name portion"
        +  usage: bracketMail(startDel;endDel)  startDel = characters before the mail portion 
        +                                     endDel = characters after the mail portion
        +                                     e.g. bracketMail(";") unsupported characters are:  ; , < > ( ) [ ]
        +       bracketMail()        =  <mail@domain.com>
        +       bracketMail(angle)   =  <mail@domain.com>
        +       bracketMail(round)   =  (mail@domain.com)
        +       bracketMail(square)  =  [mail@domain.com]
        +       bracketMail(;)        =  mail@domain.com
        +
      • +
      • [Bug 25871] Added %file()% Premium Feature- insert html, text or image from file (for customized signatures) + use a local file path in order to insert a file from the computer you are sending from. + You can also use it to insert an image file. To insert the correct file path / name, simply click + on the %file% link in the "Variables" window.
        + %file(fileName,encoding)% %file(fileName)%
        + If the optional encoding parameter is omitted, we assume UTF-8 (recommended) + %file(imageName,altText)% %file(imageName)%
        + The optional altText is displayed at the recipient if the image cannot be displayed. It may not contain the characters ,)(>< +
      • +
      • Added Slovenian Locale - thanks to Klofutar for providing the translation!
      • +
        Bug Fixes
        +
      • [Bug 25903] In address fields Quotation marks are escaped: \"
      • +
      • Fixed: Capitalize Names doesn't work if string is quoted. Makes the whole string lowercase. + Also capitalisation should work with Names in brackets now.
      • +
      • Fixed: getSignatureInner inserts "undefined" in Postbox if no signature is defined for current identity.
      • +
      • [Bug 25951] SmartTemplates not working in SeaMonkey 2.32 - Temporal Deadzone - This was caused by some code + changes in the Mozilla code base that established different rules for variables declared with "var" + causing addons to break which have the same variable declared with let or var multiple times
      • +
      • [Bug 25976] Reply to List: variables not resolved - Stationery Patch available
      • +
      • [Bug 25089] Default forward quote not hidden - in Postbox "Fred wrote:" was not removed in plain text mode. + Set extensions.smartTemplate4.plainText.preserveTextNodes = true for roll back to previous behavior.
      • +
      • [Bug 26008] Inserting Template in Postbox may fail with "XPCOMUtils not defined"
      • +
      • [Bug 26013] SmartTemplates picks template from common settings instead of identity (Tb38)
      • +
      • Fixed: SmartTemplates was reported to fail in Postbox 3.0.11 in some cases - this version fixes the issue.
      • + +
        Known Issues
        +
      • [Bug 25911] Extra Spaces in long subject headers [Decoding Problem] - Work In Progress
      • +
      +
    • + + + +
    • +

      + SmartTemplates 0.9.6 - 04/10/2014 +
      + 3.1.20 - 33.* 2.0.0 - 2.31.* 3.0 - 3.* +

      +
        + +
      • Added a switch for removing emails when replacing Names from Address book
      • +
      • Added format %sig(none)% to completely remove the signature, overriding account settings.
      • +
      • [Bug 25089] (reopened) default quote header wasn't removed anymore in Tb 31.0
      • +
      • [Bug 25816] Missing names in reply caused by different Encodings - the Mime decoder fails when multiple addresses with varying encodings are contained
      • +
      • [Bug 25089] Default forward quote not hidden
      • +
      • variable %matchTextFromBody()% to find and replace pattern Premium Feature
        + e.g. %matchTextFromBody(TEST *)% will retrieve '123' from 'TEST 123'
      • +
      +
    • + + + +
    • +

      + SmartTemplates 0.9.5.2 - 08/05/2014 +
      + 3.1.20 - 30.* + 2.0.0 - 2.27.* 2.0.0 - 3.* +

      +
        +
      • Improved locale matching (allow matching en as en-US etc.)
      • +
      • [Bug 25571] + "replace line breaks with <br>" on when not enabled
      • +
      • Made sure that debug settings window stays on top.
      • +
      • Added advanced tab to settings dialog
      • +
      • Added option to disabling space for %cursor%
      • +
      • [Bug 25676] + JavaScript parser added by Benito van der Zander
      • +
      • [Bug 25710] + <div id="smartTemplate4-template"> is inserted in Stationery body
      • +
      • [Bug 25643] + Display Names from Address book: if the email-address can be found in the Address books, use + the name information from there for variables like %from(firstname)% etc.
        + Resolve Names from Address book +
      • +
      • Added option to use Nickname where it exists
      • +
      • Added option to capitalize all names
      • +
      • Fixed [Bug 25191] + Conflict with add-on Account Colors
      • +
      • Fixed a problem with name matching signature files - depending on file name some + textual signatures might be accidentally treated as images.
      • +
      • Fixed reading plain text signature files (linefeeds where lost) by inserting html line breaks - to disable this behavior toggle + extensions.smartTemplate4.signature.replaceLF.plaintext.br in about:config
      • +
      • 0.9.5.2 Fixed [Bug 25762] + Address variables To and Cc replaced with ?? - this happened on remote address books and also in Postbox generally + of the option "Replace Names from Address book" was activated.
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.9.4 - 15/09/2013 +
      + 3.1.20 - 24.* 2.0.0 - 2.20.* 2.0.0 - 3.* +

      +
        +
      • Added %quoteHeader% variable for Stationery Users - adds the quote header only in reply/forward case and is removed in new mail
      • +
      • Fixed [Bug 25523] Cannot use image as signature .
      • +
      • Fixed [Bug 25526] If no signature is defined, %sig% is not removed.
      • +
      • Added user interface for forcing adding '-- ' delimiters before signature
      • +
      • Redesigned Global Settings tab:
        + global settings tab +
      • +
      • Added islinkable switch to address variables (to, from, cc, bcc, identity) to fix [Bug 25538]
      • +
      • Reopened [Bug 25088] by making status bar icon status more resilient
      • +
      • Fixed %subject% removing expressions in <brackets>
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.9.3 - Released 31/07/2013 +
      + 3.1.20 - 22.* 2.0.0 - 2.17.* 2.0.0 - 3.* +

      + +
      Enhancements
      +
        +
      • Added support for Stationery 0.8. Thanks to the cooperation of its author Arivald, we are now + able to replace variables that are injected in Stationery templates, which makes it possible to create + form letters that can be used on demand from any mail account. See + our dedicated support page for instructions on + how to use them together.
        + note: Template inserting is disabled if a Template of Stationery 0.7.8 or older is used.
      • +
      • Added toolbar button
        + Drag & Drop Toolbar Button +
      • +
      • [FR 24990] Added %cursor% variable
      • +
      • [FR 25083] New option "Correct Lastname, Firstname" to swap firstname to the front.
      • +
      • %deleteText()% and %replaceText()% functions - Premium Feature
      • +
      • Replacement of variables in Signature
      • +
      • Added Postbox support
      • +
      • Mailto link support for the main header fields that hold email address data: + %to(mail,link)% %to(name,link)% %to(firstname,link)% etc.
      • +
      • new %identity(name,link)% function
      • +
      • [FR 25248]%y% for two digit years
      • +
      • added preferences textbox for default charset
      • +
      • added Examples tab:
        + examples tab
        + This tab loads examples from our support web site; they also are conveniently broken up + into template and quote header to show into which box the code should go. + You can highlight the desired code and drag it into the appropriate field.
        + copy & paste from examples Tab +
      • +
      +
      Bug Fixes
      +
        +
      • fixed a problem with preference not updating (found by AMO reviewer Nils Maier)
      • +
      • stabilised signature code base
      • +
      • fixed: Redefinition of Thunderbird's nsIMsgAccount interface broke account dropdown in settings
      • +
      • suppressed displaying string conversion prompt when clicking on the version number in advanced options
      • +
      • [Bug 25483] when using %sig(2)% (option for removing dashes) - signature is missing on new mails in HTML mode
      • +
      • [Bug 25104] when switching identity, old sig does not get removed.
      • +
      • [Bug 25486] attaching a plain text file as signature leads to double spaces in signature
      • +
      • [Bug 25272] reply below quote with signature placed curorsor below signature (should be above signature and below quote)
      • +
      +
      Miscellaneous
      +
        +
      • added 24px icon
      • +
      • added change log
      • +
      • Numerous locale updates - Many thanks to the translation team at BabelZilla!
      • +
      • added a configuration setting to insert dashes "--" on top of plain text signature.
        + extensions.smartTemplate4.insertSigDashes.plaintext
      • +
      • added a configuration setting for signature file encoding.
        + extensions.smartTemplate4.signature.encoding
      • +
      +
      Known Issues
      +
        +
      • [Bug 25523] Cannot use image as signature (fix available)
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.9.2 - Released 22/11/2012 +
      + 3.1.7 - 17.* 2.0.0 - 2.16.* +

      + +
      Enhancements
      +
        +
      • Redesigned Settings Window to support signature settings from Thunderbird even better
        + 2-box-solution
      • +
      • Added support for Seamonkey
      • +
      • Added global settings in advanced options pane; includes new font size setting for template editor.
        + Global settings +
      • [FR 25088]: add option to hide status icon. You can also use right-click on the option to change label behavior through the configuration setting + extensions.smartTemplate4.statusIconLabelMode (it's not needed to change anything but you can do)
        +
          +
        • 0 - never show label +
        • 1 - expand label on hover (default) +
        • 2 - always show label
          + Status label configuration +
        +
      • +
      • [FR 25012] Added %cwIso(offset)% for week # of current year
      • +
      • Redesigned About Window (Add-On Manager ⇒ rightclick on SmartTemplates ⇒ About)
        + aboutWindow
      • +
      +
      Bug Fixes
      +
        +
      • [Bug 25103]: 0.9.1 inserts unwanted line break top of <body> in html mode
      • +
      • [Bug 25099]: Support bottom reply with headers on top
      • +
      • [Bug 25097]: Forward text message results in double header
      • +
      • [Bug 25095]: 2 blank lines in plain text between header and quote
      • +
      • [Bug 25093]: Signatur missing when replying below quote
      • +
      • [Bug 25092]: Option window broken in Italian version
      • +
      • [Bug 25084]: 0.9.1 regression: blank line is added before Reply template
      • +
      • [Bug 25089]: Default forward quote can't be completely hidden - thanks to PeterM for providing a solution
      • +
      • [Bug 25117]: Plaintext: Template always below the quoted message when replying
      • +
      • [Bug 25155]: 0.9.1 regression - blank line is added AFTER Reply template
      • +
      +
      Miscellaneous
      +
        +
      • Versions Bump to 17.*
      • +
      • Added uk-UA locale
      • +
      • Locale updates - Many thanks to the translation team at BabelZilla!
      • +
      + +
    • + + +
    • +

      + SmartTemplates 0.9.1 - Released 16/08/2012 +
      + 3.1.7 - 14.* +

      +
      Enhancements
      +
        +
      • [Bug 25109]: Automatically select Current Identity
      • +
      • Integrated variables help into options dialog
      • +
      • Statusbar button for quickly accessing template settings
        + Statusbar Button
      • +
      • Added Bugzilla support
      • +
      • When switching between accounts, the current Tab (e.g. Reply to) remains selected
      • +
      • When updating from an earlier versions, all settings and templates should be migrated automatically, this prompt should show up once:
        + ConSmartTemplates Wizard
        + simply press Ok to bring your old templates with you! +
      +
      Bug Fixes
      +
        +
      • Fixed [Bug 24997]: "Edit as New" Sometimes Loses Message Body
      • +
      • Fixed [Bug 25002]: Signature will displayed two times
      • +
      • Fixed [Bug 24988]: Message body not included replying to "plain-text" messages
      • +
      • Fixed [Bug 24991]: Replace default quote header not working in some cases
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.8.5.6 - Released 18/06/2012 +
      + 3.1.7 - 14.* +

      +

      + ATTENTION: This and all following versions will not work properly before Thunderbird 13.*.*, if you use Thunderbird 12.*.* or before please use maximum 0.8.0!
      + Thunderbird 13.*.* contains a lot of changes and this makes it impossible for us to support it the future!
      + This also means that we can't support Thunderbird 1.5 from now! +

      +
      Enhancements
      +
        +
      • Redesigned Help Window
      • +
      • Added inserting variables/keywords using mouse click
      • +
      • Added validation during insert (if variable cannot be used in "Write New" it will be rejected
        + onclick error
      • +
      +
      Bug Fixes
      +
        +
      • Fixed compatibility Problem with Thunderbird 13.* which broke a lot of the extension's functionality in 0.8.0 and previous
      • +
      +
      Miscellaneous
      +
        +
      • Version Bump to 14.*
      • +
      • Added fi locale
      • +
      • Most locales are reviewed and corrected (currently not all) incomplete translations are in English, as always. Many thanks to the translation team at BabelZilla!
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.8.0 - Released 02/02/2012 +
      + 1.5 - 12.0a1 +

      +

      + ATTENTION: This and all versions before works only up to Thunderbird 12.*.*, if you use Thunderbird 13.*.* please upgrade to 0.8.5.6 or newer! +

      +
      Enhancements
      +
        +
      • made account list in option window easier to read
      • +
      • some visual improvements to the help file
      • +
      +
      Bug Fixes
      +
        +
      • fixed bug where a quotation that is edited loses its formatting or disappears.
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.7.9 - Released 24/12/2011 +
      + 1.5 - 12.0a1 +

      +
      Bug Fixes
      +
        +
      • corrected incorrect file encodings on many locale files. Incorrectly encoded errors.properties files caused SmartTemplates to crash this has also been corrected.
      • +
      +
      Miscellaneous
      +
        +
      • Versions Bump to 12.0a1
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.7.8 - Released 04/11/2011 +
      + 1.5 - 10.0a1 +

      +
      Enhancements
      +
        +
      • added a new variable %sig% to allow users to put their signature where it should be placed in the template. If %sig% is not defined in the template it will be placed in the default Thunderbird location (above reply or below reply based on TB settings). 'Include Signature on Reply/Forward" must be checked in Thunderbird options for the %sig% to work as expected.
      • +
      • added a new option to variable %subject% to show the subject of the message being replied to/forwarded or the subject of the current message being composed
      • +
      • %tz_name% variable has been added but it is system dependent and will have limited support. Some users will see abbreviated time zone names (EST, CDT) and some will see long names(Eastern Standard Time...) and some will not have any return depending on their operating system or the mailserver of the email being replied to.
      • +
      +
      Miscellaneous
      +
        +
      • paste an list of all variables and in which case they can be used to all help files.
      • +
      • SmartTemplates no longer crashes when variables are used incorrectly; an error is logged to the Error Console.
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.7.7 - Released 04/11/2011 +
      + 1.5 - 10.0a1 +

      +
      Bug Fixes
      +
        +
      • where reply header was being put above the signature when signature is placed 'above the quote'.
      • +
      • automatically add line break in message compose window
      • +
      • %date_tz% variable was returning the local timezone instead of the senders timezone.
      • +
      • removed the 'automatically add two line breaks' that was added in 0.7.6. This affected many users and the correct way to add line breaks at the top of your message is to include them in your template.
      • +
      +
      Miscellaneous
      +
        +
      • locale added: sv-SE
        + Many thanks to BabelZilla Team!
      • +
      • Versions Bump to 10.0a1
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.7.6 - Released 09/09/2011 +
      + 1.5 - 8.0a1 +

      +
      Bug Fixes
      +
        +
      • Fixed issue if %datelocal% variable is used for new messages
      • +
      • a lot of small fixes
      • +
      +
      Miscellaneous
      +
        +
      • changes in locale pt-BR
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.7.5 - Released 28/08/2011 +
      + 1.5 - 8.0a1 +

      +
      Enhancements
      +
        +
      • An option was added in settings called "Use OS date/time format instead of Thunderbird". + Some users reported that SmartTemplate 4 was not using the custom date format they had set in their operating system. + This will give everyone that option if they want to use it.
      • +
      +
      Bug Fixes
      +
        +
      • Some users reported subject lines not being displayed correctly. Specifically there were line breaks causing the subject to span more than one line. This could also occur with other headers but subject was the only one reported.
      • +
      • corrected issue where headers longer than 4096 were being truncated.
      • +
      +
      Miscellaneous
      +
        +
      • updated all helpfiles 'added recent changes'
      • +
      • implemented some coding changes suggested by the Mozilla ATN review team.
      • +
      +
    • + + +
    • +

      + SmartTemplates 0.7.4 - Released 09/08/2011 +
      + 1.5 - 8.0a1 +

      +
      Enhancements
      +
        +
      • Originally the X:=sent switch would change all variables after it's use for the remainder of the template unless X:=today was used to switch them back. That behavior is now changed such that the X:=sent command only affects the line on which it is being used.
      • +
      • %datelocal%, %dateshort%, %date_tz% are now affected by the X:=sent and X:=today variables.
      • +
      +
      Bug fixes
      +
        +
      • fix CC line inner Brackets +
      +
    • + + +
    + + +

    My other Extensions - highly recommended


    + +

    QuickFolders (Thunderbird / Postbox / SeaMonkey)

    +

    +Takes the pain out of working with many mail folders; has currently 20,000 users and is 3rd of all top rated message reading extensions. +

    + +

    quickFilters (Thunderbird / Postbox / SeaMonkey)

    +

    +Quickly generate mail filters on the fly, by dragging and dropping mails and analyzing their attributes. +

    + +

    Zombie Keys (Thunderbird / Postbox / SeaMonkey)

    +

    +Zombie Keys (Firefox) +

    +
    +

    Enter accents, diacritics, diaeresis, umlauts, ligatures etc. with keyboards of various countries (us,uk,ie,fr,it,ru,de,sv) - via easy to remember shortcuts or menu. Also supports all textboxes of the application (such as search, filters). +

    + +

    +Moves the Thunderbird menu bar to the top. Choose from a selection of visual styles. It is convenient to have the menu on top of the tabs like Firefox; this is also a good area for placing "global" toolbar buttons like Navigation or get mail. +

    + + + + + + + + + +
    + + + + + +
    + + + + + diff --git a/version.html b/version.html new file mode 100644 index 000000000..e0f13dbba --- /dev/null +++ b/version.html @@ -0,0 +1,1866 @@ + + + + Smart Templates - Change Log + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +

    SmartTemplates

    + + + + + + + + + + +
    + + + + + + + + + + +
    +

    Welcome to the change log / version history of SmartTemplates. +
    + The extension went through a couple of hands of developers, I am trying to keep the latest version up to + date in this tried and tested format. +
    + Since Version 0.9.1 we show this page after a successful update of SmartTemplates, but you can + also download older releases by clicking on one of the Version numbers below.
    + Please Contribute to SmartTemplates! +

    + + + +

    Latest News (01/05/2022) - Thunderbird 115 Compatibility

    + +   +
    +

    + SmartTemplates is fully compatible with Thunderbird 102. + In rare cases there may be problems when updating from older versions of Thunderbird.
    + If you get a message that says otherwise after updating from earlier versions (Tb78 or Tb91) or if SmartTemplates cannot be enabled using + the blue slider, then simply remove it and reinstall it via "Find more Add-ons" on the Extensions tab of Add-ons Manager: +

    +

    + There will be a brand new version for Thunderbird 115 which is going to be released in Summer 2023. + There are a number of problems that need to be resolved until then, but if you would like to + try out a test version that you can install in the current Thunderbird beta, I recommend that you visit Github + issue 213. +

    +
    +

    First try if you can enable SmartTemplates using the slider:
    + enable SmartTemplates +

    +

    + If this doesn't work, then removing the Add-on via Thunderbird the Add-ons Manager will still retain your settings:
    + remove to reinstall +

    +

    + In the Search box, enter the term SmartTemplates, and press the Enter key:
    + force reinstallation via Addon Manager +

    +

    + Then click on the Add to Thunderbird button:
    + Add to Thunderbird +

    +
    +
    Click to read instructions for reinstalling:

    +
    + +

    Prereleases & Prototypes (no warantees!)

    + +

    Prereleases & Prototypes are currently only released via our + Github issue + tracker. + All latest changes including ongoing work on bugs you have reported can be found on the Change Log of + latest version. + Older (legacy) versions can be found at addons.thundebird.net + The legacy version history (for Thunderbird before version 91) can be found here. +

    + +

    ATTENTION: All Prereleases & Prototypes include the full flag and flag locale for the current Build. Other locale can cause trouble as the translation is not over yet!

    + +
    + +
    +
    +
    +

    + SmartTemplates is now available for Thunderbird 102, which has been rolled out to many users in October 2022. + SmartTemplates Pro and SmartTemplates Standard licenses are funding ongoing work to support + future compatibility with Thunderbird. There is ongoing work to replace the experimental API + structure with native APIs, to one day have a standard permission based mail extension. +

    +

    + As latest feature I added more support for using the clipboard. + With this you can extract data from the original mail and easily copy it into different places of your Email reply. +

    +

    + The variables tab is now fully searchable using the new search box. +

    +

    + Please remember to support SmartTemplates development by buying a + license! +

    + +
    + +
    +
    Other Notes
    +

    + Don't forget to use our bug report page to enter issues or request features. + You can now use the new github tracker for this, which also + supports screenshots and markdown formatting. +

    +

    + For your convenience, from version 0.9 onwards, these pages will display directly in your Thunderbird in content tabs so there won't be any additional browser necessary. + We hope that you enjoy the new homepage
    +
    + yours sincerely, +

    +

    + Axel Grude
    + (developer, site design)
    +
    + Marky Mark DE
    + (support, project maintainance) +

    +
    +
    + +

    Change Log

    +

    + TIP: All dates are displayed in UK format dd/mm/yyyy +

    + +
      + +   +   +   +   +
    • +

      + + Version 4.0b3 - 17/07/2023 +
      + + 112.* - 115.0 + +

      + +
      +

      + SmartTemplates 4.0 is a brand new version for Thunderbird 115, which is in active process of + release over the next weeks and which has a completely redesigned new + + user interface "Supernova". + If you would like to share feedback on this beta version, I recommend that you visit Github + issue 213. +

      +

      + Please buy a license + or renew your license to finance this work if you want to use SmartTemplates in the future. +

      +
      + + + + + + + +
      + +

      SmartTemplates Pro Renewal - SUMMER SALE

      +

      + You can now renew or extend your Pro license + for 25% off - [around $7.50 USD saving $2.50!] + from July 10th to July 25th. + Click the SmartTemplates panel at the bottom of the Thunderbird window:
      + ...and then click the renewal button. +

      +

      + Make sure to catch this occasion while it is up, this is the cheapest way to use all + premium features for Thunderbird 102! +

      +
      + + + +
      + + + + + + + + + +
      + +

      SUMMER SALE - until July 25th

      +

      + For the next weeks, you can now get a SmartTemplates Pro License + for 33% off - [around $10.00 USD saving $5.00] + for SmartTemplates Pro +

      +

      + Catch this occasion while available, this is the cheapest way to use all + premium features for Thunderbird 115. +

      +

      + Alternatively, you can buy the standard license here. +

      +

      + The license is valid for one full year after purchase, after which + it can be extended or upgraded. SmartTemplates needs to be completely rewritten to keep + working on a future version of Thunderbird, as the "legacy Add-on" system is gradually replaced with a + different technology. Only through funding this work can SmartTemplates survive - it may be the price of a cup of coffee to you - consider + whether you think it is worth supporting the many features that SmartTemplates gives you. +

      +
      + + + +
      +

      + To make a choice - expand the settings dialog:
      +
      + then click the Buy License item from the SmartTemplate License tab on the Options dialog. +

      + +
      + + + + + + +
      + +

      Summer SALE - Upgrade to Pro for same price as a Standard license

      +

      + You can now upgrade your Standard license to SmartTemplates Pro + for 33% off - [pay $6.00 USD saving $3.00] + from July 10th to July 25th. +

      +

      + To avail of this offer, you can do either: +

      +
        +
      • + If your license expires soon or is expired, click the panel at the bottom of the Thunderbird window:
        +
        + ...and then click the renewal / extend button. +
      • +
      • + Or open the SmartTemplates license tab, expand the dialog + and click on the button "Upgrade to Pro" or "Renew License".
        + + + + + + + +
        + +
        + +
        +
      • +
      + - You can then make the choice for upgrade or extension from the SmartTemplates + licensing screen. + +

      + This will transmit your current license key to the shop site to assure eligibility - make sure to use + the link directly for the discount. It will also give you a full year from your license purchase + (even if your Standard key is already expired). +

      + +

      + Make sure to catch this occasion while it is up, this is the cheapest way to use all + premium features for Thunderbird 102! +

      +
      + + + +
      + + +
        +
        Important Maintenance Fixes - 4.0b3
        +
      • + Fixed a bug which broke the template menus when modifying + (the menus were saved in a broken format). + [issue 247] +
      • +
      • + The %recipient% variable will now update to the correct address when + inserting it from a smart fragment in a reply, even after it was + changed manually. + [issue 248] +
      • + +
        Enhancements / Changes
        +
      • +

        + User Interface: The template dropdown menus are now displayed through dedicated + buttons in the new unified toolbar and the message header area. Thunderbird does not + allow modifying existing buttons (such as Write or Reply) with a dropdown anymore. +

        +
        Unified Toolbar Menu
        +

        + this is automatically added on installation on the top right of Thunderbird - you can move + it to the left via the context menu and selecting Customize. +

        + unified toolbar menu + +
        Header Actions Menu
        +

        + header action menu +

        +
      • + +
      • + New option to automatically reuse last external template. Once you select an external + HTML from the dropdown when replying, this will be used for all subsequent replies + using Thunderbird's standard reply / reply all buttons. + [issue 243] +

        + This feature will be available to all users with a valid license (Standard, Pro and Domain) and can be + activated in Global Settings: +

        + default last external template + +
      • + +
      • +

        + Supports %replaceText% and %deleteText% + to modify html that was imported using %file()%. + This way you can use placeholder variables and replace them from + the containing template. [issue 244]
        + I recommend using the tested syntax {variable} for place holders. +

        + +

        + We frequently need to import text fragments ("building blocks") that have some generic + content but need to include some specific keywords, such as a product name or URL. + Previously the following pattern did not work within the text that is imported: +

        + +

        +

          %file("snippets/why-renew.html")%
        +  %replaceText("{addonName}","quickFilters")%    
        +  %replaceText("{github}","https://github.com/RealRaven2000/quickFilters")%
        +

        +

        + Contained file (why-renew.html) +

          <p>
        +    All changes of the Add-on {addonName} can be seen as they are 
        +    created and tracked <a href="{github}/issues">on Github</a>;
        +  </p>
        +

        +

        + Previously, SmartTemplates did the replacements before the contents of the file were + inserted into the template text. + New behavior: First load the file and replace its contents into the template, + then do the text replacements afterwards. As demonstrated in the example above, + it can also be used to modify HTML markup and affect things like HTML attributes + such as the URL of a web link. +

        + +
      • + +
        Known issues / Work in Progess
        + Known issues / Plans + +
      • + There may still be some stability issues with displaying / updating the template menus.
      • +
      • + Future versions will hide irrelevant menus (reply list, reply all) based on current context. +
      • +
      +
    • + + + + + + + + +   +
    • +

      + + Version 3.17.1 - 16/07/2023 +
      + + 91.* - 110.* + +

      + +
      +

      + SmartTemplates is now compatible with the latest version of Thunderbird (115.0)! +

      +

      + Thunderbird 115 has been released on July 11th and has a completely + new + user interface "Supernova". + + This required considerable work of rewriting all elements interacting with the main page + (3pane) of Thunderbird (toolbar buttons, template menus, event handlers) - and also requires rewriting + the settings dialog as a content tab. Please fund this work through buying a license. +

      +

      + If you would like to read up or comment on the ongoing work for optimizing this new + SmartTemplates version, see + this Github issue. +

      +
      + + + + + + +
      + +

      SmartTemplates Pro Renewal - SUMMER SALE

      +

      + You can now renew or extend your Pro license + for 25% off - [around $7.50 USD saving $2.50!] + from July 10th to July 25th. + Click the SmartTemplates panel at the bottom of the Thunderbird window:
      + ...and then click the renewal button. +

      +

      + Make sure to catch this occasion while it is up, this is the cheapest way to use all + premium features for Thunderbird 102! +

      +
      + + + +
      + + + + + + + + + +
      + +

      SUMMER SALE - until July 25th

      +

      + For the next weeks, you can now get a SmartTemplates Pro License + for 33% off - [around $10.00 USD saving $5.00] + for SmartTemplates Pro +

      +

      + Catch this occasion while available, this is the cheapest way to use all + premium features for Thunderbird 115. +

      +

      + Alternatively, you can buy the standard license here. +

      +

      + The license is valid for one full year after purchase, after which + it can be extended or upgraded. SmartTemplates needs to be completely rewritten to keep + working on a future version of Thunderbird, as the "legacy Add-on" system is gradually replaced with a + different technology. Only through funding this work can SmartTemplates survive - it may be the price of a cup of coffee to you - consider + whether you think it is worth supporting the many features that SmartTemplates gives you. +

      +
      + + + +
      +

      + To make a choice - expand the settings dialog:
      +
      + then click the Buy License item from the SmartTemplate License tab on the Options dialog. +

      + +
      + + + + + + +
      + +

      Summer SALE - Upgrade to Pro for same price as a Standard license

      +

      + You can now upgrade your Standard license to SmartTemplates Pro + for 33% off - [pay $6.00 USD saving $3.00] + from July 10th to July 25th. +

      +

      + To avail of this offer, you can do either: +

      +
        +
      • + If your license expires soon or is expired, click the panel at the bottom of the Thunderbird window:
        +
        + ...and then click the renewal / extend button. +
      • +
      • + Or open the SmartTemplates license tab, expand the dialog + and click on the button "Upgrade to Pro" or "Renew License".
        + + + + + + + +
        + +
        + +
        +
      • +
      + - You can then make the choice for upgrade or extension from the SmartTemplates + licensing screen. + +

      + This will transmit your current license key to the shop site to assure eligibility - make sure to use + the link directly for the discount. It will also give you a full year from your license purchase + (even if your Standard key is already expired). +

      + +

      + Make sure to catch this occasion while it is up, this is the cheapest way to use all + premium features for Thunderbird 102! +

      +
      + + + +
      + + +
        +
      • + Allow %replaceText()% and %deleteText()% to affect content + that was imported using %file()%# + issue 244 + +

        + We frequently need to import text fragments ("building blocks") that have a generic message + but need to include some specific keywords, such as a product name or URL. + Previously the following pattern did not work within the text that is imported: +

        + +

        +

          %file("snippets/why-renew.html")%
        +  %replaceText("{addonName}","quickFilters")%    
        +  %replaceText("{github}","https://github.com/RealRaven2000/quickFilters")%
        +

        +

        + Contained file (why-renew.html) +

          <p>
        +    All changes of the Add-on {addonName} can be seen as they are 
        +    created and tracked <a href="{github}/issues">on Github</a>;
        +  </p>
        +

        +

        + Previously, SmartTemplates did the replacements before the contents of the file were + inserted into the template text. + New behavior: First load the file and replace its contents into the template, + then do the text replacements afterwards. As demonstrated in the example above, + it can also be used to modify HTML markup and affect things like HTML attributes + such as the URL of a web link. +

        +
      • + + +
      • + Fixed problem where an invalid HTML signature path could lead to problems in the template. +
      • +
      • + Update Number of days left in license at midnight +
      • +
      +
    • + +   +
    • +

      + Version 3.17 - 04/05/2023 +
      + + 91.* - 110.0 + +

      +
      +

      + SmartTemplates is fully compatible with the current ESR version + of Thunderbird (102.13) - and currently supports up to version 110 beta 4. + I am currently working on + fundamental changes for Thunderbird 115 + which will be released in July 2023 and has a completely + new + user interface "Supernova". + This requires considerable work of rewriting all elements interacting with the main page + (3pane) of Thunderbird (toolbar buttons, template menus) - and also requires rewriting + the settings dialog as a content tab. Please fund this work through buying a license. +

      +
      + + + +
        +
        Enhancements
        +
      • + New %deleteForwardedBody% function removes the body of the original email when + forwarding inline. Can be used to process information from automated mails while removing + the original information. + [issue 236] + (This function requires a SmartTemplates Pro license) +
      • +
      • +

        + Insert Snippet now supports inserting contents of a CSS file as style block. + [issue 238] +
        + In the template menus, such items will be marked with a special icon: +

        + CSS snippet entries +
      • +
      • +

        + Allow %file()% and %style()% commands to use ../ + as part of the relative path to access parent or sibling folders of a file. +

        + for example: +
          %file(../faq.html)%
        +  %file(../../history/qf-5.16-de.html)%
        +  %style(../styles/quickfolders-reminder.css)% 
        + + (See also [issue 237]) +
      • +
      • +

        + Improvements in Template Manager: Show Category in the list to simplify navigation. + Categories can be used to add submenus to your template menus for easier access + to many templates. +

        + manage templates: category prefixes +
      • +
      • + Added pricing section to licensing dialog [issue 232] +
      • +
        Bug Fixes
        +
      • + Corrected the Number of days left in license by rounding up [issue 234] +
      • +
        Miscellaneous
        +
      • + Added Czech translation to licensing dialog +
      • +
      • + SmartTemplates does not trigger "news" unless min ver changes at least. This way + test versions can be loaded without always displaying the "News" label on the toolbar / status bar. +
      • +
      +
    • + +   +   +
    • +

      + Version 3.16 - 06/03/2023 +
      + + 91.* - 110.* + +

      + +
        +
        Maintenance version 3.16.1
        +
      • + Fixed: Forward with Template (a filter rule function added by the + FiltaQuilla Add-on) + did not send off mails automatically any more. + [issue 231] +
      • +
      • + Fixed: Scripts in template %{% %}% - [issue 229] +
      • +
      • + Fixed: %from(addressbook,nickname)% created an error when trying to use CardBook. +
      • + + +
        Enhancements
        +
      • + Spellchecker will now be activated by %spellcheck()% command - + even if the option "spellcheck as you type" is disabled in Composition settings. + [issue 223] +
      • +
      • +

        + Added CardBook support (Pro License Feature). You need to install + Cardbook 84.6 or higher to retrieve the addresses from it. + [issue 50]. + Enable this feature on the advanced settings page: +

        + +

        + I also added platform switches to chatname, which select a specific + chat name based on the what it is for, such as %from(chatname.skype)% + You can find all currently supported switches on the variables page under + the section 'Address Book Fields' and can be combined with all address-related + variables such as %to%, %from%, %cc%, %recipient% or %identity%. +

        + +
      • +
        Bug Fixes
        +
      • + Fixed: Template Categories containing space characters disrupt the template menus + [issue 222] +
      • +
      • + Fixed: bracketName(";") parameter was broken. + [issue 219] +
      • +
        Miscellaneous
        +
      • + Removed Service and MailService wrappers to simplify the code and improve performance. +
      • +
      +
    • + +   +   +
    • +

      + Version 3.15 - 27/11/2022 +
      + + 91.* - 102.* + +

      +
        + +
        Maintenance Release 3.15.1
        +
      • + Minor maintenance fix for text search in variables tab that could break repeated searching using F3. +
      • + + +
        Improvements
        +
      • +

        + Added backwards search in variables window - press Shift + F3 to search text going up. + You can also use the Enter key on the number pad to enter a new search term. + This previously closed the SmartTemplates settings window. +

        + variables search options +
      • +
      • + Added optional attributes list to variable %file()% when it is used to + include images [issue 216]. + You can add additional attributes to with the following syntax: +
        +%file(img/bargain.png,id=bargainStar,width=192,"alternative text")%
        +This will generate the following html code after importing the image data:
        +<img
        +src="data:img/png;filename=bargain.png;base64,iVBORw0KGgoAAAAN...." id="bargainStar" width="192" alt="alternative text">
        +
      • + +
        Bug Fixes
        +
      • +

        + Fixed a problem with addressbook switch, which can be used with address headers and also %identity% . This was broken by recent changes related to + %toclipboard()%. Also added support for the new vCard format. + [issue 217]. Example: +

        +
        +%identity(addressbook,work.title,work.department,work.organization)%
        +
      • +
      +
    • + +   +
    • +

      + Version 3.14 - 27/10/2022 +
      + + 78.* - 102.* + +

      + + +
      Improvements
      +
        +
      • + Added a search field to the variables page. + [issue 215]
        +

        + Enter a search term to find any words in the complete variables documentation (including + currently collapsed chapters). Push Enter to start the search and F3 to continue + to the next match. +
      • +
      • + Added a chapter that documents all clipboard functions in variables tab. +
      • +
      • + Improvement of colors in variables window when using dark themes. +
      • +
      • + Support using toclipboard parameter to copy data to clipboard multiple times in the same template. + [issue 210] +
      • +
      + + +
      Bug Fixes / Maintenance
      +
        +
      • + Fixed header variables with uppercase letters, such as %Message-Id% + and %Newsgroups% + [issue 211] +
      • +
      + +

      + SmartTemplates is fully compatible with Thunderbird 102. + If you are having problems with the latest version please check the troubleshooter above. +

      +
    • + +   +
    • +

      + Version 3.13 - 22/08/2022 +
      + + 78.* - 104.0 + +

      +
      + +
      Improvements
      +
        +
      • + New function %toclipboard("some text")% to copy text to clipboard for + use with following SmartTemplate variables that can insert data from the clipboard, such as + %clipboard% or %header.prefix(subject,clipboard)%. +
      • +
      • + New toclipboard parameter for address fields such + as %from(name)% to copy extracted address parts to clipboard. +
      • +
      • + Improved the parameters bracketMail and + bracketName for using with clipboard. + These now do not encode the < and > signs anymore. +
      • +
      • + [issue 208] + Improved accessibility for settings dialog. Tabs and buttons can now be navigated using keyboard only. +
      • +
      • +

        + After updating, SmartTemplates does not display the tab with version log automatically anymore. + The original behavior can be restored on the licenses tab in the new 'Updates' section: +

        + update settings +

        + The fully translated "News" screen or a detailed change log (in English) on the + support site can also be opened from here. +

        +
      • +
      + + +
      Bug Fixes
      +
        +
      • + [issue 205] + Fixed: After FiltaQuilla automatically forwarded or replied to an email using smarttemplate, + the same template had been used in error on a following manual reply in error. +
      • +
      • + [issue 204] + Repaired the context menu command to update and replace field variables with content. + This will now remove the field and replace it with the current content (without updating + the content - to update it just use a left click beforehand). +
      • +
      • + [issue 206] + Repaired: %datelocal% - this returned a blank space instead of + the localized date. +
      • +
      • + Repaired SmartTemplates icon in "Customize Toolbar" so you can find it easier - you + can pull the SmartTemplates settings into the main toolbar for quick access. +
      • +
      • + [issue 209] + Support license validation with Exchange accounts (from Tb 102) +
      • +
      + +
      Miscellaneous
      +
        +
      • + In Thunderbird 102 we now use the compose-window-init event to + more reliably attain headers information from the original email. +
      • +
      + +
    • + + +   +   +   +
    • +

      + Version 3.12.2 - 29/06/2022 +
      + + 78.0 - 102.* + +

      + +

      + SmartTemplates is fully compatible with Thunderbird 102. + If you are having problems with the latest version please check the troubleshooter above. +

      + + +
      Maintenance Fixes - Version 3.12.2
      +
        +
      • + [issue 197] + Expand / collapse / help buttons are now also visible when opening settings from Add-ons Manager +
      • +
      • + [issue 198] + Renew license button on left bottom of settings dialog now works as expected +
      • +
      + +
        +
        Enhancements
        +
      • +

        + [issue 183] + SmartTemplates Pro now supports using "clipboard" as argument for text and header manipulation functions: +

        +

        + header manipulation - examples +

          +
        • %header.set(to,clipboard)% - set the final recipient from the clipboard
        • +
        • %header.append(to,clipboard)% - add a recipient from clipboard
        • +
        • %header.prefix(subject,clipboard)% - add some subject prefix from clipboard
        • +
        +

        +

        + Template text and Quote replacements +

          +
        • %replaceText(regularExpression,clipboard)% - overwrite placeholder text in template from clipboard
        • +
        • %replaceQuotedText(regularExpression,clipboard)% - replace text in the quoted part
        • +
        +

        +

        A valid SmartTemplates Pro License is required for this feature to work.

        +
      • +
      • +

        + [issue 187] + SmartTemplates Pro: Support transferring headers / variable results to clipboard +

        +

        + Use the parameter toclipboard to transfer header contents such as email addresses to + the clipboard: %from(mail,toclipboard)% +

        +

        + Use it when replying or forwarding messages to extract text from the original message + body or subject to the clipboard, for example: +

        +  %matchTextFromBody("Please reply until (.*)",1,toclipboard)%
        +  %matchTextFromSubject("\[Support\] (.*)",1,toclipboard)%
        +

        +

        + You can use it for copying the date with dateformat as well: + Wrap the format strings in double quotes, and add the parameter toclipboard to force copying + the date to clipboard instead of inserting it into the email. Use the additional + parameter current to always enforce current time (without that, it will + interpret it as the timestamp of the replied to / forwarded original mail) - easier + than having to insert the cumbersome %x:=today% at the start of the line. +
        + Examples: +

        +  %dateformat("A, e/n/Y H:M",toclipboard)%
        +  %dateformat("A, e/n/Y H:M",current,toclipboard)%
        +

        +

        A valid SmartTemplates Pro License is required for this feature to work.

        +
      • +
      • +

        + [issue 182] + Improved *selection* placeholder in Snippets to better support processing html elements. + For example, you can now wrap an image with some HTML to add a shadow with this HTML snippet. + Just click on the image in your email and then load the following Smart Snippet: +

        +
        +  <div style="border: 1px solid rgba(80, 80, 80, 0.3); 
        +  box-shadow: rgba(80, 80, 80, 0.3) 5px 5px 5px; 
        +  width:max-content;">*selection*</div>
        +

        + This will add a nice outline and drop shadow. Another one: +

        +
        +  <span style="background-color: rgb(180,0,0) !important; color: white !important; 
        +  border-radius: 1.3em; font-weight: bold; padding: 4px 8px;"
        +  >*selection*</span>
        + +

        + You can use this to make red "bullets" around numbers or letters referring to + screenshot legends. Highlight a number and then select the Smart Template from your + Snippet menu and you get this: + 12 +

        +

        + There are many more creative way to add functionality to the Thunderbird + Composer using the SmartTemplates Snippets button, by using HTML and style rules. +

        +
      • +
      • +

        + [issue 185] + Simplified and modernized SmartTemplates Settings - Accounts dropdown and toolbar buttons: +

        +

        + account toolbar +

        +

        + The accounts dropdown often showed squashed buttons at the top right due to long labels, also the icons + were confusing - I have decided to streamline this by taking the following steps: +

          +
        • removed the "Advanced" label and using the widely used [...] icon to expand dialog to advanced settings
        • +
        • used monochrome scalable svg icons for most of the toolbarbutton
        • +
        • removed the account name from the account label - the identity name should be enough. + If you need to add it back (or additional info such as the account id) + you can right-click the "Account:" label
        • +
        • reduced space between buttons to save even more space
        • +
        + +

        +
      • +
      • + [issue 189] + Support multiple spellcheck languages with %spellcheck()% command - for example:
        + use %spellcheck(en,de)% to enable combined English / German dictionary checking. +
      • +
      • + v3.12.1: Improved button appearance when "Renew License" is possible +
      • + +
        Bug Fixes / Maintenance
        +
      • +

        + [issue 186] + Fixed various issues in bracketMail parameter in %to% / %from% etc: +

        +
          +
        • + You can now use bracketMail without the parentheses: %to(name,bracketMail)% + this will default to wrapping the email in the standard of angled brackets: <mail@domain.com> +
        • +
        • + Fixed: Explict delimiters given as bracket parameters should not repeat on all following fields.
          + For example, %to(bracketName({;}),mail)% will generate + "{Fred} mail@domain.com" and not the faulty "{Fred} {mail@domain.com}" +
        • +
        • + When using deferred fields (e.g. when using %to(bracketMail)% within a write template), angle brackets used to be + encoded twice leading to an output of "&lt;mail@domain.com&gt;" + instead of the expected "<mail@domain.com>" + when the user clicks to update the field. +
        • +
        • + Using multiple bracketMail functions could lead to + only the last [[ optional section ]] to be removed as expected. + See related [issue 192] +
        • +
        +
      • +
      • + Compatibility changes for Thunderbird ESR 102:
        + Increased minimum version number
        + Fixed notifications
        + Fixed setting focus in composer
        + Stabilized code when reading external signatures or including files
        + Fixed menu spacings for Templates in reply / write / forward / Snippets buttons.
        +
      • +
      • +

        [issue 184] + Ongoing work: Move template processing into background script +

        +

        + In order to use ComposeScripts and allow integration of SmartTemplates with other mail extensions + (not just legacy) all template / string processing and the insertion into Composer need to be + moved into the background script. The new code will be implemented on the current ESR + branch (currently 91, soon to be 102) but not activated until it is ready. +

        +

        + Once the main parser runs within background we are an essential step closer to conversion to + a native API mail extension [mx] without legacy code and without requiring full permissions + to the user's PC. However it is likely that things like UI integration (3 buttons in composer + toolbar), full access to external files, access to certain MIME headers etc. might then + still not possible with non-experimental Add-ons. +

        +
      • +
      +
    • + + +   +
    • +

      + Version 3.11 - 18/03/2022 +
      + + 78.* - 91.* + +

      + +
        +
        Enhancements
        +
      • +

        + [issue 172] + Modifiy text in body of forwarded mail [inline]. This now works in the functions: + %deleteQuotedText()%, %replaceQuotedText()%, %deleteQuotedTags()%, + %replaceQuotedTags()%. Read the full documentation here. +

        +

        + These have to be called with a quote level parameter of "0" from the template + and then they can be used to delete or replace text or HTML parts from the original mail. +

        + Limitation: the string parameters cannot contain double quotes ", the percent sign % or parentheses ( ) . +
      • + +
      • +

        + [issue 173] + Auto-Forward / Auto-Reply with template - implement triggering template from filter (using FiltaQuilla) + this requires the Add-on FiltaQuilla + version 3.4 or later. +

        +

        + In order to use this feature, open Filtaquilla settings and enable the "forward with SmartTemplates" + option on the actions page:
        + adding forward action in a filter
        + One can then add the new action on any message filter:
        + adding forward action in a filter
        + For detailed documentation refer to the article on the + premium features page. +

        + +
      • +
      • + [issue 174] + %suppressQuoteHeaders% command to suppress all quote headers - the ones inserted by + Thunderbird automatically (usally along the lines of "on 12/03/2020 John Doe wrote:") and also + any of the replacement ones configured in SmartTemplates account settings. +
      • +
      • + New Greek translation by StratosL (Work in Progress) +
      • + +
        Bug Fixes
        +
      +
    • + +   +   +   +
    • +

      + Version 3.10.2 - 07/02/2022 +
      + + 78.* - 91.* + +

      + + +
        +
        Enhancements + Fixes in version 3.10.2
        +
      • +

        + [issue 171] + Bugfix: Empty Examples tab in SmartTemplates Settings Dialog - + this was caused by Thunderbird 91 enabling multi-process browsing + which doesn't allow remote iFrames. Examples are now loaded in + a browser element instead. +

        + Note that the examples are pulled from the support site and as such are always in English only. + For time reasons, the support site pages cannot be localized. +
      • +
      • + [issue 170] + Added a method to view license extension sooner than 1 month before expiry of Pro license. + If you need to extend your license by another year before it expires, + you can click the valid date in Settings / SmartTemplates license tab to + open the licensing screen to extend it:
        + click valid date to show extension button +
      • + + +
        Enhancements
        +
      • + [issue 154] + Support pushing Esc to close template change confirmation. + Also removed non-functional buttons from this dialog. +
      • +
      • + [issue 166] + Implemented: %recipient% should use reply-to header if present when replying. +
      • +
      • + [issue 150] + Removed nag screen which pops up after trial date is expired. +
      • + +
        Bug Fixes
        +
      • +

        [issue 167] + Fixed: BCC list entry not expanded with empty "To:" address. + Here is an example for a template that could be used for creating new list mails + and replying whil having a list of undisclosed recipients. Note that a list with the + correct name (in this example the name "undisclosed") must exist in the address book: +

        + + %header.set(to,"")%
        + %header.set(bcc,"Undisclosed <undisclosed>")%
        + %header.prefix(subject,"[List Main Topic] ")%
        + <p>Dear friends,</p>
        + <p>%cursor%</p>
        + %sig(none)% +
        +
      • +
      • + [issue 168] + Fixed: custom background and text colors ignored in composer when writing new mails. + This could lead to problems especially when using dark themes. +
      • + + +
      +
    • + +   +
    • +

      + Version 3.9 - 09/12/2021 +
      + + 74.* - 91.* + +

      + + +
      +

      + Please note that SmartTemplates is compatible with the latest version of Thunderbird (91.4) - if you get a message + that says otherwise after updating from earlier versions (Tb68 or Tb78) or if SmartTemplates cannot be enabled with + the blue slider, simply remove it and reinstall it via "Find more Add-ons" on the Extensions tab of Add-ons Manager: +

      +
      +

      First try if you can enable SmartTemplates using the slider:
      + enable SmartTemplates +

      +

      + If this doesn't work, then removing the Add-on via Thunderbird the Add-ons Manager will still retain your settings:
      + remove to reinstall +

      +

      + In the Search box, enter the term SmartTemplates, and press the Enter key:
      + force reinstallation via Addon Manager +

      +

      + Then click on the Add to Thunderbird button:
      + Add to Thunderbird +

      +
      +
      Click to read instructions for reinstalling:

      +
      + +
        +
        Enhancements
        +
      • +

        + [issue 164] + SmartTemplates Pro Feature: Added *selection* placeholder for inserting HTML snippets (fragments). +

        + Example:
        + <code class="html">&lt;*selection*&gt;</code> +

        + If you highlight the text "div" in composer and then load the above template, + it will insert a HTML code tag which looks like a HTML tag:
        + <code class="html">&lt;div&gt;</code> +
        + This can also be used to generate styled containers such as headings, boxes, callout containers etc. + I highly recommend adding an external stylesheet using the %style()% variable. + +

        +
      • +
      • + [issue 161] + remove text shadow in html edit boxes for dark themes - this makes the text better readable. +
      • + +
        Bug Fixes
        +
      • + Fixed: [issue 162] + Main toolbar - template dropdowns - items in category submenus don't trigger composer. +
      • +
      • + Fixed: [issue 139] Duplicate template inserted when replying to own email - Tb Conversations Add-on! +
      • +
      • + Fixed: [issue 155] + Reply template applied twice in thunderbird 91.2.0. +
      • +
      • + Fixed: [issue 163] + With Cardbook installed, SmartTemplates statusbar icon may not be shown. +
      • + +
        Miscellaneous
        +
      • Minor fixes with separators in template menus.
      • + +
      +
    • + +   +
    • +

      + Version 3.8 - 22/10/2021 +
      + + 74.* - 91.* + +

      + +
      +

      + Please note that SmartTemplates is compatible with the latest version of Thunderbird (91.2) - if you get a message + that says otherwise after updating from earlier versions (Tb68 or Tb78) or if SmartTemplates cannot be enabled with + the blue slider, simply remove it and reinstall it via "Find more Add-ons" on the Extensions tab of Add-ons Manager: +

      +
      +

      First try if you can enable SmartTemplates using the slider:
      + enable SmartTemplates +

      +

      + If this doesn't work, then removing the Add-on via Thunderbird the Add-ons Manager will still retain your settings:
      + remove to reinstall +

      +

      + In the Search box, enter the term SmartTemplates, and press the Enter key:
      + force reinstallation via Addon Manager +

      +

      + Then click on the Add to Thunderbird button:
      + Add to Thunderbird +

      +
      +
      Click to read instructions for reinstalling:

      +
      + +
        +
        Enhancements
        +
      • + [issue 151] + New single variable %recipient% for final recipient to replace + %to% / %from% in all + compose case templates. This makes it easier to reuse the same template for + writing / replying / forwarding and is also less confusing, as it does + not "change perspective" as %to% does! +
      • +
      • +

        + [issue 142] + New feature to insert html Smart snippets within Composer.
        + To get started, add the new "Insert Snippet" button to composer:
        + +

        +

        + You can add fragments here by opening files and adding them to the list, just like the + HTML template files for the cases "write", "reply" and "forward". This list will be + shared globally across all these cases:
        + +

        +
      • +
      • +

        + [issue 147] + Added category submenus to structure template lists.
        + Type a category into the field and update the menu item to make the + template appear in a new submenu:
        + +

        + +
      • + +
        Bug Fixes
        +
      • + Fixed: [issue 148] + Regression: Saving / Loading account templates from settings dialog didn't work without Pro License. +
      • +
      • + Fixed: [issue 149] + If no %cursor% is entered, HTML template may be truncated / reformatted at the end +
      • +
      • + Fixed: [issue 139] + Double template inserted when replying to own email. +
      • +
      • + Fixed: [issue 153] + Recipient Names which are only 1 Character long are dropped +
      • +
      • + Fixed: [issue 156] + When FORWARDING, %quotePlaceholder% doesn't position forwarded mail text correctly +
      • +
      • + Fixed: [issue 158] + Could not switch spell checker language with %spellcheck()% command. +
      • +
      • Fixed: displaying trial date on license tab.
      • + +
        Miscellaneous
        +
      • Removed "workaround" experimental APIs (notifications, accounts)
      • +
      • Removed obsolete "Shim" code
      • +
      +
    • + + +   +
    • +

      + Version 3.7 - 20/08/2021 +
      + + 74.* - 91.* + +

      + +
        +
        Enhancements
        +
      • + [issue 127] + Make SmartTemplates compatible with Thunderbird 91: +
          +
        • Replaced deprecated fixIterator function.
        • +
        • Replaced Array types where necessary.
        • +
        • Fixed sliding notifications in composer and icons in all sliding notifications.
        • +
        • + Fixed about:config dialogs. These are used for adding hidden settings that do not have dedicated + User Interface, such as the Debug Settings. Typically they are displayed by right-clicking on + an option in the settings dialog.
          + +
        • +
        +
      • +
      • + [issue 118] + New variable %clipboard% to insert clipboard contents - this will be inserted + as HTML if copied from a HTML source such as a webpage or a Word Document. + You can also insert HTML source code which will be converted to HTML. +
      • + +
      • Splash screen: this is now not shown immediately on update anymore; instead the Statusbar panel and main toolbar button will turn blue and show the splash screen once when clicked.
        + To read it later again, click on the About SmartTemplates tab, and then the first button "Show changes + news". + This shows you a quick overview of what's new localized in 19 different languages:
        + splash screen button
        + Also simplified contents: removed message about permissions.
      • + +
        Bug Fixes
        +
      • Removed Utilities.openLinkExternally and replaced with messenger.windows.openDefaultBrowser
      • +
      • Fixed "Buy License" button at bottom of Settings window
      • +
      • Fixed: [issue 143] Template Files - Toolbar buttons missing
      • +
      • Only display standard license upgrade special offer when within the reduction period.
      • +
      +
    • + + + + +
    • +

      + LEGACY VERSIONS +
      +

      +

      Changes for all older versions are documented here.

      +
    • + + + + +
    + +

    My other Extensions - highly recommended


    + +

    QuickFolders (Thunderbird / Postbox / SeaMonkey)

    +

    +Takes the pain out of working with many mail folders; has currently 20,000 users and is 3rd of all top rated message reading extensions. +

    + +

    quickFilters (Thunderbird / Postbox / SeaMonkey)

    +

    +Quickly generate mail filters on the fly, by dragging and dropping mails and analyzing their attributes. +

    + +

    Zombie Keys (Thunderbird / Postbox / SeaMonkey)

    +

    +Zombie Keys (Firefox) +

    +
    +

    Enter accents, diacritics, diaeresis, umlauts, ligatures etc. with keyboards of various countries (us,uk,ie,fr,it,ru,de,sv) - via easy to remember shortcuts or menu. Also supports all textboxes of the application (such as search, filters). +

    + +

    +Moves the Thunderbird menu bar to the top. Choose from a selection of visual styles. It is convenient to have the menu on top of the tabs like Firefox; this is also a good area for placing "global" toolbar buttons like Navigation or get mail. +

    + + + + + + + + + +
    + + + + + +
    + + + + +