T(-) Countdown Proper Time Unit Calculation

we should only have to calculate year, month and week time units once, as they will likely change only one time per viewing. Even so, we will need to properly calculate the amount of days, weeks and months remain, depending on how many time units are currently being displayed. We use a test of +410 days and 10 seconds from now to test how the change over works for the larger time units.

Test 1 – Showing Everything

This test should show everything: Years, Months, Weeks, Days… and the rest.
[tminus t="+410 days +10 sec" style="TIE-fighter"/]

weeks
5
8
days
0
4
hours
0
0
minutes
0
0
seconds
1
0

Test 2 – No Weeks

This test should show everything: Years, Months, Weeks, Days… and the rest.
[tminus t="+396 days +10 sec" omitweeks="true" style="TIE-fighter"/]

days
3
9
6
hours
0
0
minutes
0
0
seconds
1
0

Test 3 – No Months

This test should show everything: Years, Months, Weeks, Days… and the rest.
[tminus t="+394 days +10 sec" omitmonths="true" style="TIE-fighter"/]

weeks
5
6
days
0
2
hours
0
0
minutes
0
0
seconds
1
0

Test 4 – No Months or Years

This test should show everything: Years, Months, Weeks, Days… and the rest.
[tminus t="+394 days +10 sec" omitmonths="true" omityears="true" style="TIE-fighter"/]

weeks
5
6
days
0
2
hours
0
0
minutes
0
0
seconds
1
0

Test 5 – No Months or Weeks

This test should show: Years and days.
[tminus t="+366 days +10 sec" omitmonths="true" omitweeks="true" style="TIE-fighter"/]

days
3
6
6
hours
0
0
minutes
0
0
seconds
1
0

Test 6 – Days Only

This test should show only days:
[tminus t="+45 days" omityears="true" omitmonths="true" omitweeks="true"/]

days
4
5
hours
0
0
minutes
0
0
seconds
0
0

T(-)Minus Countdown Years and Months

This is a quick test to try out the new years and month options added in version 2.3.20… this looks like it might end up being version 2.4.0 at this rate. Yup, it will be a major release.

Test 1 – Show it All

This test should show everything: Years, Months, Weeks, Days… and the rest.
[tminus t="+410 days +10 sec" style="c-3po"/]

weeks
5
8
days
0
4
hours
0
0
minutes
0
0
seconds
1
0

Test 2 – Omit Years

This test will omit the years, resulting in expanded months.
[|tminus t="+410 days" omityears="true" style="c-3po"/]]

weeks
5
8
days
0
4
hours
0
0
minutes
0
0
seconds
0
0

Test 3 – Omit Months – Keep Years

This test will display the years, but convert months to weeks.
[tminus t="+410 days" omitmonths="true" style="c-3po"/]

weeks
5
8
days
0
4
hours
0
0
minutes
0
0
seconds
0
0

Test 4 – Omit Years and Months

The title, pretty much says it all. No years, no Months… just a whole lott’a weeks:
[tminus t="+410 days" omityears="true" omitmonths="true" style="c-3po"/]

weeks
5
8
days
0
4
hours
0
0
minutes
0
0
seconds
0
0

Test 5 – Omit Years, Months and Weeks

Days for days…
[tminus t="+410 days" omityears="true" omitmonths="true" omitweeks="true" style="c-3po"/]

days
4
1
0
hours
0
0
minutes
0
0
seconds
0
0

Test 6 – Omit Weeks Only

No weeks, but the rest.
[tminus t="+410 days" omitweeks="true" style="c-3po"/]

days
4
1
0
hours
0
0
minutes
0
0
seconds
0
0

Test 7 – Omit Months and Weeks

No months, no weeks.
[tminus t="+410 days +10 secs" omitmonths="true" omitweeks="true" style="c-3po"/]

days
4
1
0
hours
0
0
minutes
0
0
seconds
1
0

Test 8 – Omit Years and Weeks

No years, no weeks.
[tminus t="+410 days" omityears="true" omitweeks="true" style="c-3po"/]

days
4
1
0
hours
0
0
minutes
0
0
seconds
0
0

Print-Pro-Matic wp_localize test

This is a test of print-pro-matic using wp_localize to pass js vars to the js file. it also passes print-only elements.

Like this one with the .printonly class listed in the shortcode

And here is the shortcode:
[print-me print_only=".printonly"/]

Actually, this should not be passed via shortcode, but rather only defined in the option page.
[print-me /]

[print-me target=".print_this" do_not_print=".printomat" pause_before_print="4000"/]

Scroll Targets and URL Hash

This is a test where a scroll-to target will open an expand, however will then scroll back to the top of the page–or actually an element at the top of the page defined as:
<h2='top'>Scroll Target at Top<H2>

Scroll Target at Top

This is just some filler text to move the expand item a bit further down the screen. In fact, why not just throw in an image and save us all a heap of blibber blabber text. Here is a photo of a donkey stuck in a manhole cover. Silly donkey, you are not a man… you’re a donkey.

Donkey in a hole lot of trouble

Now we place an expand element with a defined ID and scrolltarget value:
[expand title="trigger text" id="monkey" scrolltarget="#top"/]

trigger text
This is some hidden text about a monkey in a bucket.

So navigating directly to
https://spacedonkey.de/3439/scroll-targets-and-url-hash/#monkey

will scroll down to the monkey element, open it, then scroll back up to the top element. This bouncing around is quite annoying.

Introducing: hash-trigger

This is a test where we introduce a new attribute called hash_trigger. This is an secondary id that will be use to expand but not scroll to a collapse element based on the url anchor hash. For example. We create an expand element like so:
[expand title="trigger text" id="smashing" hash_trigger="pumpkins"/]

trigger text
This is some hidden text that will expand but not scroll to

Now when we link directly to the page with the url anchor hash of #smashing it will scroll to and expand the element above as normal. However, if we use the url anchor hash of #pumpkins it will only expand the element and NOT scroll anywhere , providing:
1. there is no other element with an ID of pumpkins
2. there is no scroll-to attribute defined on this expand element.

Note: to assign the hash_trigger using the roll-your-own method, simply assign a data-hash-trigger attribute to the trigger element:

<div class="collapseomatic" id="smashing" title="trigger text" data-hash-trigger="pumpkins">trigger text</div>