从标记文件到用作博客后端的数据库条目的转换

aberdeen的Python项目详细描述


用于获取标记文件目录和 生成/存储博客的后端。

目标是实现简单文本文件的快速编辑并将其发布到 通过推送到git分支的数据库(默认为“publish”)。

运行时,将从找到的每个文件创建一个python json对象。有一个 从文件中提取的标记头,指示文章标题、发布日期, 作者、标签等。文章的内容自动转换为html 并添加到路径中的最终对象。

结果对象(当前)被发送到MongoDB会话并保存到 指定的集合。

这个过程严格来说是一个“模型”管理系统,任何视图和控制器 必须由您建立/管理。

(名字来自“阿伯丁”鱼钩)

要求

安装

post-updateaberdeen.py和配置文件复制到目录 hooks在服务器上的git存储库中。将配置文件编辑为 规格。上传到pypi时会更新。

服务器设置

在服务器上,创建一个裸git存储库,类似于“blog\u data”。这个 只需保存所有标记(或者其他类型)文件。创建 “publish”分支除了另一个“working”分支(可能是“master”)之外。添加 更新后的webhook和配置如安装中所述。克隆 你工作电脑的回购协议。

用法

此程序要求在每个标记文件中都有一个键值对头 具有写博客所需的典型元素

---
title : Post Title
date  : Mar 15, 2015
tags  : Example
        Feeling Happy
        XYZ
author: Me
---

# My New Post
This is a great post! *All* my markdown works

本例中的“tags”属性将生成字符串列表;有关更多信息 元数据头如何工作的信息,read this

Aberdeen从“date”属性创建一个python“time”对象它会尝试的 对约会的风格要有头脑,有几种方法可以解释 字符串中的日期时间,但必须以某种形式接受 通过strptime python“time”库的函数第一种工作方式会被拯救,所以 奖励一致性如果你关心的话,建议你把时间字段 否则,它将默认为确定日期的午夜。

也许这可以在配置文件中指定?(尚未实现。)

这种信息非常适合存储在nosql数据库中,因此mongodb是 当前支持的唯一数据库降价的内容被转换 添加到HTML并作为“HTML内容”字段添加到结果中。对象被排序 就日期而言并写入数据库上一个表或集合 将删除并添加新项。(*不保证项目将 以同样的顺序)

其他事项

请记住,这没有任何HTML结构或博客的视图支持这个 将模型的一种形式(标记文件)严格转换为另一种形式(数据库 条目)。视图/控制器完全取决于您的检索和 显示帖子。

始终假设数据库集合/表将在 推动。其思想是数据库反映文件,因此更改文件将 替换数据库中的该条目。建议不要使用固定链接 帖子。建议使用日期+标题作为唯一标识符。或者, 如果需要,可以在元数据字段中存储唯一的post id 保证事情会被解决(但这取决于你跟踪和 它们的独特性)。

许可证

阿帕奇2.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用php调用java web服务时无法获取输出   java Netbeans:安装IMlet时出错。。。。仿真器错误   初始化期间Eclipse Juno SR 2中的java堆栈溢出   java在3d中寻找两个任意立方体的交集   代码中显示java“org.openqa.selenium.WebDriverException”错误   java使用AtomicInteger作为可变整数的替代品是一种好的做法吗?   当以编程方式设置背景颜色时,java版面在更新后会自动复制   java将字符串拆分为一个带有数字数据的字符串和另一个带有非数字数据的字符串   带有SSL协议的java AsyncHttpClient   C++服务器HTTN到java NtoHS客户端转换   java内存分配是基于引用类还是实例类?   java使用ProjectLombok安全吗?   grails“java版本”在命令提示符下不工作   java无法使用axis2实例化类型ADBDataSource   在Play Framework 2中进行多文件上传的java示例   java如何将二进制补码字符串转换为负十进制数?   windows 7在Java中获取不正确的操作系统名称   java如何禁用p:commandButton的enter键?   java如何从main方法加载servlet   java如何从imageView获取二进制位图