Skip to content

Commit 12bc6f1

Browse files
committed
regen.php no longer needs to shell out to php
1 parent b7c0e75 commit 12bc6f1

File tree

6 files changed

+26
-16
lines changed

6 files changed

+26
-16
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ wiki.git
1313
xwalk.css
1414
markdown.css
1515
menus.js
16+
github-regen

gfm.php

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,6 @@ function missing ($f) {
2525
exit;
2626
}
2727

28-
function make_name ($name) {
29-
return preg_replace ('/_+/', ' ',
30-
preg_replace ('/-+/', ' ',
31-
preg_replace ('/^[0-9]*[-_]/', '',
32-
$name)));
33-
}
34-
35-
function sort_entries ($a, $b) {
36-
return strcasecmp ($a['wiki'], $b['wiki']);
37-
}
38-
3928
function ob_callback ($buffer) {
4029
global $d;
4130
fwrite ($d, $buffer);

regen.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<?php
2+
require_once ('wiki-pages.php');
3+
require_once ('wiki-history.php');
24
/*
35
* make sure you populate wiki.git via:
46
@@ -34,6 +36,7 @@
3436
print "git fetch failed";
3537
exit;
3638
}
37-
@system('php gfm.php wiki/pages.md >&1 >/dev/null');
38-
@system('php gfm.php wiki/history.md 2>&1 >/dev/null');
39+
40+
wiki_pages ();
41+
wiki_history ();
3942
@touch ('github-regen');

strings.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?php
2+
// functions for manipulating strings
3+
function make_name ($name) {
4+
return preg_replace ('/_+/', ' ',
5+
preg_replace ('/-+/', ' ',
6+
preg_replace ('/^[0-9]*[-_]/', '',
7+
$name)));
8+
}
9+
?>

wiki-history.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
<?php
2+
require_once ('strings.php');
3+
24
// functions for generating the wiki history page in wiki/history.md.html;
35
// note that this is actually a JSON file which is converted into
46
// HTML once fetched via JavaScript... (see xwalk.js)

wiki-pages.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
<?php
2+
require_once ('strings.php');
3+
24
// functions for generating wiki page list HTML in wiki/pages.md.html
35

6+
function sort_entries ($a, $b) {
7+
return strcasecmp ($a['wiki'], $b['wiki']);
8+
}
9+
410
function generate_page_list () {
511
$path = 'wiki';
612
$wiki_git = '--git-dir='.$path.'.git';
@@ -16,16 +22,16 @@ function generate_page_list () {
1622
if (preg_match ('/\.(html|php|htaccess|js|log|git)$/', $file) ||
1723
preg_match ('/^assets\/.*/', $file))
1824
continue;
25+
$normalised_name = make_name (pathinfo ($file, PATHINFO_FILENAME));
1926
$entries [] = Array ('wiki' => $file,
20-
'name' => make_name (
21-
pathinfo ('wiki/'.$file, PATHINFO_FILENAME)));
27+
'name' => $normalised_name);
2228
}
2329
pclose ($p);
2430
usort ($entries, "sort_entries");
2531
for ($i = 0; $i < count ($entries); $i++) {
2632
$name = preg_replace ('/^[0-9]*[-_]/', '', $entries[$i]['wiki']);
2733
$name = preg_replace ('/\.[^.]*$/', '', $name);
28-
$entries[$i]['file'] = '/'.$path.$name;
34+
$entries[$i]['file'] = $path.'/'.$name;
2935
$entries[$i]['wiki'] = preg_replace ('/\.[^.]*$/', '', $entries[$i]['wiki']);
3036
}
3137
return $entries;

0 commit comments

Comments
 (0)