重构前端
parent
5006102a51
commit
bac3e15bc1
|
@ -0,0 +1,54 @@
|
|||
<?php
|
||||
|
||||
|
||||
namespace App\Controllers;
|
||||
use App\Models;
|
||||
use Core\Controller;
|
||||
use Core\View;
|
||||
use Parsedown;
|
||||
use App\Config;
|
||||
|
||||
|
||||
class NewUi extends Controller
|
||||
{
|
||||
function indexAction(){
|
||||
$docModel = new Models\Doc();
|
||||
$fisrtpage = $docModel->topDoc();
|
||||
|
||||
$firstpagedocs = [];
|
||||
$typedocs = $docModel->getAllTypeDocs();
|
||||
$titles = $docModel->AllTitle();
|
||||
foreach ($fisrtpage as $key => $value) {
|
||||
$obj['title'] = $value['title'];
|
||||
$obj['id'] = $value['id'];
|
||||
$obj['content'] = $value['content'];
|
||||
$obj['type'] = $value['type'];
|
||||
//数据加工
|
||||
$markdown = new Parsedown;
|
||||
$content = $markdown->text($value['content']);
|
||||
$obj['content'] = $content;
|
||||
array_push($firstpagedocs,$obj);
|
||||
}
|
||||
if(\App\Config::$DEBUG)
|
||||
View::renderTemplate("/blog/index.html",[
|
||||
"url"=>\App\Config::Url(),
|
||||
'route'=>'article',
|
||||
'docs'=>$firstpagedocs,
|
||||
'index'=>true,
|
||||
'debug'=>true,
|
||||
"typedocs" => $typedocs,
|
||||
"alltitle" => $titles,
|
||||
]);
|
||||
else{
|
||||
View::renderTemplate("/blog/index.html",[
|
||||
"url"=>\App\Config::Url(),
|
||||
'route'=>'article',
|
||||
'docs'=>$firstpagedocs,
|
||||
'index'=>true,
|
||||
'debug'=>false,
|
||||
"typedocs" => $typedocs,
|
||||
"alltitle" => $titles,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@
|
|||
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
|
||||
<link href="/api/App/Views/blog/css/left.css" rel="stylesheet" type="text/css">
|
||||
<link href="/api/App/Views/blog/css/comment.css" rel="stylesheet" type="text/css">
|
||||
<link href="/api/App/Views/blog/css/bootstrap-treeview.min.css" rel="stylesheet" type="text/css">
|
||||
|
||||
<script type="text/javascript" src="/api/App/Views/blog/js/left.js"></script>
|
||||
<script type="text/javascript" src="/api/App/Views/blog/js/scripts.js"></script>
|
||||
|
@ -14,8 +15,9 @@
|
|||
<script type="text/javascript" id="MathJax-script" async
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
|
||||
<script src="//rawgithub.com/indrimuska/jquery-editable-select/master/dist/jquery-editable-select.min.js"></script>
|
||||
<link href="//rawgithub.com/indrimuska/jquery-editable-select/master/dist/jquery-editable-select.min.css" rel="stylesheet">
|
||||
<script src="/api/App/Views/blog/js//jquery-editable-select.min.js"></script>
|
||||
<script src="/api/App/Views/blog/js//bootstrap-treeview.min.js"></script>
|
||||
<link href="/api/App/Views/blog/css/jquery-editable-select.min.css" rel="stylesheet">
|
||||
</head>
|
||||
<style>
|
||||
.container {
|
||||
|
@ -162,7 +164,7 @@ ul li a{
|
|||
<div id="sidebar">
|
||||
<ul style="padding-left: 0px">
|
||||
<li><a href="{{ url }}index" style="font-size: 25px;text-decoration: none; background: #20375f;">文章</a></li>
|
||||
<li><a href="{{ url }}project" style="font-size: 25px;text-decoration: none; background: #20375f;">项目合作</a></li>
|
||||
<li><a href="{{ url }}project" style="font-size: 25px;text-decoration: none; background: #20375f;">memo</a></li>
|
||||
<li style="font-size: 25px;text-decoration: none; background: #20375f;">众筹需求</li>
|
||||
<li><a href="{{ url }}data" style="font-size: 25px;text-decoration: none; background: #20375f;">数据聚合</a></li>
|
||||
<li><a href="{{ url }}donate" style="font-size: 25px;text-decoration: none; background: #20375f;">赞助</a></li>
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
/* =========================================================
|
||||
* bootstrap-treeview.css v1.2.0
|
||||
* =========================================================
|
||||
* Copyright 2013 Jonathan Miles
|
||||
* Project URL : http://www.jondmiles.com/bootstrap-treeview
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ========================================================= */
|
||||
|
||||
.treeview .list-group-item {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.treeview span.indent {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.treeview span.icon {
|
||||
width: 12px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.treeview .node-disabled {
|
||||
color: silver;
|
||||
cursor: not-allowed;
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
.treeview .list-group-item{cursor:pointer}.treeview span.indent{margin-left:10px;margin-right:10px}.treeview span.icon{width:12px;margin-right:5px}.treeview .node-disabled{color:silver;cursor:not-allowed}
|
|
@ -0,0 +1,231 @@
|
|||
@font-face {
|
||||
font-family: 'icomoon';
|
||||
src:url('../fonts/icomoon.eot?rretjt');
|
||||
src:url('../fonts/icomoon.eot?#iefixrretjt') format('embedded-opentype'),
|
||||
url('../fonts/icomoon.woff?rretjt') format('woff'),
|
||||
url('../fonts/icomoon.ttf?rretjt') format('truetype'),
|
||||
url('../fonts/icomoon.svg?rretjt#icomoon') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
[class^="icon-"], [class*=" icon-"] {
|
||||
font-family: 'icomoon';
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
body, html { font-size: 100%; padding: 0; margin: 0;}
|
||||
|
||||
/* Reset */
|
||||
*,
|
||||
*:after,
|
||||
*:before {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
body{
|
||||
background: #f9f7f6;
|
||||
color: #404d5b;
|
||||
font-weight: 500;
|
||||
font-size: 1.05em;
|
||||
font-family: "Segoe UI", "Lucida Grande", Helvetica, Arial, "Microsoft YaHei", FreeSans, Arimo, "Droid Sans", "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", "FontAwesome", sans-serif;
|
||||
}
|
||||
a{color: #2fa0ec;text-decoration: none;outline: none;}
|
||||
a:hover,a:focus{color:#74777b;}
|
||||
|
||||
.htmleaf-container{
|
||||
margin: 0 auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.bgcolor-1 { background: #f0efee; }
|
||||
.bgcolor-2 { background: #f9f9f9; }
|
||||
.bgcolor-3 { background: #e8e8e8; }/*light grey*/
|
||||
.bgcolor-4 { background: #2f3238; color: #fff; }/*Dark grey*/
|
||||
.bgcolor-5 { background: #df6659; color: #521e18; }/*pink1*/
|
||||
.bgcolor-6 { background: #2fa8ec; }/*sky blue*/
|
||||
.bgcolor-7 { background: #d0d6d6; }/*White tea*/
|
||||
.bgcolor-8 { background: #3d4444; color: #fff; }/*Dark grey2*/
|
||||
.bgcolor-9 { background: #ef3f52; color: #fff;}/*pink2*/
|
||||
.bgcolor-10{ background: #64448f; color: #fff;}/*Violet*/
|
||||
.bgcolor-11{ background: #3755ad; color: #fff;}/*dark blue*/
|
||||
.bgcolor-12{ background: #3498DB; color: #fff;}/*light blue*/
|
||||
/* Header */
|
||||
.htmleaf-header{
|
||||
padding: 1em 190px 1em;
|
||||
letter-spacing: -1px;
|
||||
text-align: center;
|
||||
}
|
||||
.htmleaf-header h1 {
|
||||
font-weight: 600;
|
||||
font-size: 2em;
|
||||
line-height: 1;
|
||||
margin-bottom: 0;
|
||||
font-family: "Segoe UI", "Lucida Grande", Helvetica, Arial, "Microsoft YaHei", FreeSans, Arimo, "Droid Sans", "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", "FontAwesome", sans-serif;
|
||||
}
|
||||
.htmleaf-header h1 span {
|
||||
font-family: "Segoe UI", "Lucida Grande", Helvetica, Arial, "Microsoft YaHei", FreeSans, Arimo, "Droid Sans", "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", "FontAwesome", sans-serif;
|
||||
display: block;
|
||||
font-size: 60%;
|
||||
font-weight: 400;
|
||||
padding: 0.8em 0 0.5em 0;
|
||||
color: #c3c8cd;
|
||||
}
|
||||
/*nav*/
|
||||
.htmleaf-demo a{color: #1d7db1;text-decoration: none;}
|
||||
.htmleaf-demo{width: 100%;padding-bottom: 1.2em;}
|
||||
.htmleaf-demo a{display: inline-block;margin: 0.5em;padding: 0.6em 1em;border: 3px solid #1d7db1;font-weight: 700;}
|
||||
.htmleaf-demo a:hover{opacity: 0.6;}
|
||||
.htmleaf-demo a.current{background:#1d7db1;color: #fff; }
|
||||
/* Top Navigation Style */
|
||||
.htmleaf-links {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
font-size: 1.5em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.htmleaf-links::after {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
margin-left: -1px;
|
||||
width: 2px;
|
||||
height: 100%;
|
||||
background: #dbdbdb;
|
||||
content: '';
|
||||
-webkit-transform: rotate3d(0,0,1,22.5deg);
|
||||
transform: rotate3d(0,0,1,22.5deg);
|
||||
}
|
||||
|
||||
.htmleaf-icon {
|
||||
display: inline-block;
|
||||
margin: 0.5em;
|
||||
padding: 0em 0;
|
||||
width: 1.5em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.htmleaf-icon span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.htmleaf-icon:before {
|
||||
margin: 0 5px;
|
||||
text-transform: none;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
font-family: 'icomoon';
|
||||
line-height: 1;
|
||||
speak: none;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
/* footer */
|
||||
.htmleaf-footer{width: 100%;padding-top: 10px;}
|
||||
.htmleaf-small{font-size: 0.8em;}
|
||||
.center{text-align: center;}
|
||||
/****/
|
||||
.related {
|
||||
color: #fff;
|
||||
background: #333;
|
||||
text-align: center;
|
||||
font-size: 1.25em;
|
||||
padding: 0.5em 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.related > a {
|
||||
vertical-align: top;
|
||||
width: calc(100% - 20px);
|
||||
max-width: 340px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
margin: 20px 10px;
|
||||
padding: 25px;
|
||||
font-family: "Segoe UI", "Lucida Grande", Helvetica, Arial, "Microsoft YaHei", FreeSans, Arimo, "Droid Sans", "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", "FontAwesome", sans-serif;
|
||||
}
|
||||
.related a {
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
margin: 20px auto;
|
||||
padding: 10px 20px;
|
||||
opacity: 0.8;
|
||||
-webkit-transition: opacity 0.3s;
|
||||
transition: opacity 0.3s;
|
||||
-webkit-backface-visibility: hidden;
|
||||
}
|
||||
|
||||
.related a:hover,
|
||||
.related a:active {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.related a img {
|
||||
max-width: 100%;
|
||||
opacity: 0.8;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.related a:hover img,
|
||||
.related a:active img {
|
||||
opacity: 1;
|
||||
}
|
||||
.related h3{font-family: "Microsoft YaHei", sans-serif;}
|
||||
.related a h3 {
|
||||
font-weight: 300;
|
||||
margin-top: 0.15em;
|
||||
color: #fff;
|
||||
}
|
||||
/* icomoon */
|
||||
.icon-htmleaf-home-outline:before {
|
||||
content: "\e5000";
|
||||
}
|
||||
|
||||
.icon-htmleaf-arrow-forward-outline:before {
|
||||
content: "\e5001";
|
||||
}
|
||||
|
||||
@media screen and (max-width: 50em) {
|
||||
.htmleaf-header {
|
||||
padding: 3em 10% 4em;
|
||||
}
|
||||
.htmleaf-header h1 {
|
||||
font-size:2em;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 40em) {
|
||||
.htmleaf-header h1 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 30em) {
|
||||
.htmleaf-header h1 {
|
||||
font-size:1.2em;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
/*! jQuery Editable Select - v2.2.5 - https://github.com/indrimuska/jquery-editable-select - (c) 2016 Indri Muska - MIT */
|
||||
input.es-input{padding-right:20px!important;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAICAYAAADJEc7MAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAG2YAABzjgAA4DIAAIM2AAB5CAAAxgwAADT6AAAgbL5TJ5gAAABGSURBVHjaYvz//z8DOYCJgUzA0tnZidPK8vJyRpw24pLEpwnuVHRFhDQxMDAwMPz//x+OOzo6/iPz8WFGuocqAAAA//8DAD/sORHYg7kaAAAAAElFTkSuQmCC) right center no-repeat}input.es-input.open{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0}.es-list{position:absolute;padding:0;margin:0;border:1px solid #d1d1d1;display:none;z-index:1000;background:#fff;max-height:160px;overflow-y:auto;-moz-box-shadow:0 2px 3px #ccc;-webkit-box-shadow:0 2px 3px #ccc;box-shadow:0 2px 3px #ccc}.es-list li{display:block;padding:5px 10px;margin:0}.es-list li.selected{background:#f3f3f3}.es-list li[disabled]{opacity:.5}
|
|
@ -0,0 +1 @@
|
|||
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden]{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}
|
|
@ -0,0 +1,83 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<link href="/api/App/Views/blog/css/bootstrap-treeview.css" rel="stylesheet" type="text/css">
|
||||
<link href="/api/App/Views/blog/css/default.css" rel="stylesheet" type="text/css">
|
||||
<link href="https://cdn.bootcss.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
|
||||
</head>
|
||||
|
||||
<body style="background: #eee">
|
||||
<div class="container">
|
||||
<h1>Bootstrap Tree View</h1>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<h2>Default</h2>
|
||||
<div id="treeview1" class=""></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="/api/App/Views/blog/js//jquery-2.1.0.min.js"></script>
|
||||
<script src="/api/App/Views/blog/js//bootstrap-treeview.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
console.log("shit")
|
||||
var defaultData = [
|
||||
{
|
||||
text: 'Parent 1',
|
||||
href: '#parent1',
|
||||
tags: ['4'],
|
||||
nodes: [
|
||||
{
|
||||
text: 'Child 1',
|
||||
href: '#child1',
|
||||
tags: ['2'],
|
||||
nodes: [
|
||||
{
|
||||
text: 'Grandchild 1',
|
||||
href: '#grandchild1',
|
||||
tags: ['0']
|
||||
},
|
||||
{
|
||||
text: 'Grandchild 2',
|
||||
href: '#grandchild2',
|
||||
tags: ['0']
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Child 2',
|
||||
href: '#child2',
|
||||
tags: ['0']
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
text: 'Parent 2',
|
||||
href: '#parent2',
|
||||
tags: ['0']
|
||||
},
|
||||
{
|
||||
text: 'Parent 3',
|
||||
href: '#parent3',
|
||||
tags: ['0']
|
||||
},
|
||||
{
|
||||
text: 'Parent 4',
|
||||
href: '#parent4',
|
||||
tags: ['0']
|
||||
},
|
||||
{
|
||||
text: 'Parent 5',
|
||||
href: '#parent5' ,
|
||||
tags: ['0']
|
||||
}
|
||||
];
|
||||
|
||||
$('#treeview1').treeview({
|
||||
data: defaultData
|
||||
})});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue