介绍

南博v1.6开始,写入了我的动态功能。
当前:我的动态版本 1.3

我的动态 不依赖评论框架,而是单独建表。

什么是我的动态呢?
像QQ一样,可以在南博发布说说,加上使用我的动态插件就可以在博客需要的地方,显示我的动态即说说。
插件:https://github.com/kraity/Dynamics

已支持单个动态独立一个页面
已支持动态主题(想博客一样可以使用和切换主题)
动态默认主题里面有样板,各位博友按自己主题可以改写

更新日志

2020.07.22 更新v1.3

  • 后台管理优化
  • 支持了动态的主题,类似博客主题
  • 注意:升级方式为,先禁用删除原有文件,再上传后,然后启用

2020.05.31 更新v1.2

  • 后台管理开放
  • 优化调用方式
  • 注意:升级方式为,先禁用,再上传后,然后启用

2020.03.31 更新v1.1

  • 新增分页
  • 新增支持 markdown
  • 新增后台显示动态列表
  • 注意:升级方式为,先禁用再上传然后启用

预览展示

我也使用了我的动态
快看左边一栏,是啥,是不是我的动态
或者 https://krait.cn/dynamics.html
点击预览

尚寂新 开发的主题AlphaPure 点击预览

森木志 二次开发的主题SENMU 点击预览

问题
由于不同的博客使用不同的主题,所以我的动态插件,可以自定义布局。自己可以去魔改、美化。

那么我们开始吧。

准备

  • 下载软件 南博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 echo Dynamics_Plugin::output(); ?>

进阶使用

注意在v1.3及其开始
动态支持了主题
你会发现Dynamics目录下有文件夹themes

是的themes文件夹里是放主题的,默认主题是default
你也可以开发自己的主题,比如
尚寂新 开发的主题AlphaPure 点击预览

森木志 二次开发的主题SENMU 点击预览

然后在Dynamics设置里面选择你想用的主题,就可以启用了。

主题default有以下文件

  1. index.php 动态首页,htps://domain.com/dynamics/ ,比如 https://shangjixin.com/dynamics/
  2. post.php (单个动态页面)
  3. page.php (调用 Dynamics_Plugin::output() 时,会输出的内容)
  4. 404.php (动态不存在页面)

$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

?>

主题defaultpage.php
这个博主调用 Dynamics_Plugin::output() 时,会输出以下内容

<?php
/**
 * 本页面是动态的分页面
 * 这个博主调用 Dynamics_Plugin::output() 时,会输出以下内容
 */
if (!defined('__TYPECHO_ROOT_DIR__')) exit;

?>

    <link rel="stylesheet" href="<?php Dynamics_Plugin::themeDirUrl("dynamic.css?version=1.3") ?>"/>

<?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>
        </div>
        <div class="dynamic-content" itemprop="commentText"><?php $this->dynamics->content() ?></div>
    </li>
<?php endwhile; ?>

<?php $this->dynamics->navigator() ?>

自定义

上述是南博默认的。由于博主们都是自己的主题。各有各的喜爱。
可以对插件内的实现方法,自定义修改。
你觉得你的设计不错,也可以提交给 @权那他 。让权那他整理好设计发展。

你可以单独建一个文件夹并起名在动态的Github上PR你的主题

PR

欢迎PR
Github: https://github.com/kraity/Dynamics