-
Notifications
You must be signed in to change notification settings - Fork 8
Home
南博v1.6开始,写入了我的动态功能。
我的动态 不依赖评论框架,而是单独建表。
什么是我的动态呢? 像QQ一样,可以在南博发布说说,加上使用我的动态插件就可以在博客需要的地方,显示我的动态即说说。 插件:https://github.com/krait-team/Dynamics-typecho
已支持单个动态独立一个页面 已支持动态主题(想博客一样可以使用和切换主题) 动态默认主题里面有样板,各位博友按自己主题可以改写
请参阅:Releases · krait-team/Dynamics-typecho (github.com)
我也使用了我的动态 快看左边一栏,是啥,是不是我的动态 或者 https://krait.cn/dynamics.html 点击预览
问题 由于不同的博客使用不同的主题,所以我的动态插件,可以自定义布局。自己可以去魔改、美化。
那么我们开始吧。
如果打不开动态首页?
- 默认的动态主题不适用与你的博客主题
- 在后台里,我的动态插件设置里,
切换选择其他的动态主题
- 下载软件 南博v1.6++
- 下载插件 我的动态 插件点击下载
- 安装南博
- 安装插件
Dynamics
插件的文件夹名必须为Dynamics
南博中发布动态。
在主界面
->点击助手图标
->我的动态
然后点击右上角的+,发布你的第一个动态。 可以点击你的动态对它进行编辑
假如你的博客地址是 https://domain.com/ 那么直接启用插件后,访问 https://domain.com/dynamics/ 即可 比如 https://shangjixin.com/dynamics/ 比如 https://imxxz.cn/dynamics/ 这就是动态的首页,你可以选择自己喜欢的主题或者开发自己的动态主题
注意是PHP代码 注意是PHP代码 注意是PHP代码
如果你想在博客主题中调用 如果你想在博客主题中调用 如果你想在博客主题中调用
1.可以直接在需要的调用,这个可以结合自己的主题。
比如我的,你看左边就是。我再sidebar.php
调用的。
或者创建单独一个独立页面单独在一个页面。
2.在需要的地方调用
<?php Dynamics_Plugin::output(); ?>
注意在v1.3及其开始
动态支持了主题
你会发现Dynamics
目录下有文件夹themes
是的themes
文件夹里是放主题的,默认主题是default
你也可以开发自己的主题,比如
尚寂新 开发的主题AlphaPure
点击预览
然后在Dynamics
设置里面选择你想用的主题,就可以启用了。
主题default
有以下文件
- index.php 动态首页,htps://domain.com/dynamics/ ,比如 https://shangjixin.com/dynamics/
- post.php (单个动态页面)
- 404.php (动态不存在页面)
- page.php(V1.5以及之前动态插件:调用
Dynamics_Plugin::output();
时,会输出的内容)
在本插件根目录,有以下文件,供使用者进行自定义
- page.php(V1.7以及之后动态插件调用
Dynamics_Plugin::output();
时,会输出的内容)
$this 语法依然可以用
<?php
// $this->need("header.php"); 是调用博客主题的文件
// $this->import("header.php"); 是调用动态主题的文件
// $this->options->siteUrl(); 这些方法依然可以调用
// $this->options->themeUrl();
// 动态首页
$this->homeUrl();
// 注意有括号(),是echo,没有括号的调用return
$this->dynamics->did(); // 动态的did
//$this->dynamics->did 也可以这样调用
$this->dynamics->avatar(); // 作者的头像,支持参数 $this->dynamics->avatar(32); $this->dynamics->avatar(32,'X','mm');
//$this->dynamics->avatar 也可以这样调用
$this->dynamics->authorName(); //作者的用户名
//$this->dynamics->authorName
$this->dynamics->authorId(); //作者id
//$this->dynamics->authorId
$this->dynamics->created(); //动态创建时间 支持参数 $this->dynamics->created("n\月j\日,Y H:i:s");
//$this->dynamics->created
$this->dynamics->modified(); // 动态更新时间
//$this->dynamics->modified
$this->dynamics->status(); // 动态状态,目前有publish和private
//$this->dynamics->status
$this->dynamics->url(); // 动态的链接
//$this->dynamics->url
$this->dynamics->content(); //动态内容,已markdown解析过后
//$this->dynamics->content
$this->dynamics->text(); //动态内容,没有经过markdown解析
//$this->dynamics->text
/**
* V1.7 后新增内容说明
*
* Q:为何有的仅返回retun,有的仅返回echo?
* A:因为更希望各位用deviceTag();。
* deviceTag();包含deviceOs();和deviceInfo();
*
* 如果需要更加个性化的解析,请在【动态主题】内使用agent();进行个性化的定制
*/
$this->dynamics->agent(); //输出该条动态的完整UA串
//$this->dynamics->agent
$this->dynamics->deviceOs(); //Windows macOS Linux etc.
//返回仅提供return
$this->dynamics->deviceTag(); //区分是否南博,且集合了deviceOs();和deviceInfo();的功能
//返回仅提供echo
$this->dynamics->deviceInfo(); //正则匹配手机型号(UA串里的,没有各大厂商的UA库),匹配不到,则自动引用deviceOs();
//返回仅提供return
?>
插件根目录下 的 page.php
这个博主调用Dynamics_Plugin::output()
时,会输出以下内容
<?php
/**
* 本页面是动态的分页面
* 这个博主调用 Dynamics_Plugin::output() 时,会输出以下内容
*/
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
?>
<?php while ($this->dynamics->next()) : ?>
<li id="<?php $this->dynamics->did() ?>>" class="dynamics_list">
<div class="dynamic-author" itemprop="creator" itemscope="" itemtype="http://schema.org/Person">
<span itemprop="image"><img class="avatar" src="<?php $this->dynamics->avatar() ?>"
alt="<?php $this->dynamics->authorName() ?>" width="32" height="32"></span>
<cite class="fn" itemprop="name"><?php $this->dynamics->authorName() ?></cite>
</div>
<div class="dynamic-meta">
<a href="<?php $this->dynamics->url() ?>">
<time itemprop="dynamicTime"><?php $this->dynamics->created() ?></time>
</a>
<span><?php $this->dynamics->deviceTag() ?></span>
</div>
<div class="dynamic-content" itemprop="commentText"><?php $this->dynamics->content() ?></div>
</li>
<?php endwhile; ?>
<?php $this->dynamics->navigator() ?>
上述是南博默认的。由于博主们都是自己的主题。各有各的喜爱。 可以对插件内的实现方法,自定义修改。 你觉得你的设计不错,也可以提交给 @权那他 。让权那他整理好设计发展。
你可以单独建一个文件夹并起名在动态的Github上PR你的主题
欢迎PR Github: https://github.com/krait-team/Dynamics-typecho/