Skip to content

Commit

Permalink
Fix linking when year spans multiple calendar years
Browse files Browse the repository at this point in the history
Follow-up to 7dfecd8
And #4
  • Loading branch information
klimeryk committed Jul 6, 2021
1 parent eaacde7 commit faf45e9
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
2 changes: 1 addition & 1 deletion generators/generator.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ protected static function get_day_entry_anchor( \DateTimeImmutable $date ) : str
}

protected static function get_month_overview_anchor( \DateTimeImmutable $date ) : string {
return $date->format( 'F' ) . '-overview';
return $date->format( 'dmY' ) . '-month-overview';
}

protected static function get_week_overview_anchor( \DateTimeImmutable $date ) : string {
Expand Down
11 changes: 5 additions & 6 deletions recalendar.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public function generate() {
$period = new \DatePeriod( $start, $interval, $end );

foreach( $period as $week ) {
$this->generate_week( $week );
$this->generate_week( $week, $end );

$this->write_html();
}
Expand All @@ -56,10 +56,10 @@ private function generate_title_page() : void {
$this->append_html( $title_page_generator->generate() );
}

private function generate_week( \DateTimeImmutable $week ) : void {
private function generate_week( \DateTimeImmutable $week, \DateTimeImmutable $year_end ) : void {
$this->generate_week_overview( $week );

$this->generate_days_per_week( $week );
$this->generate_days_per_week( $week, $year_end );

$this->generate_week_retrospective( $week );
}
Expand All @@ -86,12 +86,11 @@ private function generate_week_overview( \DateTimeImmutable $week ) : void {
$this->append_html( $week_overview_generator->generate() );
}

private function generate_days_per_week( \DateTimeImmutable $week ) : void {
$year = $this->config->get( Config::YEAR );
private function generate_days_per_week( \DateTimeImmutable $week, \DateTimeImmutable $year_end ) : void {
$next_week = $week->modify( 'next week' );
$week_period = new \DatePeriod( $week, new \DateInterval( 'P1D' ), $next_week );
foreach( $week_period as $week_day ) {
if ( (int) $week_day->format( 'j' ) === 1 && (int) $week_day->format( 'Y' ) === $year ) {
if ( (int) $week_day->format( 'j' ) === 1 && $week_day < $year_end ) {
$this->generate_month_overview( $week_day );
}

Expand Down

0 comments on commit faf45e9

Please sign in to comment.