feat: add github ribbon, change sample website, begin english translation.
This commit is contained in:
parent
f07a0b2f9b
commit
98b6dfe500
|
@ -16,6 +16,68 @@
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
min-height: 10rem;
|
||||||
|
padding-top: 55px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#forkongithub a{
|
||||||
|
box-sizing: content-box;
|
||||||
|
background:#000;
|
||||||
|
color:#fff;
|
||||||
|
text-decoration:none;
|
||||||
|
font-family:arial,sans-serif;
|
||||||
|
text-align:center;
|
||||||
|
font-weight:bold;
|
||||||
|
padding:5px 40px;
|
||||||
|
font-size:1rem;
|
||||||
|
line-height:2rem;
|
||||||
|
position:relative;
|
||||||
|
transition:0.5s;
|
||||||
|
}
|
||||||
|
#forkongithub a:hover{
|
||||||
|
background:#c11;
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
#forkongithub a::before,#forkongithub a::after{
|
||||||
|
content:"";
|
||||||
|
width:100%;
|
||||||
|
display:block;
|
||||||
|
position:absolute;
|
||||||
|
top:1px;
|
||||||
|
left:0;
|
||||||
|
height:1px;
|
||||||
|
background:#fff;
|
||||||
|
}
|
||||||
|
#forkongithub a::after{
|
||||||
|
bottom:1px;
|
||||||
|
top:auto;
|
||||||
|
}
|
||||||
|
@media screen and (min-width:800px){
|
||||||
|
#forkongithub{
|
||||||
|
position:absolute;
|
||||||
|
display:block;
|
||||||
|
top:0;
|
||||||
|
right:0;
|
||||||
|
width:200px;
|
||||||
|
overflow:hidden;
|
||||||
|
height:200px;
|
||||||
|
z-index:9999;
|
||||||
|
}
|
||||||
|
#forkongithub a{
|
||||||
|
width:200px;
|
||||||
|
position:fixed;
|
||||||
|
top:60px;
|
||||||
|
right:-60px;
|
||||||
|
transform:rotate(45deg);
|
||||||
|
-webkit-transform:rotate(45deg);
|
||||||
|
-ms-transform:rotate(45deg);
|
||||||
|
-moz-transform:rotate(45deg);
|
||||||
|
-o-transform:rotate(45deg);
|
||||||
|
box-shadow:4px 4px 10px rgba(0,0,0,0.8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
blockquote
|
blockquote
|
||||||
{
|
{
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
@ -24,7 +86,7 @@ blockquote
|
||||||
font-family: Consolas, "Times New Roman", Verdana;
|
font-family: Consolas, "Times New Roman", Verdana;
|
||||||
border-left: 4px solid #CCC;
|
border-left: 4px solid #CCC;
|
||||||
padding-left: 8px;
|
padding-left: 8px;
|
||||||
background: #eee;
|
background: #eee;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.emoji-sizer
|
span.emoji-sizer
|
||||||
|
@ -156,3 +218,8 @@ flex-wrap: wrap;
|
||||||
{
|
{
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
#content
|
||||||
|
{
|
||||||
|
padding-bottom: 25px;
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
|
|
@ -10,3 +10,5 @@ define('LOG_FILE', 'log.txt');
|
||||||
define('ACCESS_IP', '');
|
define('ACCESS_IP', '');
|
||||||
define('HISTORY_FILE', 'history.txt');
|
define('HISTORY_FILE', 'history.txt');
|
||||||
define('MAX_HISTORY_FILES', 5);
|
define('MAX_HISTORY_FILES', 5);
|
||||||
|
define('LANGUAGE', 'en');
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
# About author
|
||||||
|
|
||||||
|
![moi](/moi.jpg?80-left)**Hordé Nicolas**
|
||||||
|
|
||||||
|
> *Passionate about computer and more particularly development. I started from a young age (17 years) in system programming. I handle about thirty programming languages among which there are many low level languages: wink:! I am also the author of MarkDoc, the Markdown-based documentation management system you are currently viewing *
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
# Dependencies
|
||||||
|
|
||||||
|
## Emoji Support
|
||||||
|
|
||||||
|
*Thanks to Cal Henderson*
|
||||||
|
|
||||||
|
* https://github.com/iamcal/js-emoji
|
||||||
|
* https://github.com/iamcal/php-emoji
|
||||||
|
* https://github.com/iamcal/emoji-data
|
||||||
|
|
||||||
|
## Converting Markdown
|
||||||
|
|
||||||
|
*Thanks to Emanuil Rusev*
|
||||||
|
|
||||||
|
* https://github.com/erusev/parsedown-extra
|
||||||
|
* https://github.com/erusev/parsedown
|
||||||
|
|
||||||
|
## Editing markdown
|
||||||
|
|
||||||
|
*Thanks to Wes Cossick*
|
||||||
|
|
||||||
|
* https://github.com/sparksuite/simplemde-markdown-editor
|
||||||
|
|
||||||
|
## Syntax highlighting
|
||||||
|
|
||||||
|
* https://github.com/PrismLibrary/Prism
|
||||||
|
|
||||||
|
## Icons
|
||||||
|
|
||||||
|
* https://github.com/FortAwesome/Font-Awesome
|
||||||
|
|
||||||
|
## Essential
|
||||||
|
|
||||||
|
* https://github.com/twbs/bootstrap
|
||||||
|
* https://github.com/jquery/jquery
|
||||||
|
* https://github.com/popperjs/popper-core
|
||||||
|
* https://github.com/zenorocha/clipboard.js
|
||||||
|
* https://github.com/codepo8/css-fork-on-github-ribbon
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Features
|
||||||
|
|
||||||
|
## Actual
|
||||||
|
|
||||||
|
1. Simple Website with customizables menus
|
||||||
|
2. Markdown Editor with syntax highlighting and Emoji support
|
||||||
|
3. Very fast loading with ajax support
|
||||||
|
4. Multiple websites hosting with single MarkDoc installation
|
||||||
|
3. Integrated Image viewer
|
||||||
|
4. Restricted access by ip address
|
||||||
|
5. Admin access logging
|
||||||
|
|
||||||
|
## Planned
|
||||||
|
|
||||||
|
1. Complete File Manager
|
||||||
|
2. Password protected area
|
||||||
|
3. Keeping the history of edited files and changes
|
||||||
|
4. Configuration viewer
|
||||||
|
5. Emoji menu in Markdown editor
|
||||||
|
6. Uploading multiple files by drag and drop
|
|
@ -0,0 +1,25 @@
|
||||||
|
# MarkDoc
|
||||||
|
|
||||||
|
**PHP Markdown-based documentation management system, Free & OpenSource :heart_eyes: for easily create your documentation website**
|
||||||
|
|
||||||
|
This website is heavily formated with markdown format !
|
||||||
|
```
|
||||||
|
__ __ _ _____
|
||||||
|
| \/ | | | | __ \
|
||||||
|
| \ / | __ _ _ __| | _| | | | ___ ___
|
||||||
|
| |\/| |/ _` | \'__| |/ / | | |/ _ \ / __|
|
||||||
|
| | | | (_| | | | <| |__| | (_) | (__
|
||||||
|
|_| |_|\__,_|_| |_|\_\_____/ \___/ \___|
|
||||||
|
```
|
||||||
|
|
||||||
|
![gplV3](https://www.gnu.org/graphics/gplv3-127x51.png) Sous licence GPLv3 [Licence](/special/gpl-3.0.md) - *Sources downloadables on [GitHub](https://github.com/dahut87/MarkDoc)*
|
||||||
|
|
||||||
|
Based on Pheditor "PHP file editor" released under MIT license
|
||||||
|
|
||||||
|
*Specials thanks to Hamid Samak*
|
||||||
|
|
||||||
|
Made in 2020 by Nicolas H.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
For more informations, visit the demo website running MarkDoc engine at : [https://markdoc.palon.fr](https://markdoc.palon.fr)
|
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
|
@ -1,3 +1,3 @@
|
||||||
[Accueil](/index.md)
|
[Home](/index.md)
|
||||||
[Plan du site](:SITEMAP)
|
[Sitemap](:SITEMAP)
|
||||||
[Glossaire](:GLOSSAIRE)
|
[Glossary](:GLOSSAIRE)
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Installation using git
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone https://github.com/dahut87/MarkDoc.git [website_root]
|
||||||
|
```
|
||||||
|
|
||||||
|
Install Emoji data and copy Emoji data to the "emoji-data"
|
||||||
|
|
||||||
|
```
|
||||||
|
wget https://github.com/iamcal/emoji-data/archive/v6.0.0.zip
|
||||||
|
unzip v6.0.0.zip
|
||||||
|
mv emoji-data-v6.0.0 emoji-data
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
There is a sample website in the "[website_root]/hosts/locahost" directory. It's easy to add a new one, you create one subfolder by name served by your webserver.
|
||||||
|
|
||||||
|
```
|
||||||
|
[website_root]/hosts/example.com
|
||||||
|
[website_root]/hosts/test.sample.fr
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
The configuration file is named 'config.php', is located in the [website_root]/hosts/[host]/config.php.
|
||||||
|
|
||||||
|
List of the parameters you can modify
|
||||||
|
```
|
||||||
|
define('SUBCONTENT_DIR', 'content');
|
||||||
|
define('SHOW_HIDDEN_FILES', false);
|
||||||
|
define('VIEWABLE_FORMAT', 'md');
|
||||||
|
define('TITLE', 'Documentation');
|
||||||
|
define('ICON', 'fa-book-open');
|
||||||
|
define('ALLOWED_EXT','jpg,svg,gif,png,c,tgz,tar.gz,gz,tar,sql,ico');
|
||||||
|
define('PASSWORD', '[sha512 encoded password]');
|
||||||
|
define('LOG_FILE', 'log.txt');
|
||||||
|
define('ACCESS_IP', '');
|
||||||
|
define('HISTORY_FILE', 'history.txt');
|
||||||
|
define('MAX_HISTORY_FILES', 5);
|
||||||
|
```
|
||||||
|
|
||||||
|
**NOTE**:
|
||||||
|
There is no default password. To generate it, use the sha512sum command line like this:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
user@computer:~$ echo -en "password"|sha512sum|cut -d " " -f1
|
||||||
|
b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86
|
||||||
|
```
|
|
@ -1,18 +0,0 @@
|
||||||
# MarkDoc
|
|
||||||
|
|
||||||
**PHP MarkDown document manager, Free & OpenSource :heart_eyes: for easily create your documentation website**
|
|
||||||
|
|
||||||
```
|
|
||||||
__ __ _ _____
|
|
||||||
| \/ | | | | __ \
|
|
||||||
| \ / | __ _ _ __| | _| | | | ___ ___
|
|
||||||
| |\/| |/ _` | \'__| |/ / | | |/ _ \ / __|
|
|
||||||
| | | | (_| | | | <| |__| | (_) | (__
|
|
||||||
|_| |_|\__,_|_| |_|\_\_____/ \___/ \___|
|
|
||||||
```
|
|
||||||
|
|
||||||
![gplV3](https://www.gnu.org/graphics/gplv3-127x51.png) Sous licence GPLv3 [Licence](/special/gpl-3.0.md) - *Sources téléchargéables sur [GitHub](https://github.com/dahut87/MarkDoc)*
|
|
||||||
|
|
||||||
Based on Pheditor "PHP file editor" By Hamid Samak Release under MIT license
|
|
||||||
|
|
||||||
2020 par Nicolas H.
|
|
24
index.php
24
index.php
|
@ -29,7 +29,7 @@ testip();
|
||||||
logprotect();
|
logprotect();
|
||||||
|
|
||||||
### Sessions
|
### Sessions
|
||||||
session_name('mesdocumentations');
|
session_name($_SERVER['SERVER_NAME']);
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
/*var_dump($_POST);
|
/*var_dump($_POST);
|
||||||
|
@ -148,19 +148,11 @@ else
|
||||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" />
|
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="/css/style.css" />
|
<link rel="stylesheet" type="text/css" href="/css/style.css" />
|
||||||
<?php print(($_SESSION['md_admin'] == true)?'<link rel="stylesheet" href="/css/codemirror.min.css" />':''); ?>
|
<?php print(($_SESSION['md_admin'] == true)?'<link rel="stylesheet" href="/css/codemirror.min.css" />':''); ?>
|
||||||
<script type="text/javascript" src="/js/jquery.min.js"></script>
|
|
||||||
<script type="text/javascript" src="/js/popper.min.js"></script>
|
|
||||||
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
|
||||||
<script type="text/javascript" src="/js/jstree.min.js"></script>
|
|
||||||
<script type="text/javascript" src="/js/prism.js"></script>
|
|
||||||
<script type="text/javascript" src="/js/emoji.min.js"></script>
|
|
||||||
<?php print(($_SESSION['md_admin'] == true)?'<link rel="stylesheet" href="/css/simplemde.min.css">
|
|
||||||
<script src="/js/simplemde.min.js"></script>
|
|
||||||
<script type="text/javascript" src="/js/functionsadmin.js"></script>':'<script type="text/javascript" src="/js/functions.js"></script>'); ?>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="head" class="">
|
<div id="head" class="">
|
||||||
<nav class="navbar navbar-expand-md <?php print(($_SESSION['md_admin'] == true)?"navbar-custom":"bg-dark navbar-dark"); ?>">
|
<span id="forkongithub"><a href="https://github.com/dahut87/MarkDoc">Fork me on GitHub</a></span>
|
||||||
|
<nav class="navbar fixed-top navbar-expand-md <?php print(($_SESSION['md_admin'] == true)?"navbar-custom":"bg-dark navbar-dark"); ?>">
|
||||||
<a class="navbar-brand" href="/index.md"><i class="fas <?php echo ICON; ?>"></i> <?php echo TITLE; ?></a>
|
<a class="navbar-brand" href="/index.md"><i class="fas <?php echo ICON; ?>"></i> <?php echo TITLE; ?></a>
|
||||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
@ -207,6 +199,7 @@ print(($_SESSION['md_admin'] == true)?'<li class="nav-item dropdown">
|
||||||
print($content);
|
print($content);
|
||||||
?><br><br>
|
?><br><br>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="toc"></div>
|
||||||
<div id="image" class="imagepreview"><img></div><div id="editor"><textarea data-file="" class="form-control"></textarea></div>
|
<div id="image" class="imagepreview"><img></div><div id="editor"><textarea data-file="" class="form-control"></textarea></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -218,5 +211,14 @@ print(($_SESSION['md_admin'] == true)?'<li class="nav-item dropdown">
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
<div class="alert"></div>
|
<div class="alert"></div>
|
||||||
|
<script type="text/javascript" src="/js/jquery.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/popper.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/jstree.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/prism.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/emoji.min.js"></script>
|
||||||
|
<?php print(($_SESSION['md_admin'] == true)?'<link rel="stylesheet" href="/css/simplemde.min.css">
|
||||||
|
<script src="/js/simplemde.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/functionsadmin.js"></script>':'<script type="text/javascript" src="/js/functions.js"></script>'); ?>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -28,15 +28,18 @@ $(function(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
emoji = new EmojiConvertor();
|
emoji = new EmojiConvertor();
|
||||||
|
$("#content").html(emoji.replace_colons($("#content").html()));
|
||||||
$("#editor").hide();
|
$("#editor").hide();
|
||||||
$("#image").hide();
|
$("#image").hide();
|
||||||
$("#save").hide();
|
$("#save").hide();
|
||||||
|
setTimeout(function(){ $("#forkongithub").fadeOut(1500); }, 5000);
|
||||||
|
$("#toc").tocify();
|
||||||
|
|
||||||
$("#files").on("select_node.jstree", function (e, nodes) {
|
$("#files").on("select_node.jstree", function (e, nodes) {
|
||||||
file="/"+$("#files").jstree("get_path",nodes.node,"/").replace(/^.+?[/]/, '');
|
file="/"+$("#files").jstree("get_path",nodes.node,"/").replace(/^.+?[/]/, '');
|
||||||
if ($("#files").jstree("is_leaf",nodes.node))
|
if ($("#files").jstree("is_leaf",nodes.node))
|
||||||
openlink(file+".md");
|
openlink(file+".md",false);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("input[name=submit]").click(function(e) {
|
$("input[name=submit]").click(function(e) {
|
||||||
|
@ -47,21 +50,22 @@ $(function(){
|
||||||
majlink('head');
|
majlink('head');
|
||||||
});
|
});
|
||||||
|
|
||||||
function openlink(dest)
|
function openlink(dest,majtree)
|
||||||
{
|
{
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: "/index.php",
|
url: "/index.php",
|
||||||
data: { action: "open", file: encodeURIComponent(dest) },
|
data: { action: "open", file: encodeURIComponent(dest) },
|
||||||
success: function(data){
|
success: function(data){
|
||||||
$("#content").html(emoji.replace_colons(data)+'<br><br>');
|
$("#content").html(emoji.replace_colons(data));
|
||||||
Prism.highlightAll();
|
Prism.highlightAll();
|
||||||
majlink('content');
|
majlink('content');
|
||||||
$(window).scrollTop(0);
|
$(window).scrollTop(0);
|
||||||
|
if (majtree) searchtree(dest);
|
||||||
},
|
},
|
||||||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||||||
if (dest!="special/404.md")
|
if (dest!="special/404.md")
|
||||||
openlink("special/404.md");
|
openlink("special/404.md",false);
|
||||||
else
|
else
|
||||||
$("#content").html("<b>Erreur 404 sur erreur 404: pas de /special/404.md !");
|
$("#content").html("<b>Erreur 404 sur erreur 404: pas de /special/404.md !");
|
||||||
}
|
}
|
||||||
|
@ -83,11 +87,40 @@ function majlink(context)
|
||||||
if (!external.test(dest) && !javascript.test(dest))
|
if (!external.test(dest) && !javascript.test(dest))
|
||||||
{
|
{
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
openlink(dest);
|
openlink(dest,true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function searchtree(file)
|
||||||
|
{
|
||||||
|
var flag;
|
||||||
|
$("#files").jstree("deselect_all");
|
||||||
|
node=$("#files").jstree("get_node", "ul > li:first");
|
||||||
|
file.split('/').forEach(function (item) {
|
||||||
|
flag=false;
|
||||||
|
subnodes=$("#files").jstree("get_children_dom",node);
|
||||||
|
subnodes.each(function (i,subnode)
|
||||||
|
{
|
||||||
|
text=$("#files").jstree("get_text",subnode);
|
||||||
|
if ((text==item) || (text+".md"==item))
|
||||||
|
{
|
||||||
|
$("#files").jstree("open_node",subnode);
|
||||||
|
if ($("#files").jstree("is_leaf",subnode))
|
||||||
|
{
|
||||||
|
$("#files").jstree("select_node",subnode,true);
|
||||||
|
flag=false;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
node=subnode;
|
||||||
|
flag=true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (!flag) return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function search(arg)
|
function search(arg)
|
||||||
{
|
{
|
||||||
$("#search").val(arg);
|
$("#search").val(arg);
|
||||||
|
@ -96,14 +129,14 @@ function search(arg)
|
||||||
url: "/index.php",
|
url: "/index.php",
|
||||||
data: { action: "search", search: encodeURIComponent(arg), type: "js" },
|
data: { action: "search", search: encodeURIComponent(arg), type: "js" },
|
||||||
success: function(data){
|
success: function(data){
|
||||||
$("#content").html(data+'<br><br>');
|
$("#content").html(data);
|
||||||
Prism.highlightAll();
|
Prism.highlightAll();
|
||||||
majlink('content');
|
majlink('content');
|
||||||
$(window).scrollTop(0);
|
$(window).scrollTop(0);
|
||||||
},
|
},
|
||||||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||||||
if (dest!="special/404.md")
|
if (dest!="special/404.md")
|
||||||
openlink("special/404.md");
|
openlink("special/404.md",false);
|
||||||
else
|
else
|
||||||
$("#content").html("<b>Erreur 404 sur erreur 404: pas de /special/404.md !");
|
$("#content").html("<b>Erreur 404 sur erreur 404: pas de /special/404.md !");
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,6 +109,8 @@ $(function(){
|
||||||
$("#editor").hide();
|
$("#editor").hide();
|
||||||
$("#image").hide();
|
$("#image").hide();
|
||||||
$("#save").hide();
|
$("#save").hide();
|
||||||
|
$("#content").html(emoji.replace_colons($("#content").html()));
|
||||||
|
setTimeout(function(){ $("#forkongithub").fadeOut(1500); }, 5000);
|
||||||
|
|
||||||
$("#files").on("ready.jstree", function (e) {
|
$("#files").on("ready.jstree", function (e) {
|
||||||
const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
|
@ -266,7 +268,7 @@ function imagemode(dest)
|
||||||
function viewmode(data)
|
function viewmode(data)
|
||||||
{
|
{
|
||||||
if (data !== undefined) {
|
if (data !== undefined) {
|
||||||
$("#content").html(emoji.replace_colons(data)+'<br><br>');
|
$("#content").html(emoji.replace_colons(data));
|
||||||
Prism.highlightAll();
|
Prism.highlightAll();
|
||||||
}
|
}
|
||||||
majlink('content');
|
majlink('content');
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?php
|
||||||
|
$lang['MENU'] ='Menu';
|
||||||
|
$lang['HOME'] ='Home';
|
||||||
|
$lang['GLOSSARY'] ='Glossary';
|
||||||
|
$lang['MARKDOC'] ='About MarKdoc';
|
||||||
|
$lang['ADMIN'] ='Admin';
|
||||||
|
$lang['ABOUT'] ='About...';
|
||||||
|
$lang['SEARCH' ]='Search';
|
||||||
|
$lang['VIEW'] ='View';
|
||||||
|
$lang['SAVE'] ='Save';
|
||||||
|
$lang['LOGIN'] ='Login';
|
||||||
|
$lang['NOPASS'] ='No password is given !';
|
||||||
|
$lang['ALREADYLOG'] ='You\'re already connected !';
|
||||||
|
$lang['BADPASS'] ='The password is incorrect !';
|
||||||
|
$lang['FOUND'] ='Search results</h1><p>There is %s results :';
|
||||||
|
$lang['404'] ='Error 404: file not found !';
|
||||||
|
$lang['404X2'] ='Error 404 on searching customized 404 error file !';
|
||||||
|
$lang['CONFIG'] ='Configuration';
|
||||||
|
$lang['PASSWORD'] ='Admin password';
|
||||||
|
$lang['LOGOUT'] ='Logout';
|
||||||
|
$lang['LOADING'] ='Loading...';
|
||||||
|
$lang['AJAXERROR'] ='Ajax error when loading data !';
|
||||||
|
$lang['SELECTERROR']='Error when selecting item.'
|
||||||
|
$lang['NOTCODED'] ='Fonction is not yet implemented.'
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?php
|
||||||
|
$lang['MENU'] ='Menu';
|
||||||
|
$lang['HOME'] ='Accueil';
|
||||||
|
$lang['GLOSSARY'] ='Glossaire';
|
||||||
|
$lang['MARKDOC'] ='A propos de MarKdoc';
|
||||||
|
$lang['ADMIN'] ='Admin';
|
||||||
|
$lang['ABOUT'] ='A propos';
|
||||||
|
$lang['SEARCH' ]='Rechercher';
|
||||||
|
$lang['VIEW'] ='Voir';
|
||||||
|
$lang['SAVE'] ='Sauver';
|
||||||
|
$lang['LOGIN'] ='Se connecter';
|
||||||
|
$lang['NOPASS'] ='Aucun mot de passe n\'a été saisi !';
|
||||||
|
$lang['ALREADYLOG'] ='Vous êtes déjà connecté !';
|
||||||
|
$lang['BADPASS'] ='Le mot de passe est incorrect !';
|
||||||
|
$lang['FOUND'] ='Résultats de recherche</h1><p>Il y a %s occurence(s) trouvée(s):'
|
|
@ -54,7 +54,9 @@ function specialurl($url)
|
||||||
case ':APROPOS':
|
case ':APROPOS':
|
||||||
$content = '# MarkDoc
|
$content = '# MarkDoc
|
||||||
|
|
||||||
**PHP MarkDown document manager, Free & OpenSource :heart_eyes: for easily create your documentation website**
|
**PHP Markdown-based documentation management system, Free & OpenSource :heart_eyes: for easily create your documentation website**
|
||||||
|
|
||||||
|
This website is heavily formated with markdown format !
|
||||||
```
|
```
|
||||||
__ __ _ _____
|
__ __ _ _____
|
||||||
| \/ | | | | __ \
|
| \/ | | | | __ \
|
||||||
|
@ -64,11 +66,17 @@ function specialurl($url)
|
||||||
|_| |_|\__,_|_| |_|\_\_____/ \___/ \___|
|
|_| |_|\__,_|_| |_|\_\_____/ \___/ \___|
|
||||||
```
|
```
|
||||||
|
|
||||||
![gplV3](https://www.gnu.org/graphics/gplv3-127x51.png) Sous licence GPLv3 [Licence](/special/gpl-3.0.md) - *Sources téléchargéables sur [GitHub](https://github.com/dahut87/MarkDoc)*
|
![gplV3](https://www.gnu.org/graphics/gplv3-127x51.png) Sous licence GPLv3 [Licence](/special/gpl-3.0.md) - *Sources downloadables on [GitHub](https://github.com/dahut87/MarkDoc)*
|
||||||
|
|
||||||
Based on Pheditor "PHP file editor" By Hamid Samak Release under MIT license
|
Based on Pheditor "PHP file editor" released under MIT license
|
||||||
|
|
||||||
2020 par Nicolas H.';
|
*Specials thanks to Hamid Samak*
|
||||||
|
|
||||||
|
Made in 2020 by Nicolas H.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
For more informations, visit the demo website running MarkDoc engine at : [https://markdoc.palon.fr](https://markdoc.palon.fr)';
|
||||||
$extra = new ParsedownExtraplus();
|
$extra = new ParsedownExtraplus();
|
||||||
print($extra->text($content));
|
print($extra->text($content));
|
||||||
exit;
|
exit;
|
||||||
|
|
120
readme.md
120
readme.md
|
@ -1,6 +1,8 @@
|
||||||
# MarkDoc
|
# MarkDoc
|
||||||
|
|
||||||
**PHP MarkDown document manager, Free & OpenSource :heart_eyes: for easily create your documentation website**
|
**PHP Markdown-based documentation management system, Free & OpenSource :heart_eyes: for easily create your documentation website**
|
||||||
|
|
||||||
|
This website is heavily formated with markdown format !
|
||||||
```
|
```
|
||||||
__ __ _ _____
|
__ __ _ _____
|
||||||
| \/ | | | | __ \
|
| \/ | | | | __ \
|
||||||
|
@ -10,122 +12,14 @@
|
||||||
|_| |_|\__,_|_| |_|\_\_____/ \___/ \___|
|
|_| |_|\__,_|_| |_|\_\_____/ \___/ \___|
|
||||||
```
|
```
|
||||||
|
|
||||||
![gplV3](https://www.gnu.org/graphics/gplv3-127x51.png) Sous licence GPLv3 [Licence](/special/gpl-3.0.md) - *Sources téléchargéables sur [GitHub](https://github.com/dahut87/MarkDoc)*
|
![gplV3](https://www.gnu.org/graphics/gplv3-127x51.png) Sous licence GPLv3 [Licence](/special/gpl-3.0.md) - *Sources downloadables on [GitHub](https://github.com/dahut87/MarkDoc)*
|
||||||
|
|
||||||
Based on Pheditor "PHP file editor" By Hamid Samak Release under MIT license
|
Based on Pheditor "PHP file editor" released under MIT license
|
||||||
|
|
||||||
*Specials thanks to Hamid Samak*
|
*Specials thanks to Hamid Samak*
|
||||||
|
|
||||||
2020 par Nicolas H.
|
Made in 2020 by Nicolas H.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Features
|
For more informations, visit the demo website running MarkDoc engine at : [https://markdoc.palon.fr](https://markdoc.palon.fr)
|
||||||
|
|
||||||
### Actual
|
|
||||||
|
|
||||||
1. Simple Website with customizables menus
|
|
||||||
2. Markdown Editor with syntax highlighting and Emoji support
|
|
||||||
3. Very fast loading with ajax support
|
|
||||||
4. Multiple websites hosting with single MarkDoc installation
|
|
||||||
3. Integrated Image viewer
|
|
||||||
4. Restricted access by ip address
|
|
||||||
5. Admin access logging
|
|
||||||
|
|
||||||
### Planned
|
|
||||||
|
|
||||||
1. Complete File Manager
|
|
||||||
2. Password protected area
|
|
||||||
3. Keeping the history of edited files and changes
|
|
||||||
4. Configuration viewer
|
|
||||||
5. Emoji menu in Markdown editor
|
|
||||||
6. Uploading multiple files by drag and drop
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
Installation using git
|
|
||||||
|
|
||||||
```
|
|
||||||
git clone https://github.com/dahut87/MarkDoc.git [website_root]
|
|
||||||
```
|
|
||||||
|
|
||||||
Install Emoji data and copy Emoji data to the "emoji-data"
|
|
||||||
|
|
||||||
```
|
|
||||||
wget https://github.com/iamcal/emoji-data/archive/v6.0.0.zip
|
|
||||||
unzip v6.0.0.zip
|
|
||||||
mv emoji-data-v6.0.0 emoji-data
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
There is a sample website in the "[website_root]/hosts/locahost" directory. It's easy to add a new one, you create one subfolder by name served by your webserver.
|
|
||||||
|
|
||||||
```
|
|
||||||
[website_root]/hosts/example.com
|
|
||||||
[website_root]/hosts/test.sample.fr
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
The configuration file is named 'config.php', is located in the [website_root]/hosts/[host]/config.php.
|
|
||||||
|
|
||||||
List of the parameters you can modify
|
|
||||||
```
|
|
||||||
define('SUBCONTENT_DIR', 'content');
|
|
||||||
define('SHOW_HIDDEN_FILES', false);
|
|
||||||
define('VIEWABLE_FORMAT', 'md');
|
|
||||||
define('TITLE', 'Documentation');
|
|
||||||
define('ICON', 'fa-book-open');
|
|
||||||
define('ALLOWED_EXT','jpg,svg,gif,png,c,tgz,tar.gz,gz,tar,sql,ico');
|
|
||||||
define('PASSWORD', '[sha512 encoded password]');
|
|
||||||
define('LOG_FILE', 'log.txt');
|
|
||||||
define('ACCESS_IP', '');
|
|
||||||
define('HISTORY_FILE', 'history.txt');
|
|
||||||
define('MAX_HISTORY_FILES', 5);
|
|
||||||
```
|
|
||||||
|
|
||||||
**NOTE**:
|
|
||||||
The default password is `admin`. Please change the password after install or first login.
|
|
||||||
|
|
||||||
## Dependences
|
|
||||||
|
|
||||||
### Emoji Support
|
|
||||||
|
|
||||||
*Thanks to Cal Henderson*
|
|
||||||
|
|
||||||
* https://github.com/iamcal/js-emoji
|
|
||||||
* https://github.com/iamcal/php-emoji
|
|
||||||
* https://github.com/iamcal/emoji-data
|
|
||||||
|
|
||||||
### Converting Markdown
|
|
||||||
|
|
||||||
*Thanks to Emanuil Rusev*
|
|
||||||
|
|
||||||
* https://github.com/erusev/parsedown-extra
|
|
||||||
* https://github.com/erusev/parsedown
|
|
||||||
|
|
||||||
### Editing markdown
|
|
||||||
|
|
||||||
*Thanks to Wes Cossick*
|
|
||||||
|
|
||||||
* https://github.com/sparksuite/simplemde-markdown-editor
|
|
||||||
|
|
||||||
### Syntax highlighting
|
|
||||||
|
|
||||||
* https://github.com/PrismLibrary/Prism
|
|
||||||
|
|
||||||
### Icons
|
|
||||||
|
|
||||||
* https://github.com/FortAwesome/Font-Awesome
|
|
||||||
|
|
||||||
### Essential
|
|
||||||
|
|
||||||
* https://github.com/twbs/bootstrap
|
|
||||||
* https://github.com/jquery/jquery
|
|
||||||
* https://github.com/popperjs/popper-core
|
|
||||||
* https://github.com/zenorocha/clipboard.js
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue