开发人员Ghost入门

我使用过WordPress、Rails和其他方法来构建和部署网站。我发现,它被设计成一个简单的博客/发布平台,如果你想建立一个简单的以内容为中心的网站,它是一个很好的选择。这就是为什么我决定用它来开发和运行我的个人网站还有我的应用的登陆页面。

如果您像我一样——一个相当有能力的开发人员,不喜欢使用PHP,也不喜欢挖掘WordPress、Drupal和其他功能更强大的发布平台上可用的所有选项——那么Ghost是您应该考虑的一个选择。

为什么鬼?

首先,让我们谈谈你为什么我不想用幽灵。如果你想创建一个网络应用程序,电子商务平台,或者任何其他类型的网站,而不是专注于发布网络内容,那么Ghost可能不是最好的选择。Ghost只做一件事:它帮助你发布和管理你的内容。

它的核心只是一个博客平台。《Ghost》甚至没有现成的评论系统。听起来很疯狂,我知道,但我认为他们做了正确的决定。

有很多专门的评论系统(例如Disqus和Facebook Comments)。为什么要重新发明轮子?

(如果你想在你的ghost驱动的网站上评论功能,请检查该指南《初学者之鬼》)。此外,如果您希望能够自定义站点的外观和感觉,而不需要使用一些CSS和HTML,那么Ghost可能不适合您。在这种情况下,更好的方法可能是a网站建设者(例如Wix和Squarespace),它不需要编码经验,并且有一个用户界面来定制你的网站设计。

现在让我们来谈谈为什么你可能想要使用Ghost。简单性:因为Ghost不像其他内容管理平台那样尝试做那么多事情,所以Ghost可以专注于优化内容管理体验和创作体验。Ghost并不想成为一个放之四海而皆准的发行平台。

专为作家设计:毫无疑问。《Ghost》是为作家准备的。Ghost承诺你将“比以前写得更快更好”。2干净得很漂亮减价编辑器对于博客文章和页面,以及一个分屏创作界面,让你在写作时预览你的文章和页面。

Ghost的书写界面。"width=图片来自ghost.orgCustomization-friendly:知道HTML和CSS的人可以重新设计和定制预构建的Ghost主题。这是我喜欢它的主要原因。此外,创建自己的Ghost主题和页面模板不需要服务器端编程语言,因为Ghost使用车把

Handlebars是一个专门设计的页面模板系统。不多不少。与使用PHP或Ruby这两种通用编程语言相比,使用特定目的的工具似乎是一种更高效的创建主题和模板的方式。

Ghost支持内联HTML, CSS和JavaScript为那些时刻,你需要在您的站点的一些帖子和页面中有一些更自定义的东西。例如,我写了一个完整的数据可视化岗位在Ghost的编辑器中,使用大量额外的Javascript来渲染图形。效果很好。

在单个Ghost帖子中嵌入JavaScript小部件的示例。"width=在Ghost中为特定的页面和帖子实现JavaScript库和小部件很容易。

虚拟主机选项

  1. Ghost的托管服务:你可以让Ghost的创建者托管你的网站,每月的费用取决于你选择的服务计划。如果您不打算做太多的定制,或者如果您不想经历托管自己的网站的麻烦,这是值得考虑的。看到鬼定价页了解更多详情。
  2. 自托管鬼这就是我们要讨论的。Ghost是开源的。这意味着你可以下载Ghost并在自己的网络主机或网络服务器上自行托管它。

安装鬼

Ghost需要Node.js。Ghost支持将SQLite作为开箱即用的开发数据库,这意味着您可以真正地做一个NPM install && NPM start让您的Ghost开发环境启动并运行。与WordPress相比,这对我来说是一种全新的体验,WordPress需要你设置MySQL数据库和HTTP服务器,并支持PHP来运行安装脚本。

