anchor.diff:      );
     }
   
  +  /// Get validity progress of the entry.
  +  double _getEntryProgress(NoticeBoardEntry entry) {
  +    DateTime now = DateTime.now();
  +
  +    int progress = max(now.difference(entry.validFrom).inMinutes, 0);
  +    int total = entry.validTo.difference(entry.validFrom).inMinutes;
  +
  +    return progress / total;
  +  }
  +
  +  /// Get the stylesheet to style the markdown content of the entry.
     MarkdownStyleSheet _getMarkdownStylesheet(BuildContext context) {
       ThemeData themeData = Theme.of(context);
   
  
positive.code:         top: 20.0,
          bottom: 20.0,
        ),
        decoration: isLast
            ? null
            : BoxDecoration(
                border: Border(
  
negative.code: import 'dart:math';
  import 'dart:typed_data';
  
  import 'package:flutter/material.dart';
  