X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/674f6d3f070bcd8a08b725619e80fac0c9f72f1e..e6c3f4fe5f308ca6ff56bb9c4fb28df0411fb0d3:/article.inc.php?ds=sidebyside
diff --git a/article.inc.php b/article.inc.php
index a39b897..93bbe3b 100644
--- a/article.inc.php
+++ b/article.inc.php
@@ -16,26 +16,35 @@ function showdate($parts)
class ArchiveArticle
{
- public $raw, $preface, $title, $body;
- public $meta = [];
+ public $raw, $title, $body; # file contents
+ public $meta = []; # head metadata properties
function __construct($path)
{
$this->page = preg_replace('{^\.(?:/|$)}', '', $path);
- $this->link = preg_replace('{(?:/index)?\.html$}', '', $this->page);
- if (file_exists($this->page)) {
- $this->raw = file_get_contents($this->page);
-
- if (preg_match_all('{
- \G \s*
- }x', $this->raw, $meta)) {
- $matchlen = array_sum(array_map('strlen', $meta[0]));
- $this->raw = substr($this->raw, $matchlen); # delete matched contents
- $this->meta = array_combine($meta[1], $meta[2]); # [property => content]
- }
+ $this->link = preg_replace('{(?:(?:/|^)index)?\.html$}', '', $this->page);
+ $this->raw($this->page);
+ }
+
+ function raw($page)
+ {
+ if (!file_exists($page)) {
+ return;
+ }
+ $this->raw = file_get_contents($page);
+
+ if (preg_match_all('{
+ \G \s*
+ }x', $this->raw, $meta)) {
+ $matchlen = array_sum(array_map('strlen', $meta[0]));
+ $this->raw = substr($this->raw, $matchlen); # delete matched contents
+ $this->meta = array_combine($meta[1], $meta[2]); # [property => content]
+ }
- @list ($this->preface, $this->title, $this->body) =
- preg_split('{
(.*?)
\s*}', $this->raw, 2, PREG_SPLIT_DELIM_CAPTURE);
+ // find significant contents
+ $this->body = preg_replace('{