安装和运行Ghost有多种方法。也许你只是想在使用Ghost之前先试用一下,在这种情况下,你可能会选择先在你的个人电脑上安装它,这可能是一台Mac或Windows PC或Linux PC。或者也许你想把它安装在VPS(例如。

DigitalOcean)。这里是查看Ghost安装选项的好地方:Ghost入门.安装Ghost的一般过程如下:

  1. 安装Node.js和npm。npm自带默认安装的Node.js。
  2. 下载最新版本的Ghost。
  3. 在您希望站点所在的位置提取Ghost包的内容。
  4. 配置你的Ghost选项和设置。

相关:如何安装Node.js

主题鬼

鬼用哈佛商学院,一个用于Handlebars的视图引擎。这意味着Ghost主题有一堆hbs模板和部分来管理HTML将为每个页面生成的方式。例如,如果你去。/内容/主题/卡斯珀目录(默认的Ghost主题),您将看到如下文件page.hbsdefault.hbspost.hbs,以及其他一些人。

要学习如何从头开始开发Ghost主题,请阅读Ghost主题开发人员文档。如果你从一个预先构建的Ghost主题开始,你想自定义它,一般来说,这个过程只涉及HTML和CSS。

创建自定义模板

个人页面和帖子的定制和模板化是Ghost真正闪耀的领域。因为它使用了一个简单但功能强大的模板系统。

您可以快速地为一个页面创建完全不同的外观,而不会影响其他页面。到了建立GA的时候。今天的登陆页面,我想给它一个独特的设计,以及额外的HTML元标记搜索引擎优化和分享在Twitter和Facebook。这需要一些额外的工作,但并不多。

front-end.js是根据用户访问的URL来管理哪些部分将被加载的Ghost文件。在这里,你可以看到RSS提要、标签、作者等的路由。我对自定义页面所做的是添加规则来匹配特定的页面,并让它们呈现特定的模板。

这是我去GA的路线。今日登陆页面:

路由器。Get ('/ga-today', function(req, res, next) {res.render('ga-today');});

我想说的是:如果请求是/ ga-today,呈现ga-today.hbs模板.然后我创建了ga-today.hbs模板文件使用Handlebars的直观语法,和- bingo -我有一个自定义的页面设计。

部署鬼

一旦你的Ghost主题准备好了,是时候让你的网站上线了。如前所述,Ghost有许多可能的托管环境。

我的网站在Heroku.Ghost的配置存储在。/ config.js.有一个配置变量存储用于开发和生产的对象。

以下是我的生产配置(用于Heroku):

生产:{url: 'http://ryanbrink.com',邮件:{},//我不需要发送电子邮件fileStorage:假的,//不要使用Heroku的临时存储数据库:{客户端:'postgres',连接:{//使用环境变量。//不要将这些存储在你的repo中!主持人:process.env。POSTGRES_HOST, user: process.envPOSTGRES_USER,密码:process.env。POSTGRES_PASSWORD,数据库:process.env。POSTGRES_DATABASE,端口:'5432'},调试:false},服务器:{host: '0.0.0.0',端口:process.env.PORT}},

数据库配置只是通知Ghost使用一组Heroku环境变量,这就是我避免在站点的代码存储库中存储实际数据库凭据的方法。然后我使用heroku配置:设置命令,用所需的环境变量设置我的应用程序。

一旦一切准备就绪,我只需按下我的Heroku遥控器使用:

git推

很快,我的Ghost网站就建立起来了。

进一步的阅读

脚注

  1. 鬼的标语,这可以找到在其主页,是“鬼是一个。简单的,强大的发布平台”。此外,在Ghost 's关于页面上写着“Ghost是一个平台”专注于一件事:出版.”
  2. 引用的描述来自Ghost的主页。

相关内容

瑞安边缘软件开发人员在哪里LiveQoS他是一名移动/Web开发人员、企业家和音乐家。他住在加拿大。他的最新项目是GA。今天-谷歌分析小部件为iOS和OS X。

看望他的个人网站和他保持联系推特GitHubDribbble

WebFX职业

加入我们的使命,为全球各地的企业提供行业领先的数字营销服务-同时建立您的个人知识并成长为个人。

我们招聘!
查看30多个职位空缺!