Skip to content

Commit fcc1946

Browse files
committed
1.5 fixes
1. General languages highlighting 2. page source simplification by 3. switching between PHP & html 3. wikiconfig.ini (temporary) 4. line height smaller 5. Few small bugfixes & improvements
1 parent dcfd559 commit fcc1946

202 files changed

Lines changed: 10358 additions & 109 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/Home/index.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22

33
Welcome to your new Markdown page!
44

5-
This is `docs/Home` , the main page for introducing your wiki, removing this
6-
page or index.md will cause unexpected behavior, so don't remove it.
5+
This is `docs/Home` , the main page for introducing your wiki, avoid removing or
6+
renaming this page's folder or index.md, since that would cause unexpected errors.
77

88
## How to start
99

10-
Simply clone the Home folder, change the name and config.ini and start writing!
11-
12-
For using icons, your page must contain a image named `icon.png`.
10+
Simply clone one of the existing folders, change the name and config.ini and start
11+
writing!
1312

1413
If unaware of Markdown syntax, you can check the [Markdown Guide](https://www.markdownguide.org/basic-syntax/)
1514

docs/NewPage/config.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
page_name = "New Page"
2+
page_description = "A New Page"

docs/NewPage/index.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# h1 Heading
2+
## h2 Heading
3+
### h3 Heading
4+
#### h4 Heading
5+
##### h5 Heading
6+
###### h6 Heading
7+
8+
| Syntax | Description | Test Text |
9+
| :--- | :----: | ---: |
10+
| Header | Title | Here's this |
11+
| Paragraph | Text | And more |
12+
13+
```cpp
14+
#include <iostream>
15+
16+
int main(int argc, char *argv[]) {
17+
18+
/* An annoying "Hello World" example */
19+
for (auto i = 0; i < 0xFFFF; i++)
20+
cout << "Hello, World!" << endl;
21+
22+
char c = '\n';
23+
unordered_map <string, vector<string> > m;
24+
m["key"] = "\\\\"; // this is an error
25+
26+
return -2e3 + 12l;
27+
}
28+
```
29+
30+
```python
31+
@requires_authorization(roles=["ADMIN"])
32+
def somefunc(param1='', param2=0):
33+
r'''A docstring'''
34+
if param1 > param2: # interesting
35+
print 'Gre\'ater'
36+
return (param2 - param1 + 1 + 0b10l) or None
37+
38+
class SomeClass:
39+
pass
40+
41+
>>> message = '''interpreter
42+
... prompt'''
43+
```

index.php

Lines changed: 90 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,15 @@
2424
// The left sidebar is a list of folders with an index.tinyw file at the root/docs/ folder.
2525

2626
// USER-DEFINED Variables
27-
$wiki_name = "Tiny-wiki";
28-
$wiki_description = "A comprehensive folder-structure-based wiki engine for simple documentation.";
27+
// if resources/wikiconf.ini exists
28+
if (file_exists("resources/wikiconf.ini")) {
29+
$wiki_config = parse_ini_file("resources/wikiconf.ini");
30+
$wiki_name = $wiki_config['wiki_name'];
31+
$wiki_description = $wiki_config['wiki_description'];
32+
$wiki_color = $wiki_config['wiki_color'];
33+
$wiki_default_theme = $wiki_config['wiki_default_theme'];
34+
$wiki_favicon = $wiki_config['wiki_favicon'];
35+
}
2936

3037
// Don't change anything below unless you know what you're doing.
3138

@@ -40,60 +47,70 @@
4047
$page = "";
4148
}
4249

43-
// .TinyW parser at bin/tinywparse.php
50+
/* Include Parsers */
4451
include "bin/tinywparse.php";
45-
46-
// Parsedown
4752
include "bin/Parsedown.php";
4853

49-
// set up html page
54+
/* --- Page Setup --- */
5055

