<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>timeline &#8211; 天地一沙鸥</title>
	<atom:link href="https://haoluobo.com/tag/timeline/feed/" rel="self" type="application/rss+xml" />
	<link>https://haoluobo.com</link>
	<description>to be continue....</description>
	<lastBuildDate>Thu, 16 Dec 2021 03:41:13 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>时间线网站“似水流年”上线</title>
		<link>https://haoluobo.com/2012/06/jstwind-startup/</link>
					<comments>https://haoluobo.com/2012/06/jstwind-startup/#comments</comments>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Fri, 01 Jun 2012 08:18:44 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[jstwind]]></category>
		<category><![CDATA[timeline]]></category>
		<category><![CDATA[似水流年]]></category>
		<category><![CDATA[时间线]]></category>
		<guid isPermaLink="false">/?p=10543</guid>

					<description><![CDATA[网站地址： http://jstwind.com 在很早前就想做这么一个关于时间线的网站了，并在今天年初开始真 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>网站地址：</strong> <a href="http://jstwind.com">http://jstwind.com</a><br />
在很早前就想做这么一个关于时间线的网站了，并在今天年初开始真正开始行动。中途因为各种原因将这件事情给搁置了，直到最近才重新启动。目前还只是完成了基础功能，细节方面也未能调教到自己满意的程度。不过不管怎么说，网站总算是基本可用了。欢迎大家上去看看，去制作自己感兴趣的时间线。<br />
目前网站上只有一个关于 <a href="http://jstwind.com/t/2/">乔布斯</a> 的时间线。事件的编辑比我预想的还要花时间，这也让我更希望能早些加入时间线的协作编辑功能。<br />
这是我在继 <a href="https://github.com/vicalloy/LBForum">LBForum</a> 之后真正有在用心做的一个私人项目。项目后台代码方面的工作量倒还好，主要的工作都花在了前端上。事件的编辑是一项非常繁琐的工作，因此花费了不少时间来使用AJAX来提高事件编辑的易用性。项目代码托管在 <a href="https://github.com/">github</a> 上。项目地址在以前的博客里发布过，如果你感兴趣的话可以去找找。<br />
最后把用到的主要技术和服务列一下，接下来一段时间可能会将其中用到一些技术写成博客：</p>
<ul>
<li>网站部署在 <a href="http://www.webfaction.com/">webfaction</a> ，采用apache+mod_wsgi的方式进行部署。</li>
<li>由于webfaction在国内的访问速度并不理想，静态资源托管在sina的 <a href="http://sae.sina.com.cn/">SAE</a> 平台上。因为申请了SAE的开发者认证，每月有1.5w的免费云豆资源，闲着也是闲着。</li>
<li>域名在 <a href="https://www.godaddy.com/">godaddy</a> 购得。在使用优惠码后，一年的费用不足$2。</li>
<li>域名的DNS解析用的是 <a href="https://www.dnspod.cn/">DNSPod</a> 。 DNSPod在易用性方面确实做的很不错。</li>
<li>使用 <a href="http://exmail.qq.com/">腾讯企业邮箱</a> 。 或许很多人对腾讯比较反感，但腾讯的产品确实都还做的不错。使用腾讯企业邮箱的重要原因之一是免费。</li>
<li>服务端的开发技术依旧用的是 <a href="http://djangoproject.com/">Django</a> 。使用自己熟悉的技术可以大大的加快开发进度。</li>
<li>前端用的是 <a href="twitter.github.com/bootstrap/">twitter-bootstrap</a> 。bootstrap目前已经有烂大街的趋势了，不过这东西确实好用。为减少bootstrap的痕迹，下一步考虑给jstwind换个配色方案。</li>
<li>JS的基础库用 <a href="http://jquery.com/">JQuery</a> 。现在JQuery基本上已经是JS标准的一部分了。</li>
<li>时间线的JS控件用的是 <a href="http://timeline.verite.co/">Timeline JS</a> 。虽然这个JS组件还有不少让我不太满意的地方，但这个组件胜在漂亮，而且作者非常勤奋，github上提的issue基本上在一天内就会有回复。</li>
<li>文件上传用的是 <a href="https://github.com/blueimp/jQuery-File-Upload">jQuery-File-Upload</a> 。纯JS实现，不依赖Flash即可实现文件的批量上传。缺点是如果客户用的浏览器版本太老就无法使用批量上传功能了。</li>
<li>Django的第三方APP方面用的就比较多了，其中包括 django-userena、django-taggit等，以及部分我自己写的与修改的APP。第三方APP的详细列表可以查看项目中的 <strong>requirements.txt</strong> 文件</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://haoluobo.com/2012/06/jstwind-startup/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>timeline项目开发日志&#8211;登陆、注册模块</title>
		<link>https://haoluobo.com/2012/01/timeline-re/</link>
					<comments>https://haoluobo.com/2012/01/timeline-re/#comments</comments>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Tue, 17 Jan 2012 14:35:34 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[django-userena]]></category>
		<category><![CDATA[timeline]]></category>
		<guid isPermaLink="false">/?p=10353</guid>

					<description><![CDATA[利用twitter/bootstrap，项目的基础模板算是顺利搞定。接下来开始处理用户中心。用户中心主要包括用 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>利用<a href="https://github.com/twitter/bootstrap" target="_blank" rel="noopener">twitter/bootstrap</a>，项目的基础模板算是顺利搞定。接下来开始处理用户中心。<br>用户中心主要包括用户登陆、注册以及头像等个人信息维护。此前，用户的注册管理我一直使用<a href="https://bitbucket.org/ubernostrum/django-registration" target="_blank" rel="noopener">django-registration</a>。只是这个APP有些不思进取，09年发布了0.8alpha版后就一直没什么动静。这次决定尝试另外一个用户模块组件<a href="https://github.com/bread-and-pepper/django-userena" target="_blank" rel="noopener">django-userena</a>。<br>相比django-registration，django-userena的功能要完善的多。除基础的登陆注册模块外django-userena甚至还带了站内消息功能。django-userena的易用性方面也做的非常的不错。django-userena自带了默认模板，并有提供一个完整的演示项目，让你可以轻松上手。这里有个官方的在线demo，感兴趣可以<a href="http://django-userena.org/accounts/signup/" target="_blank" rel="noopener">去看看</a>。</p>



<h3 class="wp-block-heading">django-userena同twitter/bootstrap的整合</h3>



<p>我们自然是希望所有的APP不用做任何修改，拿来就能用了。不过事与愿违，在整合的过程中多多少少都会遇到一些问题。django-userena默认的模板在项目中显示的非常难看。我们需要重写django-userena的默认模板，并且用<a href="https://github.com/earle/django-bootstrap" target="_blank" rel="noopener">django-bootstrap</a>来生成form。<br><strong>forms.py</strong></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
#为原始form添加BootstrapMixin
from bootstrap.forms import BootstrapMixin
class BsAuthenticationForm(AuthenticationForm, BootstrapMixin):
    def __init__(self, *args, **kw):
        super(BsAuthenticationForm, self).__init__(*args, **kw)
        self.__bootstrap__()
</pre></div>


<p><strong>urls.py</strong></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
#重写urls，指定使用的form
from django.conf.urls.defaults import *
from userena import views as userena_views
from profiles.forms import BsSignupForm, BsAuthenticationForm
urlpatterns = patterns(&#039;&#039;,
    url(r&#039;^signup/
</pre></div>


<h3 class="wp-block-heading">中文用户名问题</h3>



<p>同django-admin一样，django-userena也无法使用中文进行注册。对于一个中文网站而言，不能使用中文注册ID似乎有些太不合理的。<br>django-userena使用正则表达式对用户名进行校验，重写注册form修改认证规则即可取消该限制。</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
USERNAME_RE = r&#039;^\S+
, userena_views.signup,
        {&#039;signup_form&#039;: BsSignupForm}, name=&#039;userena_signup&#039;),
    url(r&#039;^signin/
</pre></div>


<h3 class="wp-block-heading">中文用户名问题</h3>



<p>同django-admin一样，django-userena也无法使用中文进行注册。对于一个中文网站而言，不能使用中文注册ID似乎有些太不合理的。<br>django-userena使用正则表达式对用户名进行校验，重写注册form修改认证规则即可取消该限制。</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
USERNAME_RE = r&#039;^\S+$&#039;
attrs_dict = {&#039;class&#039;: &#039;required&#039;}
class BsSignupForm(SignupForm, BootstrapMixin):
    username = forms.RegexField(regex=USERNAME_RE,
                                max_length=30,
                                widget=forms.TextInput(attrs=attrs_dict),
                                label=_(&quot;Username&quot;),
                                error_messages={&#039;invalid&#039;: _(&#039;Username must contain only letters, numbers, dots and underscores.&#039;)})
    def __init__(self, *args, **kw):
        super(BsSignupForm, self).__init__(*args, **kw)
        self.__bootstrap__()
</pre></div>]]></content:encoded>
					
					<wfw:commentRss>https://haoluobo.com/2012/01/timeline-re/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>已在github上创建timeline项目</title>
		<link>https://haoluobo.com/2012/01/timeline-on-github/</link>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Sun, 15 Jan 2012 08:10:25 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[timeline]]></category>
		<guid isPermaLink="false">/?p=10348</guid>

					<description><![CDATA[项目地址：https://github.com/vicalloy/timeline-site 感兴趣的朋友就过 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>项目地址：<a href="https://github.com/vicalloy/timeline-site">https://github.com/vicalloy/timeline-site</a></p>
<p>感兴趣的朋友就过去关注下吧。</p>
<p>目前还只有一个项目框架，并对基础的模板做了一些调整。因为是自己一个人写，且没人督促，所以项目前期的重构会比较频繁，且项目进度不可控。</p>
<p>下面就是刚的工作成功，一个简单的首页框架。</p>
<p><a href="/wp-content/uploads/2012/01/timeline.png"><img fetchpriority="high" decoding="async" style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="timeline" border="0" alt="timeline" src="/wp-content/uploads/2012/01/timeline_thumb.png" width="477" height="223" /></a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>timeline项目前期准备工作</title>
		<link>https://haoluobo.com/2012/01/timeline-pr/</link>
					<comments>https://haoluobo.com/2012/01/timeline-pr/#comments</comments>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Tue, 10 Jan 2012 12:41:19 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[timeline]]></category>
		<guid isPermaLink="false">/?p=10311</guid>

					<description><![CDATA[前些天在日志里说想做个timeline相关的网站。由于最近的琐事较多，也是出于惰性，迟迟没有动手。想最近还是先 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>前些天在日志里说想做个timeline相关的网站。由于最近的琐事较多，也是出于惰性，迟迟没有动手。想最近还是先将项目启动好了，然后在blog上记录项目的过程。记录的过程，一方面是方便日后的总结，令一方面多少也有些督促作用。</p>
<h3>缘起</h3>
<p>很早以前就想做一张古今中外的大事年表，看中国历史上的同时期国外都发生了些什么事。对于普通的文字列表而言，timeline的展现方式无疑要直观很多。在寻找timeline工具的时候没有发现好用的。到了现在，已经出现不少在线timeline工具了，不过中文的还没有，既然如此那就自己做一个吧。</p>
<h3>网站定位、功能规划、前期推广方案</h3>
<p>timeline功能有些过于单一，可发掘的余地不会太大。不过换个角度看，做一个有价值的小众服务也不错。<br />
这会是一个类似维基百科的网站。大家可以在上面察看、制作自己感兴趣的timeline。网站支持多人协作，可以多人共同维护一个timeline。timeline支持评论。用户可以将自己感兴趣的timeline做个列表（类似豆瓣的豆单）。如果用户活跃的话甚至可以考虑增加小组的功能。<br />
网站创建初期最需要的是基础内容以及第一批核心用户。内容方面会自己做几个timeline并进行社会化分享。针对目标人群的不同会将timeline分为明星偶像、社会化事件、历史、技术类（如js的演化）。然后看目标人群的接受程度再做适当的调整。</p>
<h3>技术方案</h3>
<p>服务端采用django。UI方面采用twitter出品的<a href="http://twitter.github.com/bootstrap/">bootstrap</a>。<br />
除此之外令一个重要的问题是如何实现timeline的展示。网上不少timeline的js实现。经过调查后决定采用timeglider。下面是入围JS库的介绍。</p>
<ul>
<li><a href="http://timeglider.com/jquery/" rel="nofollow">http://timeglider.com/jquery/</a>
<ul>
<li>功能不错，而且基于jquery。在2011.x月之前bsd协议，最新版本改为了双许可，价格并不便宜。</li>
</ul>
</li>
<li><a href="http://links.sourceforge.net/#timeline" rel="nofollow">http://links.sourceforge.net/#timeline</a>
<ul>
<li>功能比较全，UI很一般。</li>
</ul>
</li>
<li><a href="http://www.simile-widgets.org/timeline/" rel="nofollow">http://www.simile-widgets.org/timeline/</a>
<ul>
<li>功能中规中矩，缺少缩放功能。</li>
</ul>
</li>
</ul>
<h3>参考网站</h3>
<p>既然此类网站已经有了，必要的参考自然少不了。</p>
<ul>
<li><a href="http://www.xtimeline.com/">http://www.xtimeline.com</a></li>
<ul>
<li>UI不是很美观，功能方面和我的想法比较接近。</li>
</ul>
<li>http://www.timerime.com/</li>
<li>http://www.tiki-toki.com/</li>
<li>http://delicious.com/search?p=timeline</li>
<ul>
<li>delicious上可以找到很多有用的资料</li>
</ul>
<li>http://www.douban.com/event/search?search_text=%E5%B0%8F%E7%BB%84&amp;loc=china</li>
<ul>
<li>参考UI</li>
</ul>
<li>http://www.timetoast.com/</li>
<ul>
<li>同xtimeline类似，UI更好些。</li>
</ul>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://haoluobo.com/2012/01/timeline-pr/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>最近想做的一些东西</title>
		<link>https://haoluobo.com/2011/12/xiami-wp7-timeline/</link>
					<comments>https://haoluobo.com/2011/12/xiami-wp7-timeline/#comments</comments>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Tue, 20 Dec 2011 15:32:59 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[timeline]]></category>
		<category><![CDATA[wp7]]></category>
		<guid isPermaLink="false">/?p=10305</guid>

					<description><![CDATA[由于长期的挖坑不填，于是想做简单一些的东西，简单到一周之内可以完成。 WP7的虾米电台客户端 虾米的电台很不错 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>由于长期的挖坑不填，于是想做简单一些的东西，简单到一周之内可以完成。</p>
<h3>WP7的虾米电台客户端</h3>
<p><a href="http://www.xiami.com/" target="_blank" rel="noopener">虾米</a>的电台很不错，有多种风格的电台可以选择。选择一个自己喜欢的电台然后有啥听啥，比自己选歌来的方便的多。目前虾米有官方的ios、android的客户端，wp7的客户端暂时还没有。虽然手机可以用网页版的虾米，不过网页版无法后台播放将是一个很大的缺陷。</p>
<p>我还没有wp7的手机，想做着东西主要还是想体验一下wp7开发。</p>
<h3>timeline在线制作</h3>
<p>世界历学的很烂，完全不知道国外的重大历史事件对应到中国的朝代。想做这么一张历史年表，将国内外的大事件都标记在上面。顺带想做一个关于timeline的网站。用户可以制作自己的timeline并进行分享。最好还可以象wiki一样大家共同编辑同一个timeline。</p>
<p>前期会做的很简单，只有简单的创建和展示功能。评论功能直接使用<a href="http://disqus.com/" target="_blank" rel="noopener">disqus</a>实现。</p>
<p>目前国外网站已经有一些提供在线timeline服务的网站。里面大多网站都面向企业用户提供收费服务。其中比较接近我想法的是<a href="http://www.xtimeline.com/" target="_blank" rel="noopener">xtimeline</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://haoluobo.com/2011/12/xiami-wp7-timeline/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
