本系列有五篇:分别是
【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面
【二】jekyll 的使用 :主要是jekyll的配置
【三】Markdown+jekyll在Gitpages上写blog的常用操作 :主要Markdown的使用
目录:
一、静态博客:
二、关于hexo和jekyll
三、Hero的安装
一、静态博客:
来源:知乎
注:marboo 和 Prose · A Content Editor for GitHub 第一次知道。
※FarBox
国产,对中文支持好。类似于国外的 Scriptogr.am 和 Calepin(类似还有很多,但这两个是主流,calepin 是 dropbox 用作博客的始祖),利用 dropbox 做仓库储存文章,Markdown 写作。一键安装,不需要懂技术,使用门槛低。可以生成静态网站(这点类似 site44)和博客。作为个人博客是个不错的选择,不用管数据库什么的,专注写作。但如果要做动态网站,还是用 WordPress 或者 site44 的付费版(如果你一定要用 dropbox 的话)。
收费参考:FarBox的服务与价格。对于个人用户可以说近乎免费。暂时未开通企业服务也说明它现在还不适合做企业网站。不过想想 WP 虽然是免费的,但是还得买空间,对比之下 dropbox 的免费2G和 Farbox 的“五年计划”还是较为划算的。
※Jekyll • Simple, blog-aware, static sites
完全免费,可以托管在 Github 上。相当于技术版的 WP 地位,插件多,教程多。自定义程度高,世界中的程序员们都爱用,便于与他们沟通交流,结交朋友,学习知识。但是需要一定的技术知识,虽然现在中文教程很多,照做应该可以顺利搭建,但步骤还是稍显繁琐,特别对于不懂技术的人(比如我,纠结了很久 git 是什么),完全是一头雾水。
另外需要注意的是,用 Github Pages 建博客除了在技术上适合程序员,在内容上也更偏向分享程序界的知识。如果只是生活叨叨,那还是算了吧。参考使用 GitHub Pages 来做博客是否道德?中@钟子豪的回答,不要漏看spread your ideas 这句话。
※Octopress
据说是 Jekyll 的简化版,比 Jekyll 易上手。免费,托管 Github,教程不少。缺点同 Jekyll,另外据说文章一多非常慢。
※Ghost - Just a blogging platform
因为放出话来要代替 WP 成为博客界的龙头老大而闹得沸沸扬扬的新平台。发起者是 WP 的(前?)员工,基本可以等同于年轻时的 WP(现在的老 WP 已然是一副 CMS 的样子了)。融合了些现代技术和思维,比如 Markdown 写作。和 WP 一样免费开源,需要买空间托管。缺点大概就是没什么特别的地方吧。
※Marboo - Noting with Freedom
看了题目第一次知道,去官网看了一下,发现是个编辑器,可以写很多语言: Markdown、HTML还有程序。对于前后端都涉猎的人来说应该是个不错的编辑器。
更多请参考README
※Hexo - Node.js blog framework
*产。用 Node.js 搭建的博客平台,速度快,免费,可以搭建在 Github 上。操作比 Jekyll 简单,命令少,易于记忆。 安装好像也简单一点。
※Medium
一个完整社区,大家在里面写写读读。专注于写作和阅读。国内有类似的社区:简书和十五言 - 每个人都在创造。
※Logdown, blog things with Markdown
在线。分免费版和付费版,具体差别请看Plans & Pricing « Logdown。注册后第一个月内是付费版试用,用得爽了可以选择继续付费使用,或者切换为免费版。免费版只有一个静态页面,不能绑定域名。Markdown 写作,图片拖曳上传,免费版30张,付费版10G空间。
※Prose · A Content Editor for GitHub
在线编辑器,区别于 Jekyll、Octopress 以及 Hexo ,它提供一个建立免费 CMS 网站的环境(好吧,我承认我在翻译介绍页面)。
除了 Scriptogr.am 和 Calepin,另外补充个 DocPad - Streamlined Web Development,看了官方文件,英语不好,后端不懂,所以不太明白。但是看见基于 node.js 和 express.js,是不是和 Hexo 有点类似呢?求其他大神补充吧。
二、关于hexo和jekyll
现在人气比较高的的静态博客系统有Jekyll,Hexo,Octopress等。Octopress是在Jekyll上的一个框架,网上褒贬不一,而且意见有点极端,说它好的人爱到简直是没了它不行,说它不好的人贬地一无是处。最终我试用了一下Jekyll跟Hexo。
hexo和jekyll一样都是个静态网站生成工具,hexo是一个*小伙使用nodejs开发的,jekyll则是用ruby开发,github内置了jekyll,可以直接将jekyll相关的文件提交到github,github会自动给你生成静态页面。
hexo由于采用nodejs开发的,因此需要在本地生成静态页面后在提交到github,不过hexo内置了hexo deploy
命令,提交博客也是挺方便的。
之前使用jekyll搭建的个人博客,由于jekyll对分页和文章摘要支持的不是很好,了解一下hexo这个新东西,感觉其页面生成速度还是蛮不错的,对分页和文章摘要也支持的挺好,主要是小清新的light主题吸引了我,于是乎,马上有种把博客迁移到hexo的念头。
1、Jekyll应该是现在最火的静态博客系统了,从Github Pages支持Jekyll上就能看出来。所谓Github Page支持Jekyll,并不是说Github Page上面可以放Jekyll的博客而不能放Hexo的博客,而是说Github Page支持直接上传Jekyll的源文件,由Github Pages的服务器生成静态页面,无需在本地生成好后再上传。这样就能利用Github强大的版本管理功能维护博客内容、皮肤、设置之类的东西,而别人clone下来的也不再只是博客的HTML文件,而是包括皮肤、设置、文章等源文件。从开源的角度讲,更加方便了别人“拿来主义”你的东西,当然也方便了你“拿来主义”别人的东西。我现在用到的皮肤、搜索功能就是从别人那里clone下来的。
关于Jekyll的使用教程网上很多,官网的文档其实也很详细,详细请参考以下博文:
【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面
【二】jekyll 的使用 :主要是jekyll的配置
【三】Markdown+jekyll在Gitpages上写blog的常用操作 :主要Markdown的使用
Jekyll功能很强大,但是用起来比较麻烦,如果懂一点HTML、JS的语法,用起来会更加得心应手。在Jekyll中,修改、使用皮肤的方式还是属于比较原始,在基本的框架下,没有办法同时保有多套皮肤、并方便的切换皮肤。另外,个人感觉Jekyll的皮肤相对于Hexo来说,普遍功能都简单一些。估计也就是因为Jekyll易用性的不足,才会有很多基于Jekyll的框架,比如OctoPress。
2、Hexo是一个*人写的基于Node.JS的静态博客框架。据说他最初之所以要写Hexo,是因为受不了OctoPress的生成速度,两者的页面生成速度据说是百倍级的差距。
相比于Jekyll,Hexo就更像是一套博客系统了,在设计之初就实现了文章与皮肤的分离。在Hexo里面有专门的皮肤目录,把皮肤放进去之后,只需要在_config.yml文件中写上theme: xxx 就能指定皮肤。易用性带来的是灵活性的不足,在Hexo中,只有皮肤相关的文件能执行函数,包含文章内容的markdown文件是无法执行函数的。
如果想在一篇文章中插入另外一篇文章的链接,直接插入那篇文章的固定链接当然可以,但是如果被应用文章的固定链接变了,添加的链接就失效了。为此,Jekyll提供了一种方法,就是在文章中调用post_url函数,{% post_url /subdir/2010-07-21-name-of-post %}。在Hexo中,想实现类似的功能就需要添加插件了。
引用知乎里一个人的说法,静态博客不是为 hacker 做的,是为”萨比西”的人做的。相比之下,Jekyll比Hexo更加”萨比西”。
三、Hero的安装
1、安装:参考官网文档
(1)安裝需求
安裝 Hexo 相當簡單;然而,在安裝前您必須先檢查下列您的電腦是否已經安裝下列軟體:
若您的電腦已經安裝上述的必備軟體,那麼恭喜您!只需要透過 npm 即可完成 Hexo 的安裝。
$ sudo npm install -g hexo-cli |
如果您的電腦尚未安裝必備軟體的話,請根據下列的安裝指示來完成安裝。
(2)安裝 Git
- Windows:下載並安裝 git.
- Mac:使用 Homebrew, MacPorts 或 安裝程式 安裝。
- Linux (Ubuntu, Debian):
sudo apt-get install git-core
- Linux (Fedora, Red Hat, CentOS):
sudo yum install git-core
(3)安裝 Node.js
安裝 Node.js 的最佳方式是透過 nvm。
cURL:
$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh |
Wget:
$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh |
一旦安裝完成,重啟終端機並執行下列指令以安裝 Node.js。
$ nvm install 4 |
或者您也可以下載 安裝程式 來安裝。
【Ubuntu用户】在Ubuntu上,可以通过apt-get 安装
sudo apt-get install nodejs
(3)安装npm
npm是node.js的一个包管理器,因为Hero是Note.js做的,所以需要通过这个包管理器下载。
貌似官网上说安装了Node.js就可以直接使用npm程序来安装包,但是我在Ubuntu14.04上测试好像要再手动安装下npm,如下:
(4)安装hexo
一旦所有的必備軟體都安裝完畢後,即可透過 npm 安裝 Hexo。
$ sudo npm install -g hexo-cli |
(5)测试是否安装成功:
输入hexo -v ,如果如下显示,表明正常
如果出现异常,请参考最后面的【异常1】
四、Hexo的配置和部署
1、一旦 Hexo 完成後,請執行下列指令,Hexo 會在指定資料夾中建立所有您需要的檔案。
$ hexo init <folder> |
建立完成後,專案資料夾會有下列檔案:
. |
_config.yml:跟Jekyll一样,hexo的配置文件也是根目录下的_config.yml
,可配置内容相当多,可以在官方文档Configuration里查看详细解释。
package.json
應用程式資料。EJS, Stylus 和 Markdown renderer 已預設安裝,您可以稍後移除。
package.json
{ |
scaffolds
鷹架 資料夾。當您建立新文章時,Hexo 會根據 scaffold 來建立檔案。
scripts
腳本 資料夾。腳本是擴充 Hexo 的最簡易方式,在此資料夾內的 JavaScript 檔案會被自動執行。
source
原始檔案資料夾是放置內容的地方。檔案 / 資料夾名稱開頭為 _
(底線) 和隱藏檔案會被忽略,除了_posts
資料夾以外。Markdown 和 HTML 檔案會被處理並放到 public
資料夾,而其他檔案會被拷貝過去。
themes
主題 資料夾。Hexo 會根據主題來產生靜態檔案。
更多命令:详细请查看【官方命令文档】
init
$ hexo init [folder] |
建立一個新的網站。如果沒有設定 folder
的話,Hexo 會在目前的資料夾建立網站。
new
$ hexo new [layout] <title> |
建立一篇新的文章。如果沒有設定 layout
的話,則會使用 _config.yml 中的 default_layout
設定代替。如果標題包含空格的話,請使用引號括起來。
generate
$ hexo generate |
產生靜態檔案。
選項 | 描述 |
---|---|
-d , --deploy
|
產生完成即部署網站 |
-w , --watch
|
監看檔案變更 |
publish
$ hexo publish [layout] <filename> |
發表草稿。
server
$ hexo server |
啟動伺服器。
選項 | 描述 |
---|---|
-p , --port
|
覆蓋連接埠設定 |
-s , --static
|
只使用靜態檔案 |
-l , --log
|
啟動記錄器,或覆蓋記錄格式 |
deploy
$ hexo deploy |
部署網站。
選項 | 描述 |
---|---|
-g , --generate
|
部署網站前先產生靜態檔案 |
render
$ hexo render <file> ... |
渲染檔案。
選項 | 描述 |
---|---|
-o , --output
|
輸出位置 |
migrate
$ hexo migrate <type> |
從其他系統 轉移內容。
clean
$ hexo clean |
清除快取檔案 (db.json
) 和已產生的靜態檔案 (public
)。
list
$ hexo list <type> |
列出網站資料。
version
$ hexo version |
顯示版本資訊。
選項
安全模式
$ hexo --safe |
在安全模式下,不會載入外掛和腳本。當您在安裝新外掛後遭遇問題時,可以嘗試以安全模式重新執行。
除錯模式
$ hexo --debug |
在終端機中顯示除錯訊息並儲存記錄檔到 debug.log
。當您碰到問題時,試著以除錯模式重新執行一次,並把除錯訊息貼到 GitHub。
安靜模式
$ hexo --silent |
隱藏終端機的訊息。
自定配置檔的路徑
$ hexo --config custom.yml |
自訂配置檔的路徑而不是使用 _config.yml
。
顯示草稿
$ hexo --draft |
顯示 source/_drafts
資料夾中的草稿文章。
自定 CWD
$ hexo --cwd /path/to/cwd |
自定目前工作目錄(Current working directory)的路徑。
2、写作:参考【官方】
接下來,我們要在網誌中建立第一篇新文章,您可以直接從現有的範例文章「Hello World」改寫,但我們更建議您學習 new
指令。
$ hexo new [layout] <title> |
您可以在指令中指定文章的佈局(layout),預設為 post
,您可以透過修改 _config.yml
中的default_layout
設定來指定預設佈局。
我将新建文章的名字格式改为和jekyll的类似,便于按照时间排序:(在_config.yml中修改)
new_post_name: :year-:month-:day-:title.md
Disqus的名字必须要正确,不然是无法拿到你的评论的,可以登录disqus查看你的名称。
3、修改主题
【强烈推荐】NexT主题,非常漂亮。
hexo默认主题不是特别好看,不过Themes里面列出了相当多不错的主题,这里我选择了alberta,然后对其进行了进一步的简化。
主题的安装、使用简单的不能再简单了,这里不再啰嗦,主要写一下我对主题的删减、修改部分吧:
- 删去开始部分的图片(加载起来浪费时间)
- 删掉页面底部的版权说明(这玩意儿没人看吧)
- 删掉很炫的fancybox(这么炫,我不敢用)
- 去掉分享文章的链接(又不是鸡汤文,没人会分享的)
- 部署国内CND(jquery和google字体…丧心病狂!)
- 修改了blockquote,code,table的样式。
修改后的效果如图:
你可以在这里fork哦。前面说过我不是很会前端的Css、JavaScript,但是仍然能对Theme进行删减,说明Theme这块可读性是多么的好,所以你可以放心去定制自己的Theme吧。
顺便提一下,360的CDN不错,算是做了一件好事啊!
4、强大的插件
1、官方插件:https://hexo.io/plugins/
之前用jekyll博客系统时,为了实现订阅功能,用google找到一段“神奇”的代码,可以生成feed.xml页面。但是要添加订阅,必须输入blog.com/feed.xml,只输入主页地址blog.com是不行的。然后困扰了许久,才找到RSS Auto-discovery这篇文章,成功解决问题。
我只是想实现订阅功能而已,jekyll却逼着我了解了许多RSS协议的内容,好吧,谁让自己不是全栈工程师呢。而hexo对我这种新手都很友好,我要实现订阅,只需要使用hexo-generator-feed插件即可,我才懒得去了解你怎么实现订阅呢。
插件的安装卸载一条命令就能搞定,详细的插件列表可以看Plugins。
不过在这里被坑了一次,文档中并没有说EJS, Stylus和Markdown renderer
被移出核心模块,所以按照文档方法安装hexo后,根本不能够生成静态文件,后来看到Issue 620才知道怎么回事。
所以提醒一下,你需要手动安装EJS, Stylus和Markdown renderer:
$ npm install hexo-renderer-ejs --save
$ npm install hexo-renderer-stylus --save
$ npm install hexo-renderer-marked --save
对了,还有Tag Plugins,可以允许你在博客里面引用其他站点的内容。比如要引用jsFiddle中的代码片段,只需要 {% jsfiddle shorttag [tabs] [skin] [width] [height] %},或者是用{% gist gist_id [filename] %} 引入gist中的内容。
2、Hexo上使用MathJax来实现数学公式的表达——Hexo MathJax插件
【方法一】参考官方文档——数学公式
NexT 借助于 MathJax 来显示数学公式,此选项默认关闭。
编辑 主题配置文件(theme/next/_config.yml),将 mathjax
设定为 true
即可。
# MathJax Support
mathjax:ture
ProTip: 使用七牛 CDN 来加速 MathJax 脚本的加载
【方法二】
参考:
原生的Hexo是不支持数学公式的显示的,但听说过Latex所以在网上搜教程来着,大部分搜到的渲染公式的方法都分为两个步骤:
- 在theme的header中插入对MathJax CDN script的引用,并配置inline math;
- 在文章中用inline math插入公式。
- 但其中似乎存在两个缺点:
- 需要人肉进行的工作太多;
- 遇到特殊符号需要人肉escape,否则会被markdown parser吃掉。
具体可参考【【三】用Markdown写blog的常用操作——>公式】
我们这里直接引用了CATX开发的一款插件来实现这个功能。
安装与初始化
$ npm install hexo-math --save
在blog文件夹中执行:
$ hexo math install
在_config.yml中添加:
plugins:
- hexo-math
部署完之后,相关的ejs等文件就会自动生成在你的theme相应的文件夹里了。
使用
简单的公式:
Simple inline $a = b + c$.
效果:
Simple inline a=b+c'>a=b+c.
复杂一点的独立公式:
$$\frac{\partial u}{\partial t}
= h^2 \left( \frac{\partial^2 u}{\partial x^2} +
\frac{\partial^2 u}{\partial y^2} +
\frac{\partial^2 u}{\partial z^2}\right)$$
效果:
$\cos 2\theta = \cos^2 \theta - \sin^2 \theta = 2 \cos^2 \theta - 1$
效果:
最后来个牛逼的吧,薛定谔方程,大学物理考试貌似还复习过这个公式,虽然现在已经记不清是什么意思来着了:
$$ i\hbar\frac{\partial \psi}{\partial t}
= \frac{-\hbar^2}{2m} \left(
\frac{\partial^2}{\partial x^2}
+ \frac{\partial^2}{\partial y^2}
+ \frac{\partial^2}{\partial z^2}
\right) \psi + V \psi.$$
注意
对了,在书写的过程中碰到了几个头疼的问题在这里记录一下,防止以后犯错:
Markdown会将一些标记给编译掉,所以在打{时不能知只打
\{
,需要再加一个斜线来编译,即\\{
。因为\{
在markdown编译的时候成了{
,然后mathjax再编译就……一定记着编译过程有两次:第一次markdown,第二次mathjax。编写带有下标的公式时要在下划线前加上\,比如
x_i
应该写成x_i。数学公式属于符号后面应该有个空格:
x_i\in C
。- 写行间公式时,注意换行是四个斜杠(即\\\\),打两个(即\\)的话可能解析出错。
有关MathJax语法的教程网上特别多就不一一列举了,搜了一下可以参考《MathJax使用LaTeX语法编写数学公式教程》。最后,感觉没学过编译原理这门课有点遗憾,感谢师傅Willzhang在我头疼过程中的指点。
5、开始优雅地写博客吧
可以用hexo new "blog_name"
来新建一篇文章,文章藏在source/_posts
里面。我们可以在scaffolds
里面设置生成新博客的模板,比如文章(layout: post)的模板post.md
可以改为如下内容:
title: 更换博客系统——从jekyll到hexo
date: 1417276800000tags:
category:
-–
这里文章有两种layout,如下:
Layout | Destination |
---|---|
post(Default) | source/_posts |
page | source |
post用来放文章,page可以用来放一些比如“关于我”,“友情链接”,“404页面”之类的页面。GitHub Pages 自定义404页面非常容易,直接在根目录下创建自己的404.html就可以。但是自定义404页面仅对绑定*域名的项目才起作用,GitHub默认分配的二级域名是不起作用的,使用hexo server在本机调试也是不起作用的。
目前有如下几个公益404接入地址,我选择了腾讯的。404页面,每个人可以做的更多。
只需要在source目录添加404.html
文件即可,文件内容为:
layout: false
---
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>宝贝,公益404带你们回家</title>
</head>
<body>
<script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8"></script>
</body>
</html>
一定要设置layout:false
(还有三个短横线),不然会被hexo解析。
写完之后,可以用hexo generate
生成静态文件,然后用hexo server
运行本地服务器,查看效果。如果发现有问题,在md文件改了之后,刷新页面就可以看到更改的效果了(是不是比jekyll强大啊)。
更多用hexo写文章的内容可以看官方文档:Create a New Post。
自己之前写了十几篇文章,只需要将开头部分稍作改动即可直接迁移到hexo中,文章数目比较少,所以就手动更改文章头了。
hexo中还提供了其他的命令,可以看Commands。
6、佈署:官方文档
Hexo 提供了快速方便的一鍵佈署功能,讓您只需一個指令就能將網站佈署到伺服器上。
$ hexo deploy |
在開始之前,您必須先在 _config.yml
中修改設定,一個正確的部署設定中至少要有 type
欄位,例如:
deploy: |
您可同時使用多個 deployer,Hexo 會依照順序執行每個 deployer。
deploy: |
Git
$ npm install hexo-deployer-git --save |
修改設定。
deploy: |
選項 | 描述 |
---|---|
repo |
儲存庫(Repository)網址,特别注意是SSH的地址不是Http的 |
branch |
分支名稱。如果您使用的是 GitHub 或 GitCafe 的話,程式會嘗試自動偵測。 |
message |
自定提交訊息 (預設是 Site updated: {{ now("YYYY-MM-DD HH:mm:ss") }} ) |
【注意】hexo使用ssh部署,所以首先要确定已经安装和配置好ssh与git的链接,不然部署会出现授权问题,详细请参考【git配置ssh(github)】
repo的地址的ssh 的地址也要注意是SSH的,可以在github上复制
输入hexo d 或者hexo deploy,会自动生成静态文件然后进行部署
成功。。。。通过github page访问。。
7、迁移Disqus评论
hexo生成的的文章url中时间格式为/2013/11/22/
,而之前博客的url中时间为2013-11-22
,导致之前文章的评论就消失了。
好在Disqus允许我们迁移博客评论,具体方法可以看Help: Migration Tools。原理其实很简单,Disqus评论默认将文章url作为标识符,每个url对应该文章的评论,迁移时我们只需要建立起新旧文章地址的对应关系即可。
8、绑定域名
改了博客界面之后,顺便注册了一个域名,绑定github博客中。你可以在free domains域名免费注册里选择自己喜欢的域名,然后申请(免费)。申请成功之后,添加两条域名解析A记录,如下图:
然后可以用dig
命令(当然也可以用nslookup)验证域名记录是否生效:
$ dig zhaofei.tk +nostats +nocomments +nocmd
; <<>> DiG 9.8.3-P1 <<>> zhaofei.tk +nostats +nocomments +nocmd
;; global options: +cmd
;zhaofei.tk. IN A
zhaofei.tk. 14439 IN A 192.30.252.153
zhaofei.tk. 14439 IN A 192.30.252.154
然后在自己的博客仓库根目录新建名为CANME
的文件,里面内容为你的域名地址。
如果没有绑定成功,可以看github的帮助文档:My custom domain isn’t working。
还有添加到搜索引擎,站点数据统计等,准备折腾完再记录一下。
遇到的一些问题
1、异常1:/usr/bin/env: node: No such file or directory(运行hexo的时候,提示找不到node文件)
解决方法:参考:【run npm command gives error "/usr/bin/env: node: No such file or directory" #3911】
I've found this is often a misnaming error, if you install from a package manager you bin may be called nodejs so you just need to symlink it like so "ln -s /usr/bin/nodejs /usr/bin/node"
这是由于hexo调用hexo的时候是用node这个名字,而我们安装nodejs时是默认安装了nodejs这个名字,所以提示node这个文件不存在,我们可以如下检验。
为了解决问题,我们只需为nodejs增加一个叫node的软链接,命令如下:
sudo ln -s /usr/bin/nodejs /usr/bin/node
问题解决。。。重新打入hexo -v,正常:
2、文章摘要设置
hexo和jekyll一样,都支持使用markdown编写文章,hexo的文章保存在source/_post目录下。
需要注意的是,在编写markdown文档是,在文档中插入<!--more-->
就可以将文章切分开了,more以上的部分会已摘要的形式显示,当查看全文是more一下的部分也会显示出来。
3、图片路径问题
这个也很简单,直接将图片文件夹放到source目录下即可。
同理将favicon.ico和CNAME(github支持在CNAME文件中加入自定义域名,通过自定义的域名访问自己的网站)也放到source目录。
参考:
hexo你的博客
Tips for configuring an A record with your DNS provider