FlatPress kennenlernen

8, Feb, 2021

Erster Post mit FlatPress. Mal sehen, wie es geht…

Schon wieder ein neues Mini CMS?

Und diesmal ein Blog System ohne Datenbank. Nur PHP und sonst gar nichts. Mindestens ein Markdown Plugin muss her, sonst geht nur BBCode:

  • Fett
  • Kursiv
  • Unterstrichen
  • Durchgestrichen

Zitate:

Behandele jeden so, wie du selbst behandelt werden möchtest. - Konfuzius

Code (als Beispiel preg aus einem guten Perl Buch):

#! /usr/bin/perl -s -wnl
our ($f, $i, $l, $v, $n, $d, $p, $m, $s, $r); # switch vars

BEGIN {
  $Usage="Usage: $0 [-f] [-i] [-l] [-v] [-n] [-d]";
  $Usage.=" [-p|-c] [-m] [-s] [-r] 'RE' [file...]n";

  # Must at least have pattern argument
  @ARGV > 0  or  warn "$Usage"  and  exit 255;

  # Can't have mutually-exclusive switches
  defined $p  and  defined $c  and
    warn "$UsagentCan't have -p and -cn"  and  exit 1;

  $X='g';           # set modifier to perform all substitutions
  $ON=$OFF="";      # by default, don't highlight matches

  if ($d) {           # for match-displaying with -d
    $ON=(`tput smso`  or  "");  $OFF=(`tput rmso`  or  "");
  };

  $p  and  $/="";     # paragraph mode
  $c  and  $/=$c;     # custom record separator mode
  $i  and  $X.='i';   # ignore case; add to modifiers in $X
  $m  and  $X.='m';   # multi-line mode
  $s  and  $X.='s';   # single-line mode

  $pattern=shift @ARGV;          # remaining args are filenames
  $f  and  $pattern='Q' . $pattern . 'E'; # "quote" metachars

  $r  and  @ARGV=grep { chomp; -T }
    `find @ARGV -follow -type f -print`;
  $multifiles=@ARGV > 1;    # controls "filenames:match" format

  $matcher="s/$pattern/$ON$&$OFF/$X";
  $v  and  $matcher="! $matcher";     # complement match result
}
#####  BODY OF PROGRAM, EXECUTED FOR EACH LINE OF INPUT  #####
$found_match=eval $matcher;      # run sub-op, to try for match
if ( $@ ne "" ) {                # show eval's error
  warn "n$0: Eval failed for pattern: '$matcher'nn";
  die  "Perl says:n$@n";
}
elsif ( $found_match ) {
  if ($l) { print $ARGV; close ARGV; }       # print filenamen
  elsif   ($multifiles) { printf "$ARGV:"; } # print filename:
  if (! $l){            # don't show match if listing filenames
    $n  and  printf "$.:";  # prepend line number to record
    print;                  # show selected record
    $p  and  print "";      # separate paragraphs by blank line
  }
}

Zwischenfazit

Selbst mit BBCode scheint einiges möglich zu sein. Und das Ergebnis kann sich sehen lassen. Schreiben von Beiträgen geht recht gut und es gibt recht wenig zu administrieren (was ein Vorteil oder ein Nachteil sein kann). Und die Überschrift h4 gefällt mir besser, aber leider gibt es dafür im Editor keinen Knopf.

Die Suche gefällt mir, die Anzeige der Kategorien weniger. Wieso werden Kategorien angezeigt, die noch nicht verwendet wurden? Besser wäre eine Häufigkeitswolke, wie man es schon in anderen Blogs gesehen hat: je häufiger eine Kategorie verwendet wurde, desto größer wird sie dargestellt. Und natürlich sollten Kategorien, die noch nicht verwendet wurden, überhaupt nicht auftauchen!

Mal schauen„ wie es auf einem Smartphone aussieht….