Browse Source

docs update

master
filesite 3 years ago
parent
commit
8826414502
  1. 3
      themes/manual/controller/SiteController.php
  2. 2
      themes/manual/controller/ViewController.php
  3. 4
      themes/manual/views/layout/main.php
  4. 84
      www/content/Class_DirScanner.md
  5. 74
      www/content/FSC.md
  6. 0
      www/content/Nginx.conf.md
  7. 32
      www/content/README.md

3
themes/manual/controller/SiteController.php

@ -8,7 +8,6 @@ require_once __DIR__ . '/../../../plugins/Parsedown.php';
Class SiteController extends Controller { Class SiteController extends Controller {
public function actionIndex() { public function actionIndex() {
//获取数据 //获取数据
$titles = []; $titles = [];
$content = ''; $content = '';
@ -28,7 +27,7 @@ Class SiteController extends Controller {
$html = $scanner->fixMDUrls($readmeFile['realpath'], $html); $html = $scanner->fixMDUrls($readmeFile['realpath'], $html);
} }
$pageTitle = "FileSite.io - 无数据库、基于文件和目录的网址导航、图书、图片、视频网站PHP开源系统"; $pageTitle = !empty($titles) ? $titles[0]['name'] : "FileSite.io - 无数据库、基于文件和目录的Markdown文档、网址导航、图书、图片、视频网站PHP开源系统";
$viewName = 'index'; $viewName = 'index';
$params = compact('titles', 'content', 'html'); $params = compact('titles', 'content', 'html');
return $this->render($viewName, $params, $pageTitle); return $this->render($viewName, $params, $pageTitle);

2
themes/manual/controller/ViewController.php

@ -36,7 +36,7 @@ Class ViewController extends Controller {
throw new Exception("404 - 文件编号 {$fileId} 找不到", 404); throw new Exception("404 - 文件编号 {$fileId} 找不到", 404);
} }
$pageTitle = !empty($titles) ? $titles[0]['name'] : "404 - 文件找不到"; $pageTitle = !empty($titles) ? $titles[0]['name'] : "No title, 无标题";
$viewName = 'index'; $viewName = 'index';
$params = compact('titles', 'content', 'html'); $params = compact('titles', 'content', 'html');
return $this->render($viewName, $params, $pageTitle); return $this->render($viewName, $params, $pageTitle);

4
themes/manual/views/layout/main.php

@ -20,6 +20,10 @@ include_once $viewFile;
?> ?>
<div class="footer"> <div class="footer">
<?php if (!empty(FSC::$app['config']['theme'])) { ?>
Theme name <strong><?php echo FSC::$app['config']['theme']; ?></strong>
<br>
<?php } ?>
&copy;FSC 2022 - execute time: {page_time_cost} ms &copy;FSC 2022 - execute time: {page_time_cost} ms
</div> </div>

84
www/content/Class_DirScanner.md

@ -0,0 +1,84 @@
# 类 DirScanner 定义
## 私有属性
* nginxSecureOn: Nginx防盗链开启状态
* nginxSecret: Nginx防盗链密钥
* userIp: 用户IP地址
* nginxSecureTimeout: Nginx防盗链有效期,单位:秒
* nginxSecureLinkMd5Pattern: Nginx防盗链MD5加密方式
* allowReadContentFileExtensions: 允许读取文件内容的文件类型
* fields: 私有属性字段名和说明
* rootDir: 当前扫描的根目录
* webRoot: 网站静态文件相对路径的根目录,默认值:/content/
* scanningDirLevel: 当前扫描的目录深度
* scanStartTime: 开始扫描时间戳,单位:秒
* scanResults: 目录扫描结果
* tree: 目录扫描树形结构
## 受保护属性
* supportFileExtensions: 支持的文件类型
* maxReadFilesize: 默认每种文件读取内容最大大小
* securedFileExtensions: 开启Nginx防盗链的文件类型
## 公开属性
* scanTimeCost: 上一次目录扫描耗时,单位:毫秒
## 私有方法
* parseDescriptionFiles: 解析描述文件内容
* parseShortCuts: 解析快捷方式文件内容
* getId: 根据文件路径生成唯一编号
* isNginxSecureLinkMd5PatternValid: 判断Nginx防盗链MD5加密方式字符串是否合格
* getDirData: 根据路径生成目录数组
* getFileData: 根据路径生成文件数组,兼容URL文件
* getScanningLevel: 根据路径和根目录获取当前扫描的目录深度
* getRelativeDirname: 根据相对目录名
* mergeDescriptionData: 合并描述文件内容到md文件或者目录数据
## 受保护的方法
* getSecureLink: 根据文件生成防盗链网址
* getFilePath: 根据文件生成相对路径
* getDirPath: 根据目录生成相对路径
## 公开方法
* setNginxSecure: 设置Nginx防盗链开启或关闭,以及密钥、用户IP、加密方式、超时时长
* setNginxSecret: 设置Nginx防盗链密钥
* setUserIp: 设置当前用户IP,用来生成加密网址
* setNginxSecureLinkMd5Pattern: 设置Nginx防盗链MD5加密方式
* setNginxSecureTimeout: 设置Nginx防盗链超时时长,单位:秒
* setWebRoot: 设置网站静态文件相对根目录
* getNginxSecret: 获取Nginx防盗链密钥
* getUserIp: 获取当前用户IP
* getNginxSecureLinkMd5Pattern: 获取Nginx防盗链MD5加密方式
* getNginxSecureTimeout: 获取Nginx防盗链超时时长,单位:秒
* getWebRoot: 获取网站静态文件相对根目录
* isSecureOn: 获取是否开启防盗链
* scan: 扫描目录获取目录和文件列表,支持指定目录扫描深度(目录级数)
* getScanResults: 获取扫描结果
* getMenus: 获取扫描结果中的目录结构
* getMDTitles: 获取.md文件中的h1-h6标题
* fixMDUrls: 替换.md文件解析之后的HTML中的静态文件URL为相对路径path
* getDefaultReadme: 获取名称为README.md的文件
## 参考说明
Nginx防盗链MD5加密方式参考下面网址中的示例,
将Nginx的变量替换$符号为英文大括号;
示例:
```
{secure_link_expires}{uri}{remote_addr} {secret}
```
* <a href="http://nginx.org/en/docs/http/ngx_http_secure_link_module.html#secure_link_md5" target="_blank">Nginx secure link module</a>

74
www/content/FSC.md

@ -0,0 +1,74 @@
# Filesite.io core lib
FSC is the core lib of filesite.io, a small PHP Framework.
## Controllers and Actions
Please put controller files in the directory **controller/**,
which are extends from the base **Controller**.
Please name public actions like **actionIndex** in your controller file,
which are using the prefix **action**.
Examples:
```
controller/SiteController.php
controller/CommandController.php
```
## Layout and Views
Please put layout files in the directory **views/layout/**,
and create diretories for your views,
such as **views/site/**.
## App config
Please set configs in the file **conf/app.php**.
You can use ```FSC::$app['config']``` in controller and views.
Example in views:
```
print_r(FSC::$app['config']);
```
## View data
You can pass parameters to view with an array, like:
```
$viewName = 'index';
$params = compact('foo', 'bar');
return $this->render($viewName, $params);
```
And you can visit parameters with the variable ```$viewData``` in views.
Example in view:
```
echo "I'm foo {$viewData['foo']}.";
print_r($viewData);
```
## Commands
You can add functions in the command controller ```controller/CommandController.php```,
and run the command to execute it:
```
php bin/command.php
php bin/command.php "test" "foo=bar"
```
## Nginx config example
Please check the file [Nginx.conf.md](./Nginx.conf.md)

0
Nginx.conf.md → www/content/Nginx.conf.md

32
www/content/README.md

@ -1,16 +1,18 @@
# filesite.io - 无数据库、基于文件和目录的网址导航、图书、图片、视频网站PHP开源系统 # filesite.io - 无数据库、基于文件和目录的Markdown文档、网址导航、图书、图片、视频网站PHP开源系统
## 简介 ## 简介
项目名称:filesite.io 项目名称:**filesite.io**
项目介绍: 项目介绍:
为进一步降低内容分享者、内容创作者把内容变成网站的门槛,
为**进一步降低**内容分享者、内容创作者把内容变成网站的**门槛**,
以常见的本地磁盘目录+文件的形式作为网站数据来源, 以常见的本地磁盘目录+文件的形式作为网站数据来源,
修改磁盘文件内容上传到服务器就可以生成网页, 修改磁盘文件内容上传到服务器就可以生成网页,
让大家更易于同时维护本地和网站的内容。 让大家更易于同时维护本地和网站的内容。
目标用户: 目标用户:
* 经常用Markdown写文档/文章的朋友
* 网址导航站经营者、收藏夹/网址分享者 * 网址导航站经营者、收藏夹/网址分享者
* 小说网站经营者、小说创作者、博客主、作家、自媒体人 * 小说网站经营者、小说创作者、博客主、作家、自媒体人
* 图片网站经营者、摄影师、摄影爱好者、驴友 * 图片网站经营者、摄影师、摄影爱好者、驴友
@ -22,9 +24,9 @@
filesite使用非常简单,一旦部署好之后,以后只需将本地最新内容上传覆盖即可。 filesite使用非常简单,一旦部署好之后,以后只需将本地最新内容上传覆盖即可。
1. 下载filesite源码,并参考文档部署到你的服务器上; 1. 下载filesite源码,并参考[Nginx配置参考](./Nginx.conf.md)部署到你的服务器上;
2. 修改配置文件config/app.php,简单设置后上传到服务器完成部署; 2. 修改配置文件``config/app.php``,简单设置后上传到服务器完成部署;
3. 将本地内容目录及文件上传到网站目录:content/ 3. 将本地内容目录及文件上传到网站目录:``www/content/``
4. 打开网址浏览最新内容; 4. 打开网址浏览最新内容;
有了filesite,你可以保留现有的本地内容创作习惯,并非常容易地把它们制作成一个网站分享给他人。 有了filesite,你可以保留现有的本地内容创作习惯,并非常容易地把它们制作成一个网站分享给他人。
@ -42,7 +44,14 @@ Machete是砍刀,它能砍、能削、能切、能剁,最适合披荆斩棘
Filesite.io也一样,它短小精悍,使用它把常见的本地文件制作成网站,就像拿起砍刀一样简单, 所以我们将filesite.io的源码命名为**machete**。 Filesite.io也一样,它短小精悍,使用它把常见的本地文件制作成网站,就像拿起砍刀一样简单, 所以我们将filesite.io的源码命名为**machete**。
见[filesite.io源码Machete](https://git.filesite.io/filesite/machete)
用git下载:
```
git clone https://git.filesite.io/filesite/machete.git
```
去查看<a href="https://git.filesite.io/filesite/machete" target="_blank">filesite.io源码Machete</a>
## 皮肤下载 ## 皮肤下载
@ -51,7 +60,14 @@ Filesite.io也一样,它短小精悍,使用它把常见的本地文件制作
## 使用手册 ## 使用手册
见[filesite.io使用手册](./Manual.md) filesite.io核心代码参考:
* [Filesite.io core lib](./FSC.md)
* [Nginx配置参考](./Nginx.conf.md)
filesite.io二次开发参考:
* [filesite.io使用手册](./Manual.md)
* [类DirScanner定义](./Class_DirScanner.md)
## 反馈与建议 ## 反馈与建议

Loading…
Cancel
Save