commit
bd2019883c
|
@ -71,11 +71,14 @@ handle remainder => sub {
|
|||
sub format_result {
|
||||
my $args = shift;
|
||||
my ($firstDay, $first_day_num, $lastDay, $highlightDay) = @{$args}{qw(first_day first_day_num last_day highlight)};
|
||||
my $previous = $firstDay->clone->subtract(months => 1);
|
||||
my $next = $firstDay->clone->add(months => 1);
|
||||
|
||||
# Print heading
|
||||
my $rText = "\n";
|
||||
my $rHtml = '<table class="calendar"><tr><th class="calendar__header" colspan="7"><b>';
|
||||
$rHtml .= $firstDay->strftime("%B %Y").'</b></th></tr><tr>';
|
||||
my $rHtml = '<table class="calendar"><tr><th colspan="7"><span class="circle t_left"><a href="http://duckduckgo.com/?q=calendar+'.$previous->strftime("%B %Y").'"><span class="ddgsi ddgsi-arrow-left"></span></a></span><span class="calendar__header"><b>';
|
||||
$rHtml .= $firstDay->strftime("%B %Y").'</b></span><span class="circle t_right"><a href="http://duckduckgo.com/?q=calendar+'.$next->strftime("%B %Y").'"><span class="ddgsi ddgsi-arrow-right"></span></a></span></th>';
|
||||
$rHtml .= '</tr><tr>';
|
||||
|
||||
for my $dayHeading (@weekDays) {
|
||||
$rText .= $dayHeading . ' ';
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
width: 2.5em;
|
||||
text-align: center;
|
||||
height: 1.6em;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
.zci--answer .calendar__header {
|
||||
|
@ -25,3 +26,28 @@
|
|||
text-align: center;
|
||||
width: 1.6em;
|
||||
}
|
||||
|
||||
.zci--answer .calendar a {
|
||||
color: white;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.zci--answer .calendar .t_left {
|
||||
position: absolute;
|
||||
left:0.4em;
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
|
||||
.zci--answer .calendar .t_right {
|
||||
position: absolute;
|
||||
right:0.4em;
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
|
||||
.zci--answer .ddgsi-arrow-left {
|
||||
font-size: 0.75em;
|
||||
}
|
||||
|
||||
.zci--answer .ddgsi-arrow-right {
|
||||
font-size: 0.75em;
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ S M T W T F S November 2009
|
|||
15 16 17 18 19 20 21
|
||||
22 23 24 25 26 27 28
|
||||
29 30
|
||||
", html => qr#<table class="calendar"><tr><th class="calendar__header" colspan="7"><b>November 2009</b></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td>29</td><td>30</td></tr></table>#),
|
||||
", html => qr#<table class="calendar"><tr><th colspan="7"><span class="circle t_left"><a href="http://duckduckgo\.com/\?q=calendar\+October 2009"><span class="ddgsi ddgsi-arrow-left"></span></a></span><span class="calendar__header"><b>November 2009</b></span><span class="circle t_right"><a href="http://duckduckgo.com/\?q=calendar\+December 2009"><span class="ddgsi ddgsi-arrow-right"></span></a></span></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td>29</td><td>30</td></tr></table>#),
|
||||
'calendar nov 2009' => test_zci("
|
||||
S M T W T F S November 2009
|
||||
1 2 3 4 5 6 7
|
||||
|
@ -32,7 +32,7 @@ S M T W T F S November 2009
|
|||
15 16 17 18 19 20 21
|
||||
22 23 24 25 26 27 28
|
||||
29 30
|
||||
", html => qr#<table class="calendar"><tr><th class="calendar__header" colspan="7"><b>November 2009</b></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td>29</td><td>30</td></tr></table>#),
|
||||
", html => qr#<table class="calendar"><tr><th colspan="7"><span class="circle t_left"><a href="http://duckduckgo\.com/\?q=calendar\+October 2009"><span class="ddgsi ddgsi-arrow-left"></span></a></span><span class="calendar__header"><b>November 2009</b></span><span class="circle t_right"><a href="http://duckduckgo.com/\?q=calendar\+December 2009"><span class="ddgsi ddgsi-arrow-right"></span></a></span></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td>29</td><td>30</td></tr></table>#),
|
||||
'calendar 29 nov 2015' => test_zci("
|
||||
S M T W T F S November 2015
|
||||
1 2 3 4 5 6 7
|
||||
|
@ -40,7 +40,7 @@ S M T W T F S November 2015
|
|||
15 16 17 18 19 20 21
|
||||
22 23 24 25 26 27 28
|
||||
|29| 30
|
||||
", html => qr#<table class="calendar"><tr><th class="calendar__header" colspan="7"><b>November 2015</b></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td><span class="calendar__today circle">29</span></td><td>30</td></tr></table>#),
|
||||
", html => qr#<table class="calendar"><tr><th colspan="7"><span class="circle t_left"><a href="http://duckduckgo\.com/\?q=calendar\+October 2015"><span class="ddgsi ddgsi-arrow-left"></span></a></span><span class="calendar__header"><b>November 2015</b></span><span class="circle t_right"><a href="http://duckduckgo\.com/\?q=calendar\+December 2015"><span class="ddgsi ddgsi-arrow-right"></span></a></span></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td><span class="calendar__today circle">29</span></td><td>30</td></tr></table>#),
|
||||
'calendar 29.11.2015' => test_zci("
|
||||
S M T W T F S November 2015
|
||||
1 2 3 4 5 6 7
|
||||
|
@ -48,7 +48,7 @@ S M T W T F S November 2015
|
|||
15 16 17 18 19 20 21
|
||||
22 23 24 25 26 27 28
|
||||
|29| 30
|
||||
", html => qr#<table class="calendar"><tr><th class="calendar__header" colspan="7"><b>November 2015</b></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td><span class="calendar__today circle">29</span></td><td>30</td></tr></table>#),
|
||||
", html => qr#<table class="calendar"><tr><th colspan="7"><span class="circle t_left"><a href="http://duckduckgo\.com/\?q=calendar\+October 2015"><span class="ddgsi ddgsi-arrow-left"></span></a></span><span class="calendar__header"><b>November 2015</b></span><span class="circle t_right"><a href="http://duckduckgo\.com/\?q=calendar\+December 2015"><span class="ddgsi ddgsi-arrow-right"></span></a></span></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td><span class="calendar__today circle">29</span></td><td>30</td></tr></table>#),
|
||||
'cal 1980-11-29' => test_zci("
|
||||
S M T W T F S November 1980
|
||||
1
|
||||
|
@ -57,7 +57,7 @@ S M T W T F S November 1980
|
|||
16 17 18 19 20 21 22
|
||||
23 24 25 26 27 28 |29|
|
||||
30
|
||||
", html => qr#<table class="calendar"><tr><th class="calendar__header" colspan="7"><b>November 1980</b></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>1</td></tr><tr><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td></tr><tr><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td></tr><tr><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td><td>22</td></tr><tr><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td><td><span class="calendar__today circle">29</span></td></tr><tr><td>30</td></tr></table>#),
|
||||
", html => qr#<table class="calendar"><tr><th colspan="7"><span class="circle t_left"><a href="http://duckduckgo\.com/\?q=calendar\+October 1980"><span class="ddgsi ddgsi-arrow-left"></span></a></span><span class="calendar__header"><b>November 1980</b></span><span class="circle t_right"><a href="http://duckduckgo\.com/\?q=calendar\+December 1980"><span class="ddgsi ddgsi-arrow-right"></span></a></span></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>1</td></tr><tr><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td></tr><tr><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td></tr><tr><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td><td>22</td></tr><tr><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td><td><span class="calendar__today circle">29</span></td></tr><tr><td>30</td></tr></table>#),
|
||||
'calendar for november 2009' => test_zci("
|
||||
S M T W T F S November 2009
|
||||
1 2 3 4 5 6 7
|
||||
|
@ -65,7 +65,7 @@ S M T W T F S November 2009
|
|||
15 16 17 18 19 20 21
|
||||
22 23 24 25 26 27 28
|
||||
29 30
|
||||
", html => qr#<table class="calendar"><tr><th class="calendar__header" colspan="7"><b>November 2009</b></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td>29</td><td>30</td></tr></table>#),
|
||||
", html => qr#<table class="calendar"><tr><th colspan="7"><span class="circle t_left"><a href="http://duckduckgo\.com/\?q=calendar\+October 2009"><span class="ddgsi ddgsi-arrow-left"></span></a></span><span class="calendar__header"><b>November 2009</b></span><span class="circle t_right"><a href="http://duckduckgo\.com/\?q=calendar\+December 2009"><span class="ddgsi ddgsi-arrow-right"></span></a></span></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td>29</td><td>30</td></tr></table>#),
|
||||
'next november on a calendar' => test_zci(qr/\nS M T W T F S November [0-9]{4}\n.+/, html => qr#<table class="calendar".+</table>#),
|
||||
'calendar for november' => test_zci(qr/\nS M T W T F S November [0-9]{4}\n.+/, html => qr#<table class="calendar".+</table>#),
|
||||
'calendar of november 2009' => test_zci("
|
||||
|
@ -75,7 +75,7 @@ S M T W T F S November 2009
|
|||
15 16 17 18 19 20 21
|
||||
22 23 24 25 26 27 28
|
||||
29 30
|
||||
", html => qr#<table class="calendar"><tr><th class="calendar__header" colspan="7"><b>November 2009</b></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td>29</td><td>30</td></tr></table>#),
|
||||
", html => qr#<table class="calendar"><tr><th colspan="7"><span class="circle t_left"><a href="http://duckduckgo\.com/\?q=calendar\+October 2009"><span class="ddgsi ddgsi-arrow-left"></span></a></span><span class="calendar__header"><b>November 2009</b></span><span class="circle t_right"><a href="http://duckduckgo\.com/\?q=calendar\+December 2009"><span class="ddgsi ddgsi-arrow-right"></span></a></span></th></tr><tr><th>S</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr><tr><td>29</td><td>30</td></tr></table>#),
|
||||
'22/8/2003 to the hijri calendar' => undef,
|
||||
"today's calendar" => test_zci(qr/\nS M T W T F S [A-Z][a-z]+ [0-9]{4}\n.+/, html => '-ANY-'),
|
||||
"november's calendar" => test_zci(qr/\nS M T W T F S November [0-9]{4}\n.+/, html => '-ANY-'),
|
||||
|
|
Loading…
Reference in New Issue