51-
echo '<!DOCTYPE html>';
52-
echo '<html>';
53-
echo '<head>';
56+
?>
57+
<!DOCTYPE html>
58+
<html>
59+
<head>
60+
<?php
5461
echo '<title>' . $wiki_name . '</title>';
55-
echo '<meta charset="utf-8">';
56-
echo '<meta name="viewport" content="width=device-width, initial-scale=1">';
57-
echo '<link rel="stylesheet" href="resources\style.css">';
58-
echo '<link rel="stylesheet" href="js\styles\atom-one-dark.min.css">';
59-
echo '<script src="js\highlight.min.js"></script>';
60-
echo '<script>hljs.highlightAll();</script>';
61-
echo '</head>';
62-
echo '<body>';
63-
echo '<div class="sidebar">';
64-
echo '<!--wiki name div-->';
65-
echo '<div class="sidebar-wiki-name">';
66-
echo '<p>' . $wiki_name . '</p>';
67-
echo '</div>';
68-
echo '<!--wiki auto-generated buttons div-->';
69-
echo '<div class="sidebar-list">';
70-
echo '<input type="text" class="sidebar-search" id="search-input" placeholder="Search">';
62+
if ($wiki_favicon != "") {
63+
echo '<link rel="shortcut icon" href="resources\\' . $wiki_favicon . '">';
64+
}
65+
?>
66+
<meta charset="utf-8">
67+
<meta name="viewport" content="width=device-width, initial-scale=1">
68+
<link rel="stylesheet" href="resources\style.css">
69+
<link rel="stylesheet" href="js\styles\atom-one-dark.min.css">
70+
<script src="js\highlight.min.js"></script>
71+
<script>hljs.highlightAll();</script>
72+
</head>
73+
<body>
74+
<div class="sidebar" name="second-color">
75+
<!--wiki name div-->
76+
<div class="sidebar-wiki-name" name="second-color">
77+
<?php
78+
echo '<p><a href="?p=home">' . $wiki_name . '</a></p>';?>
79+
</div>
80+
<!--wiki auto-generated buttons div-->
81+
<div class="sidebar-list">
82+
<input type="text" class="sidebar-search" id="search-input" placeholder="Search">
83+
<?php
7184
// for each folder in root/docs/
7285
$folders = scandir("docs");
7386
foreach ($folders as $folder) {
7487
if ($folder != "." && $folder != "..") {
88+
$config = parse_ini_file("docs/" . $folder . "/config.ini");
7589
// if folder's name is "Home"
76-
if ($folder == "Home")
90+
if ($folder == "Home")
91+
{
92+
$folder_n = $config["page_name"];
7793
continue;
94+
}
7895
// if folder has config.ini, set $folder to value after "page_name =" in config.ini
7996
if (file_exists("docs/" . $folder . "/config.ini")) {
80-
$config = parse_ini_file("docs/" . $folder . "/config.ini");
8197
$folder_n = $config["page_name"];
82-
8398
}
8499
echo '<a href="?p=' . $folder . '">' . $folder_n . '</a>';
85100
}
86-
}
87-
echo '</div>';
88-
echo '</div>';
89-
echo '<div class="content">';
90-
echo '<div class="content-topbar">';
91-
echo '<div class="content-current-page">';
101+
}?>
102+
</div>
103+
</div>
104+
<div class="content">
105+
<div class="content-topbar">
106+
<div class="content-current-page">
107+
<?php
92108
// link to current page and page title
93-
echo '<h1><a href='.$current_link.'>'.$folder_n.'</a></h1>';
94-
echo '</div>';
95-
echo '</div>';
96-
echo '<div class="content-container">';
109+
echo '<h1><a href='.$current_link.'>'.$folder_n.'</a></h1>';?>
110+
</div>
111+
</div>
112+
<div class="content-container">
113+
<?php
97114
// if $page is empty, echo the docs/Home/index.md or index.tinyw file
98115
if ($page == "") {
99116
if (file_exists("docs/Home/index.md")) {
@@ -121,35 +138,38 @@
121138
tinyw_parse($file);
122139
}
123140
}
124-
// else parse docs/page/index.md / index.tinyw, and echo it if it exists,
125-
// otherwise page not found
126-
127-
echo '</div>';
128-
echo '</div>';
129-
echo '<script>';
130-
echo 'var sidebar_list = document.getElementsByClassName("sidebar-list")[0];';
131-
echo 'var sidebar_list_a = sidebar_list.getElementsByTagName("a");';
132-
echo 'for (var i = 0; i < sidebar_list_a.length; i++) {';
133-
echo 'if (i % 2 == 1) {';
134-
echo 'sidebar_list_a[i].style.backgroundColor = "#0b0c0c";';
135-
echo '}';
136-
echo '}';
137-
echo '// search bar, hides non-matching links';
138-
echo 'var sidebar_search = document.getElementById("search-input");';
139-
echo 'sidebar_search.addEventListener("keyup", function(event) {';
140-
echo 'var search_input = event.target.value;';
141-
echo 'var sidebar_list_a = sidebar_list.getElementsByTagName("a");';
142-
echo 'for (var i = 0; i < sidebar_list_a.length; i++) {';
143-
echo 'if (sidebar_list_a[i].innerHTML.toLowerCase().indexOf(search_input.toLowerCase()) == -1) {';
144-
echo 'sidebar_list_a[i].style.display = "none";';
145-
echo '} else {';
146-
echo 'sidebar_list_a[i].style.display = "block";';
147-
echo '}';
148-
echo '}';
149-
echo '});';
150-
echo '</script>';
151-
echo '</body>';
152-
echo '</html>';
153-
154-
// end php
155-
?>
141+
?>
142+
</div>
143+
</div>
144+
<script>
145+
var sidebar_list = document.getElementsByClassName("sidebar-list")[0];
146+
var sidebar_list_a = sidebar_list.getElementsByTagName("a");
147+
for (var i = 0; i < sidebar_list_a.length; i++) {
148+
if (i % 2 == 1) {
149+
sidebar_list_a[i].style.backgroundColor = "#0b0c0c";
150+
}
151+
}
152+
// search bar, hides non-matching links';
153+
var sidebar_search = document.getElementById("search-input");
154+
sidebar_search.addEventListener("keyup", function(event) {
155+
var search_input = event.target.value;
156+
var sidebar_list_a = sidebar_list.getElementsByTagName("a");
157+
for (var i = 0; i < sidebar_list_a.length; i++) {
158+
if (sidebar_list_a[i].innerHTML.toLowerCase().indexOf(search_input.toLowerCase()) == -1) {
159+
sidebar_list_a[i].style.display = "none";
160+
}
161+
else {
162+
sidebar_list_a[i].style.display = "block";
163+
}
164+
}
165+
}
166+
);
167+
// Make elements with id="second-color" have the second color
168+
// get elements by name
169+
var second_colors = document.getElementsByName("second-color");
170+
for (var i = 0; i < second_colors.length; i++) {
171+
second_colors[i].style.background = "<?php echo $wiki_color; ?>";
172+
}
173+
</script>
174+
</body>
175+
</html>

0 commit comments

Comments
 (0)