Alex Belozerov Blog

IT, бизнес, саморазвитие

Как я переходил с Blogger на Octopress

Сам по себе переход занял у меня ровно один день с периодическим отвлечением на развлечения. Для начала я решил создать виртуальную машину с Ubuntu и делать все на ней, т.к. когда увидел в инструкции по установке RVM под Windows “Установите Cygwin”, понял, что быстрее будет поставить систему с нуля, чем пытаться все правильно заставить работать под Винду. Также виртуальная машина мне скоро пригодится в экспериментах с Python’ом, так что время в любом случае было потрачено не зря.

Все мероприятие можно разделить на следующие этапы

  1. Установка environment’а для Octopress и самого Octopress. Тут все просто, выполняем шаги, следуя иструкциям: http://octopress.org/docs/setup/ Пришлось немного повозиться с зависимостями, но гуглилось все очень быстро, так что проблем не возникло.

  2. Настройка Octopress, написание hello world поста и генерация блога. http://octopress.org/docs/configuring/, http://octopress.org/docs/blogging/

  3. Импорт записей из Blogger. Воспользовался готовым скриптом https://gist.github.com/2928871

  4. Использование GitHub в качестве хостинга, заливка на него, настройка DNS. http://octopress.org/docs/deploying/github/, https://help.github.com/articles/setting-up-a-custom-domain-with-pages

  5. Настройка редиректов, для людей, пришедших с поисковых систем. Т.к. постов у меня было мало, направил старый домен blog.abelozerov.com на свой сервер с IIS7 и сделал там Rewrite Map с явным указанием, какая страница на какую должна переходить. Выкладываю получившийся web.config, может кому пригодится. Обратите внимание на строку с ключом “/feeds/posts/default” - это редирект для RSS-ленты, сделано для того чтобы старые подписчики продолжали получать обновления по RSS.

(web.config) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rewriteMaps>
                <rewriteMap name="Posts">
                    <add key="/2011/10/gdd-2011-gtugs-day-2011.html" value="http://abelozerov.com/blog/2011/10/21/gdd-2011-gtugs-day-2011/" />
                    <add key="/2011/08/google-developer-day-challenge-2011.html" value="http://abelozerov.com/blog/2011/08/15/google-developer-day-challenge-2011/" />
                    <add key="/2011/04/ufo-two-sides.html" value="http://abelozerov.com/blog/2011/04/18/ufo-two-sides/" />
                    <add key="/2011/01/nhibernate-fluent-nhibernate.html" value="http://abelozerov.com/blog/2011/01/08/nhibernate-fluent-nhibernate/" />
                    <add key="/2010/07/sennheiser.html" value="http://abelozerov.com/blog/2010/07/03/sennheiser/" />
                    <add key="/2010/06/macos-x.html" value="http://abelozerov.com/blog/2010/06/01/macos-x/" />
                    <add key="/2010/05/firefox.html" value="http://abelozerov.com/blog/2010/05/16/firefox/" />
                    <add key="/2010/01/updatepanel.html" value="http://abelozerov.com/blog/2010/04/01/updatepanel/" />
                    <add key="/2009/12/stringformat.html" value="http://abelozerov.com/blog/2009/12/19/stringformat/" />
                    <add key="/2009/10/iphone.html" value="http://abelozerov.com/blog/2009/10/20/iphone/" />
                    <add key="/2009/09/aspnet-redirect-querystring.html" value="http://abelozerov.com/blog/2009/09/26/aspnet-redirect-querystring/" />
                    <add key="/2009/05/blog-post.html" value="http://abelozerov.com/blog/2009/05/30/blog-post/" />
                    <add key="/" value="http://abelozerov.com" />
                  <add key="/feeds/posts/default" value="http://feeds.feedburner.com/abelozerov" />
                </rewriteMap>
            </rewriteMaps>
            <rules>
                <rule name="Redirect rule1 for Posts">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{Posts:{REQUEST_URI}}" pattern="(.+)" />
                    </conditions>
                    <action type="Redirect" url="{C:1}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Comments