itranswarp.js, 包括博客维基讨论等的完整功能 CMS 由Nodejs供电

分享于 

6分钟阅读

GitHub

  繁體 雙語
Full-featured CMS including blog, wiki, discussion, etc. powered by Nodejs.
  • 源代码名称:itranswarp.js
  • 源代码网址:http://www.github.com/michaelliao/itranswarp.js
  • itranswarp.js源代码文档
  • itranswarp.js源代码下载
  • Git URL:
    git://www.github.com/michaelliao/itranswarp.js.git
    Git Clone代码到本地:
    git clone http://www.github.com/michaelliao/itranswarp.js
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/michaelliao/itranswarp.js
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    itranswarp.js

    icon

    包含博客。维基。讨论和搜索引擎的nodejs网站。

    Build Status

    • 基于koa2的ES7异步/等待
    • OAuth2集成( 微博客,QQ,facebook,等等 )
    • SEO支持
    • REST api
    • 使用uikit2定制 css
    • 完全测试( 使用 mocha/chain )

    环境

    Nodejs:> = 8.x

    MySQL: 5.6 ~ 5.7

    Memcache

    Nginx

    配置

    你应该将 config_default.js 复制到 config_<NODE_ENV>.js,并重写所需的某些设置。

    例如如果 NODE_ENV=production,则需要创建 config_production.js:

    
    $ cp www/config_default.js www/config_production.js
    
    
    
    

    你可以安全删除任何未更改的设置。

    安装软件包

    运行 npm install 以安装所有必需的软件包:

     
    $ npm install
    
    
    
     

    初始化数据库

    运行 node schema> init_db.sql 生成管理员和密码的初始模式和电子邮件。

    你将在当前目录中获取 init_db.sql 文件。 运行这里SQL脚本:

    
    $ mysql -u root -p <init_db.sql
    
    
    
    

    注:运行这里SQL文件将删除所有现有数据。

    测试

    iTranswarp.js 已经完全测试要运行测试,请确保:

    • 在本地主机中运行MySQL并将 root 密码设置为 password
    • 在本地主机中运行 Memcache。

    然后运行:

     
    $ mocha
    
    
    
     

    运行测试之前,在 MySQL test 数据库中创建模式。

    运行

     
    $ node start.js
    
    
    
     

    你应该能够在浏览器中看到地址为 http://localhost:2017/的主页。

    如果你想登录管理控制台,请转到 http://localhost:2017/manage/signin 使用你在运行 node schema 时输入的电子邮件和密码登录。

    变更日志

    2.1 - 14 2017年月

    • wiki的可折叠树视图
    • 广告支持

    数据库架构更新:

    
    DROP TABLE `randoms`;
    
    
    
    CREATE TABLE `randoms` (
    
    
     `id` varchar(50) NOT NULL,
    
    
     `name` varchar(50) NOT NULL,
    
    
     `value` varchar(50) NOT NULL,
    
    
     `expired_at` bigint(20) NOT NULL,
    
    
     `created_at` bigint(20) NOT NULL,
    
    
     `updated_at` bigint(20) NOT NULL,
    
    
     `version` bigint(20) NOT NULL,
    
    
     PRIMARY KEY (`id`),
    
    
     UNIQUE KEY `uni_rnd_value` (`value`)
    
    
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    
    
    CREATE TABLE `adslots` (
    
    
     `id` varchar(50) NOT NULL,
    
    
     `alias` varchar(50) NOT NULL,
    
    
     `name` varchar(100) NOT NULL,
    
    
     `description` varchar(1000) NOT NULL,
    
    
     `price` bigint(20) NOT NULL,
    
    
     `width` bigint(20) NOT NULL,
    
    
     `height` bigint(20) NOT NULL,
    
    
     `num_slots` bigint(20) NOT NULL,
    
    
     `num_auto_fill` bigint(20) NOT NULL,
    
    
     `auto_fill` text NOT NULL,
    
    
     `created_at` bigint(20) NOT NULL,
    
    
     `updated_at` bigint(20) NOT NULL,
    
    
     `version` bigint(20) NOT NULL,
    
    
     PRIMARY KEY (`id`),
    
    
     UNIQUE KEY `uni_adslot_alias` (`alias`)
    
    
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    
    
    CREATE TABLE `adperiods` (
    
    
     `id` varchar(50) NOT NULL,
    
    
     `user_id` varchar(50) NOT NULL,
    
    
     `adslot_id` varchar(50) NOT NULL,
    
    
     `display_order` bigint(20) NOT NULL,
    
    
     `start_at` varchar(10) NOT NULL,
    
    
     `end_at` varchar(10) NOT NULL,
    
    
     `created_at` bigint(20) NOT NULL,
    
    
     `updated_at` bigint(20) NOT NULL,
    
    
     `version` bigint(20) NOT NULL,
    
    
     PRIMARY KEY (`id`)
    
    
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    
    
    CREATE TABLE `admaterials` (
    
    
     `id` varchar(50) NOT NULL,
    
    
     `user_id` varchar(50) NOT NULL,
    
    
     `adperiod_id` varchar(50) NOT NULL,
    
    
     `cover_id` varchar(50) NOT NULL,
    
    
     `weight` bigint(20) NOT NULL,
    
    
     `start_at` varchar(10) NOT NULL,
    
    
     `end_at` varchar(10) NOT NULL,
    
    
     `geo` varchar(100) NOT NULL,
    
    
     `keywords` varchar(100) NOT NULL,
    
    
     `url` varchar(1000) NOT NULL,
    
    
     `created_at` bigint(20) NOT NULL,
    
    
     `updated_at` bigint(20) NOT NULL,
    
    
     `version` bigint(20) NOT NULL,
    
    
     PRIMARY KEY (`id`)
    
    
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    
    
    

    2.0 - 15 2017年月

    • 完全异步/等待支持
    • Markdown 插件支持
    • 基于 koa 2.x

    1.11 - 21 2015年月

    • 支持文章,维基,讨论。
    • 基于 koa 1.x

    POW  feature  blog  nodejs  cms  维基  
    相关文章