Browse Source

first transition to pelican

master
sipp11 10 years ago
commit
b7fafeb10c
  1. 6
      .gitignore
  2. 119
      Makefile
  3. 0
      __init__.py
  4. 36
      content/blog/2013-07-31-สวนอาหารกิ่งดาว-ภูเรือ.md
  5. 32
      content/blog/2013-07-31-เจริญรัตน์-ติ่มซำ-หัวหิน.md
  6. 23
      content/blog/2013-08-08-ตำแหน่งกล้อง-ด่านตรวจจับความเร็ว.md
  7. 19
      content/blog/2013-08-13-กระเป๋ากับการศึกษาไทย.md
  8. 56
      content/blog/2013-08-14-ทางเท้ากรุงเทพ.md
  9. 16
      content/blog/2013-08-23-ที่จอดรถคนพิการ.md
  10. 25
      content/blog/2013-08-25-ครัวอรพิน-วังน้ำเขียว.md
  11. 14
      content/blog/2013-09-10-ความปลอดภัยบนท้องถนน.md
  12. 34
      content/blog/2013-09-11-ทางหลวงพิเศษหมายเลข-6.md
  13. 67
      content/blog/2013-09-15-ชุดนักศึกษา-ตีกรอบความคิด.md
  14. 16
      content/blog/2013-09-16-ราคาน้ำมันเทียบกับโลก.md
  15. 24
      content/blog/2013-09-17-รวมปัญหา-condo.md
  16. 41
      content/blog/2013-09-18-การจราจรไทย.md
  17. 16
      content/blog/2013-10-04-baluda-whale.md
  18. 12
      content/blog/2013-10-07-ความฝันของกรุงเทพในอดีต.md
  19. 10
      content/blog/2013-10-07-แต่ละชิ้นส่วนของจักรยาน.md
  20. 14
      content/blog/2014-03-03-จราจรในจีน.md
  21. 15
      content/blog/2014-03-11-รวมปัญหาบ้านจัดสรร.md
  22. 16
      content/blog/2014-06-22-เบอร์-call-center-มือถือ.md
  23. 10
      content/pages/projects.md
  24. 103
      develop_server.sh
  25. 104
      fabfile.py
  26. 23
      filters.py
  27. 68
      pelicanconf.py
  28. 24
      publishconf.py
  29. 454
      themes/notmyideaever/static/css/main.css
  30. 205
      themes/notmyideaever/static/css/pygment.css
  31. 52
      themes/notmyideaever/static/css/reset.css
  32. 3
      themes/notmyideaever/static/css/typogrify.css
  33. 48
      themes/notmyideaever/static/css/wide.css
  34. BIN
      themes/notmyideaever/static/images/icons/aboutme.png
  35. BIN
      themes/notmyideaever/static/images/icons/bitbucket.png
  36. BIN
      themes/notmyideaever/static/images/icons/delicious.png
  37. BIN
      themes/notmyideaever/static/images/icons/facebook.png
  38. BIN
      themes/notmyideaever/static/images/icons/github.png
  39. BIN
      themes/notmyideaever/static/images/icons/gitorious.png
  40. BIN
      themes/notmyideaever/static/images/icons/gittip.png
  41. BIN
      themes/notmyideaever/static/images/icons/google-groups.png
  42. BIN
      themes/notmyideaever/static/images/icons/google-plus.png
  43. BIN
      themes/notmyideaever/static/images/icons/hackernews.png
  44. BIN
      themes/notmyideaever/static/images/icons/lastfm.png
  45. BIN
      themes/notmyideaever/static/images/icons/linkedin.png
  46. BIN
      themes/notmyideaever/static/images/icons/reddit.png
  47. BIN
      themes/notmyideaever/static/images/icons/rss.png
  48. BIN
      themes/notmyideaever/static/images/icons/slideshare.png
  49. BIN
      themes/notmyideaever/static/images/icons/speakerdeck.png
  50. BIN
      themes/notmyideaever/static/images/icons/stackoverflow.png
  51. BIN
      themes/notmyideaever/static/images/icons/twitter.png
  52. BIN
      themes/notmyideaever/static/images/icons/vimeo.png
  53. BIN
      themes/notmyideaever/static/images/icons/youtube.png
  54. 46
      themes/notmyideaever/templates/analytics.html
  55. 13
      themes/notmyideaever/templates/archives.html
  56. 41
      themes/notmyideaever/templates/article.html
  57. 23
      themes/notmyideaever/templates/article_infos.html
  58. 2
      themes/notmyideaever/templates/author.html
  59. 16
      themes/notmyideaever/templates/authors.html
  60. 82
      themes/notmyideaever/templates/base.html
  61. 2
      themes/notmyideaever/templates/category.html
  62. 1
      themes/notmyideaever/templates/comments.html
  63. 11
      themes/notmyideaever/templates/disqus_script.html
  64. 9
      themes/notmyideaever/templates/github.html
  65. 64
      themes/notmyideaever/templates/index.html
  66. 14
      themes/notmyideaever/templates/most_recent.html
  67. 12
      themes/notmyideaever/templates/page.html
  68. 13
      themes/notmyideaever/templates/period_archives.html
  69. 2
      themes/notmyideaever/templates/tag.html
  70. 2
      themes/notmyideaever/templates/taglist.html
  71. 16
      themes/notmyideaever/templates/tags.html
  72. 8
      themes/notmyideaever/templates/translations.html
  73. 3
      themes/notmyideaever/templates/twitter.html

6
.gitignore vendored

@ -0,0 +1,6 @@
.git
.DS_Store
*.pyc
output/*
themes/*
cache

119
Makefile

@ -0,0 +1,119 @@
PY?=python
PELICAN?=pelican
PELICANOPTS=
BASEDIR=$(CURDIR)
INPUTDIR=$(BASEDIR)/content
OUTPUTDIR=$(BASEDIR)/output
CONFFILE=$(BASEDIR)/pelicanconf.py
PUBLISHCONF=$(BASEDIR)/publishconf.py
FTP_HOST=localhost
FTP_USER=anonymous
FTP_TARGET_DIR=/
SSH_HOST=localhost
SSH_PORT=22
SSH_USER=root
SSH_TARGET_DIR=/var/www
S3_BUCKET=my_s3_bucket
CLOUDFILES_USERNAME=my_rackspace_username
CLOUDFILES_API_KEY=my_rackspace_api_key
CLOUDFILES_CONTAINER=my_cloudfiles_container
DROPBOX_DIR=~/Dropbox/Public/
GITHUB_PAGES_BRANCH=gh-pages
DEBUG ?= 0
ifeq ($(DEBUG), 1)
PELICANOPTS += -D
endif
help:
@echo 'Makefile for a pelican Web site '
@echo ' '
@echo 'Usage: '
@echo ' make html (re)generate the web site '
@echo ' make clean remove the generated files '
@echo ' make regenerate regenerate files upon modification '
@echo ' make publish generate using production settings '
@echo ' make serve [PORT=8000] serve site at http://localhost:8000'
@echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 '
@echo ' make devserver [PORT=8000] start/restart develop_server.sh '
@echo ' make stopserver stop local server '
@echo ' make ssh_upload upload the web site via SSH '
@echo ' make rsync_upload upload the web site via rsync+ssh '
@echo ' make dropbox_upload upload the web site via Dropbox '
@echo ' make ftp_upload upload the web site via FTP '
@echo ' make s3_upload upload the web site via S3 '
@echo ' make cf_upload upload the web site via Cloud Files'
@echo ' make github upload the web site via gh-pages '
@echo ' '
@echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html '
@echo ' '
html:
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
clean:
[ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR)
regenerate:
$(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
serve:
ifdef PORT
cd $(OUTPUTDIR) && $(PY) -m pelican.server $(PORT)
else
cd $(OUTPUTDIR) && $(PY) -m pelican.server
endif
serve-global:
ifdef SERVER
cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 $(SERVER)
else
cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 0.0.0.0
endif
devserver:
ifdef PORT
$(BASEDIR)/develop_server.sh restart $(PORT)
else
$(BASEDIR)/develop_server.sh restart
endif
stopserver:
kill -9 `cat pelican.pid`
kill -9 `cat srv.pid`
@echo 'Stopped Pelican and SimpleHTTPServer processes running in background.'
publish:
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS)
ssh_upload: publish
scp -P $(SSH_PORT) -r $(OUTPUTDIR)/* $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR)
rsync_upload: publish
rsync -e "ssh -p $(SSH_PORT)" -P -rvzc --delete $(OUTPUTDIR)/ $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR) --cvs-exclude
dropbox_upload: publish
cp -r $(OUTPUTDIR)/* $(DROPBOX_DIR)
ftp_upload: publish
lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"
s3_upload: publish
s3cmd sync $(OUTPUTDIR)/ s3://$(S3_BUCKET) --acl-public --delete-removed --guess-mime-type
cf_upload: publish
cd $(OUTPUTDIR) && swift -v -A https://auth.api.rackspacecloud.com/v1.0 -U $(CLOUDFILES_USERNAME) -K $(CLOUDFILES_API_KEY) upload -c $(CLOUDFILES_CONTAINER) .
github: publish
ghp-import -m "Generate Pelican site" -b $(GITHUB_PAGES_BRANCH) $(OUTPUTDIR)
git push origin $(GITHUB_PAGES_BRANCH)
.PHONY: html help clean regenerate serve serve-global devserver publish ssh_upload rsync_upload dropbox_upload ftp_upload s3_upload cf_upload github

0
__init__.py

36
content/blog/2013-07-31-สวนอาหารกิ่งดาว-ภูเรือ.md

@ -0,0 +1,36 @@
title: สวนอาหารกงดาว@ภเรอ จ.เลย
date: Jul 31, 2013 1:57 AM
author: ipeeddy
category: food
Tags: review, eatout
location:
icon: bicycle
slug: สวนอาหารกงดาว-ภเร
---
- จำไดา Trip ครงนนใชเสนทาง *ภเรอ - เชยงคาน - ภทอก* จากจดเรมตนเรากไปถง อ.ภเรอ กงเวลาอาหารเยนซะแลว....ขอบอกวาไมไดวางแผนเรองหารานอาหารอรอยไววงหนาเลยจรงๆ...^^
- ผานปม ปตท. (ซงนาจะใหญดของ อ.ภเรอ) ขางในตกแตงสวนสวยงาม และมานอาหารบรรยากาศดดรานอยางสวยงามอยานหลงปมนน....ขอบอกวามวสวยมากๆ ทเดยว....
- มองไปไกลๆ จากรานอาหารในปม ทานจะไดเหนรานอาหารอยไกลๆ ชอว*"สวนอาหารกงดาว"* เปาหมายเปลยนทนท...พวกเราพยายามหาทางลดเลาะลงไป ยงงยกจะไดเจอรานนนอยางแนนอน 5555
![](//betterbangkok.s3.amazonaws.com/7c4d445b2f5fb3a5e041cdbb205c6467af34ef967.JPG)
**วาวว!!**
งรานแลว ขอบอกวา...นอกจากบรรยากาศทสงบในชวงยามเยนๆ แลว ขอบอกวาเคาตกแตงรานไดารกจรงๆ ขอชมจรงๆ คะ
![](//betterbangkok.s3.amazonaws.com/8fd821d6fc5af2434b3a0adc6392027baff5736c0.JPG)
ขอบอกวา ทางรานเคาทำเลมเมนอาหารไดสวยงามดคะ (เลนเอาคนสงอาหารเพลนกบการเลอกเมนอาหาร) สวนตากลองกเกบภาพไป...จดไปคะ
![](//betterbangkok.s3.amazonaws.com/912abda109ccf04e10b644b4c816ab78c185eefb6.JPG)
เหนแลว....เลยใชะ ^^
![](//betterbangkok.s3.amazonaws.com/11dc84eaa18d9adba7277622c4e0caf1b9ba331705.JPG)
เมนอาหารแปลกๆ นารบประทาน ...ขออออกตววาจำชอเมนงไมไดเลยสรปวาชออะไร...**โฮง หรอ โตง** 5555 (รอคำตอบจากผจรงนะคะ)
![](//betterbangkok.s3.amazonaws.com/10b901bce1dd04c95f8156784e5d13b256397896e8.JPG)
หวงวาคงจะไดโอกาสผานไปท อ.ภเรอ จ.เลย อกครง....คงไดเจอกนอกนะคะ อยากไปอกมากกกก **^____^**

32
content/blog/2013-07-31-เจริญรัตน์-ติ่มซำ-หัวหิน.md

@ -0,0 +1,32 @@
title: เจรญรตนมซำ@หวห
date: Jul 31, 2013 1:57 AM
author: sipp11
category: food
Tags: review, eatout
icon: bicycle
location: 12.582821,99.951999
slug: เจรญรตนมซำ-หวห
---
อรานทผมกนตงแตเดกละครบ เปนตมซำทอรอยทดทผมเคยกนจรงๆ
![](//betterbangkok.s3.amazonaws.com/34961d41134a003c3787fae5382046e83da61990d.jpg)
นนาวเหนยวอรอยทเดยว
![](//betterbangkok.s3.amazonaws.com/41f00ec2f81624a7b782da1c6d3059cce7b5e6bb5.jpg)
ผลงานครบ อรอยแบบหยดไมอยเดยว=)
![](//betterbangkok.s3.amazonaws.com/5deaa68e6b29dd0fe155f45ac8699828f7f503ba5.jpg)
ตอนนทางรานเคายายมาทวหน กเลยมของเพมดวยเปนขาวยำคร
![](//betterbangkok.s3.amazonaws.com/2b4c2ef3714f0cf000e126bc2ef2b50020ec57900.jpg)
านอยวหนนะครบ อยดถนนใหญเลย ขบยงไงกองเจอครบ อยระหวาง ซ.หวหน 58 กบ 60 ครบ หรอดจาก [Google Maps][1] เอากไดวยความทเปนรานตมซำ กเปดถงแคประมาณบาย 3 คร
![](//betterbangkok.s3.amazonaws.com/6235d82be959d2168e85e719d9ae54d91c434a44a.jpg)
[1]: https://maps.google.com/maps/ms?msa=0&msid=214880843152264566486.0004913b4676e6bbd1b8e&ie=UTF8&t=m&vpsrc=0&ll=12.582371,99.952556&spn=0.003916,0.005477&z=18&iwloc=0004913b4a117215972fb

23
content/blog/2013-08-08-ตำแหน่งกล้อง-ด่านตรวจจับความเร็ว.md

@ -0,0 +1,23 @@
title: ตำแหนงกลอง + ดานตรวจจบความเร
date: Aug 8, 2013 5:49 AM
author: sipp11
category: social
Tags: failed, cop, police
icon: building-o
slug: ตำแหนงกลอง-ดานตรวจจบความเร
วยความทบรถเปนประจำครบ แลวกเจอตำรวจตงดานเปนประจำ กเลยมารวบรวมแสดงใหา มนมตรงไหนบาง จะไดระวงใหกครบ เพราะวา หยดเพอไปจายเงนมนเสยเวลากวา ขบใหำกวา 120 km/h แลวผานจดมกลอง / ดานครบ ในสวนของเวลาทเคาจะถายไดจะเปนเฉพาะกลางวนทฝนไมตกนะครบ ดงนนกลางคนไมบความเรว เทาทประสบการณบอกผมมาคร
[ตำแหนงกลอง/ดาน via Google Maps][1]
ปกตแลวตำรวจจะจบความเรวทเกน 120 km/h (มาตรฐานกลองวดของเคานะครบ 55)
- 120 - 130 km/h จะ 200 บาท
- 130 - 140 km/h จะ 300 บาท
- 140+ km/h จะ 4-500 บาท
วนกลองทายแลวสงถงบานนนกจะ 400-500 บาทตามแตสถานตำรวจไหน และความเรวเทาไหรสำหรบตางจงหวด สวนกรงเทพฯ ก 1,000 บาทเตมอตราตลอดคร
ปล. เทาทผมเหนเยอะจรงๆ กจะมแตทางอสานครบ โคราชนวดเลย ใครรตำแหนงตรงไหนอยางไรกแนะนำเพมไดครบ เพอความปลอดภยในเงนในกระเปาเรา =)
[1]: http://goo.gl/3nLge0

19
content/blog/2013-08-13-กระเป๋ากับการศึกษาไทย.md

@ -0,0 +1,19 @@
title: ถาการศกษาไทย ทำใหเดกตองแบกของหนกไป รร. ทกคน
date: Aug 20, 2013 4:21 PM
author: sipp11
category: การศกษา
Tags: failed
icon: building-o
slug: กระเปาเดกหนงอ
ผมเหนตวอยางจากนอง ชน ป.5-6 ทแบกเปงมาก เลยขอเปดดามอะไรบาง สรปไดของขนาดน
![](//betterbangkok.s3.amazonaws.com/142fa4bf6b106b4e9879810ae291b5d52cfc0a78e8.jpg)
![](//betterbangkok.s3.amazonaws.com/15859420bc98a2b905c4dd25292e4a61bcca18087f.jpg)
ไมไดบอกวาจะเปนอยางนกคนนะครบ แตา ถาเดกมวนหนงทดวา ตองมความรบผดชอบเอาไปทกอยางเพอการเรยนแลวละก ผมวา มนกาจะผดพลาดแลวมงคร
การแกาจะม locker ทโรงเรยนใหเดก? ไมองประจำใหเดกเพอจะไดเกบของในโตะได
ปล. สมยผมเดกๆ ผมยงเคยโดนเฆยน (สมยนนยงเอาไมไผนเดกแรงๆ ประจานได ไมเหมอนสมยน) เพยงแคเพราะผมไมไดเอาหนงสอไปละครบ (และนนก ม.2-3 ในกรงเทพฯ) นะครบ อยางวาครบ ผมไมสนใจจะแบกของหนกแมเคาจะบงคบกตาม ฮาๆ

56
content/blog/2013-08-14-ทางเท้ากรุงเทพ.md

@ -0,0 +1,56 @@
layout: post
title: ทางเทากรงเทพป 2013
date: Aug 14, 2013 11:52 PM
author: sipp11
category: politic
tags: failed
icon: building-o
slug: ทางเทากรงเทพ
เหนอยางนแลวกเหนอยใจครบ ประเดนไมใชแคเพยงทางเทาจะไม แตงบงทางอกตางหาก
1. แนวถนนนาคนวาส (2013-08)
![](//betterbangkok.s3.amazonaws.com/12f03ad31340e21069bf1f501cf43b87750830b688.jpg)
2. ถนนสคนธสวสด (ทอกบถนนนาคนวาส) (2013-08)
![](//betterbangkok.s3.amazonaws.com/13fde90bf327a55b4d6b6c3a8808314838b2146ef2.jpg)
าหาไดเพมเตมกคงมาใสเพมเรอยๆคร
Ref: [http://pantip.com/topic/30826719][1]
-----
>Aug 21, '13 6:04 PM
หลงจากกระแส social network ทำใหการรอถอนในบางสวนออกเหมอนกนแฮะ
[<img src="//betterbangkok.s3.amazonaws.com/16644cb197b9b19bf1cd50b6758065413f4e6428eb.jpg" width="690" height="935">][2]
*กดรปจะ link ไป Facebook ของหนาคนอนกษครบ*
ญหาเดยวทผมสงสยมนคอ TOR ไอนเปนไงกนแน แลว สรปวา ถอนเพราะประชาชนเดอนรอนแลวมนจะมผลอะไร?? คดแลวกไดแตสงสยตอไป
-----
>Aug 21, '13 6:04 PM
จากขอมลทานๆ ดเหมอนกบวาปายพวกนเปนสมปทานครบ ซงผมกไมอยแนใจซกเทาไหรามนมกฏเกณฑอะไรยงไง ขอบเขตแคไหน
> นายอรญ อภจาร ประธานกรรมการ บรท ทรกตไฟว จำกด (มหาชน) หรอทเอสเอฟ (TSF) ผประกอบธรกจประเภทสอโฆษณาและประชาสมพนธรายใหญของประเทศไทย เปดเผยวาบรทสามารถควาสมปทาน 9 ปจาก กทม. ตอจากบรทฝรงเศส โดยจะเขาบรหารปายโฆษณาบรเวณปายรถเมล และทางเทา 90% ของกรงเทพฯทงหมดกวา 3,500 ปาย มลคาสมปทานจายให กทม. 340 ลานบาท ชวยหนนสงปรบตวใหบรททเอสเอฟ เปนบรททอปายโฆษณาประเภทสอกลางแจงทกตองตามกฎหมายอนดบหนงของประเทศ
>“แมการไดมาของสมปทานน บรทไดมาดวยราคาสทธายให กทม.สงสดเปนประวการณ แตเปนไปดวยนโยบายของคณะกรรมการบรททกำหนดไวาการทำอออคชน หรอการจดซอจดจางดวยวการทางอเลกทรอนกส จะตองเปนไปอยางโปรงใส เพอให กทม. และบรทไดประโยชนอยางสงสด ซงเดมนน กทม.ไดาสทธเพยงปละ 50 ลานบาท ทเอสเอฟมองวาตลาดปายขนาดกลางและขนาดเลกทไมใชายเถอนราคาขายอยเดอนละ 20,000 บาทตอปาย.
Ref: [ขาวไทยรฐ (2012-11-21): ทเอสเอฟ กวาดเรยบสมปทานปาย กทม. ][1]
-----
>Aug 23, '13 5:51 AM
ความกาวหนา --> [pantip][4] สรปกตามปกตครบ รอถอน แตงไมครบถวน จะดวยเหตผลอะไร แตนะ ผมกไมไดดเจนวาขนตอนจรงๆ เปนยงไง กคงไดแตรอดอไปครบ =)
[1]: http://pantip.com/topic/30826719
[2]: https://www.facebook.com/photo.php?fbid=433043313478079&set=a.178805445568535.38582.178696715579408&type=1&theater
[3]: http://www.thairath.co.th/content/newspaper/307635
[4]: http://pantip.com/topic/30873801

16
content/blog/2013-08-23-ที่จอดรถคนพิการ.md

@ -0,0 +1,16 @@
title: ทจอดรถคนพการ @ เมกาบางนา
date: Aug 23, 2013 8:53 PM
author: sipp11
category: social
tags: failed
icon: building-o
slug: ทจอดรถคนพการ-เมกาบางนา
บางทไมอยเขาใจครบ วา จะทำทจอดคนพการไปทำไม ถาไมเคยสนใจวาคนจอดเปนคนพการราว? แตนนเจอของแปลกกวาเดมคร
@Mega Bang-na -- ทจอดใตอาคาร ประต Big C คร
![](//betterbangkok.s3.amazonaws.com/171ed1c20ebe26db99899aaffa7378d11e79dd1c9d.jpg)
เออ.... ผมงงครบ ถาคดวา ตองทำตามกฏหมาย เพอรองรบคนพการ กอยาใหนทเรศนกเลยคร

25
content/blog/2013-08-25-ครัวอรพิน-วังน้ำเขียว.md

@ -0,0 +1,25 @@
title: ครวอรพน@วงนำเขยว
date: Aug 25, 2013 4:31 AM
author: ipeeddy
category: food
tags: review, eatout
icon: bicycle
location: 14.624571,101.71539
slug: ครวอรพน-วงนำเขยว
---
าทานขบรถระหวางเสนทางจาก อ.วงนำเขยว ไปยง อ.ปากชอง โดยใช ทล.304 ประมาณหลกกโลเมตรท 31 จะเหนปายชอรานว**"ครวอรพน**" ดานซายมอ อาจจะดไมเดนและสะดดตามากเทาไรนะคะ ^^
![](//betterbangkok.s3.amazonaws.com/1867cfdfd94ef336f0c75a3121617163e11840f89a.jpg)
ขอบอกตอเลยวา...รานนเปนรานเกาแกเปดมานานมากแลว ซงมกคาประจำเปนบรรดาเจาของรสอรททงหลายท อ.วงนำเขยว (เพราะทกครงทแวะไปทาน จะเจอบอยมากๆ) ประกอบกบเจาของรานจะเปนคนทธยาศยดมาก จะเขามาทกทายลกคาดวยหนาตาทมแยมตลอดเลยคะ เลยไมองแปลกใจใชยคะ ทจะเหนปายโฆษณาของสปอนเซอร 555
![](//betterbangkok.s3.amazonaws.com/192c078b6d45d6b2196ff3c396a3162e64f3f0ee8f.jpg)
จรงๆ แลวเมนอาหาร "ครวอรพน" มหลากหลายใหเลอกนะคะ....แตพลาดไมไดคงตองจดเมนตามปายโฆษณาของเคาเลยก**"ผดไทยไรเสนกงสด"** ขอบอกตอวาทงรสชาดความอรอยทไมเคยเปลยนพรอมกงตวใหญหลายตว ทำใหานไปทไรไมเคยเปลยนใจสงเมนนซะทเลย อ
![](//betterbangkok.s3.amazonaws.com/208359f6e140fedc4fa6b4f5a24133d01d8a32e1e9.jpg)
[Google Map](https://www.google.com/maps/preview#!q=14.624571%2C101.71539&data=!4m10!1m9!4m8!1m3!1d4559!2d101.71539!3d14.624571!3m2!1i1291!2i907!4f13.1)
านมาทางนเมอไร อยาลมแวะไปทานนะคะ....ขอบอกตอ ^__^

14
content/blog/2013-09-10-ความปลอดภัยบนท้องถนน.md

@ -0,0 +1,14 @@
title: ความปลอดภยบนทองถนน (ทหาไมอยจะได)
date: Sep 10, 2013 10:12 PM
author: sipp11
category: social
tags: failed
icon: building-o
slug: ความปลอดภยบนทองถนน
การขนถงแกสกนแบบหอย แกวงไกวเลยทเดยว -- สงสยถงแกสบานเราจะแขงแรงมากครบ 55
![](//betterbangkok.s3.amazonaws.com/21b59c97d26c23d6801fdf19d7f0e11de7674f3348.jpg)
@ถ.ประชาช

34
content/blog/2013-09-11-ทางหลวงพิเศษหมายเลข-6.md

@ -0,0 +1,34 @@
title: ทางหลวงพเศษหมายเลข 6
date: Sep 11, 2013 12:39 PM
author: sipp11
category: politic
tags: failed
slug: ทางหลวงพเศษหมายเลข-6
![](//betterbangkok.s3.amazonaws.com/400e0db80b79340da0687cfe6cea0af0d4a9c73cb7.png)
สำหรบการทำทางหลวงพเศษ ผมเปนคนนงทเหนดวยครบ จรงๆแลว ผมสนบสนนถนนอารมณอยแลว ซงมเงอนไขอย 3 ขอหลกๆ ในมมมองผม
1. ไม U-Turn ตรงกลางถนน
2. ไมคนเดน หรอ รานคาขางถนน
3. มทางเขา-ออกชดเจน ไม
ผมเชอวา ถนนประเภทน (อารมณเดยวกบ Interstate Highway System/Freeway System) จะชวยใหการคมนาคมเจรญขนเยอะมากครบ ทงความปลอดภย และความเรวทได
แตญหา คอ ถนนสายน ตามรปดานลาง มนคอ แทบจะเรยกวา ทบกบเสน พหลโยธน และมตรภาพ เลยน!@$%?
![](//betterbangkok.s3.amazonaws.com/2214da3bd3ee974b1c6510e0e10820dabbb8458f9c.jpg)
การทำเชนน ผมไมเหนวามนจะมประโยชนาอะไรขนมาเลยดวยซำไป ผมวา เอาเงนไปลงทนตดเสนใหมจากนครนายก ไมฉะเชงเทราตดผานเขาไปยงจะดกวามยเนย??? ถงตอนน ผมกไมเขาใจวา การสรางถนนทบกบถนนเสนหลกเดม มนจะชวยอะไร? ถาจะเปนอยางนงตอมอ ตรงกลางถนน แลวทำเปนยกระดบ นาจะมประโยชนกวาดวยซำ เพราะไมองลำบากทะเลาะกบชาวบาน เรองเวรคนทกตางหาก -.-
ประเทศไทย -.- เมอไหรนจะเจรญละเน
ref:
- [เปดแนวเวนคนทนมอเตอรเวยสายใหม "บางปะอน-โคราช" 196 กโลเมตร ผา 3 จงหวด 12 อำเภอ "พระนครศรอยธยา-สระบ-โคราช"][1]
- [Wikipedia ทางหลวงพเศษหมายเลข 6][2]
[1]: http://www.ncc.or.th/horkorat/index.php/news/163-motorway
[2]: http://th.wikipedia.org/wiki/%E0%B8%97%E0%B8%B2%E0%B8%87%E0%B8%AB%E0%B8%A5%E0%B8%A7%E0%B8%87%E0%B8%9E%E0%B8%B4%E0%B9%80%E0%B8%A8%E0%B8%A9%E0%B8%AB%E0%B8%A1%E0%B8%B2%E0%B8%A2%E0%B9%80%E0%B8%A5%E0%B8%82_6

67
content/blog/2013-09-15-ชุดนักศึกษา-ตีกรอบความคิด.md

@ -0,0 +1,67 @@
title: ชดนกศกษา ตกรอบความคดความเปนมนษย !@#!$
date: Sep 11, 2013 12:39 PM
author: sipp11
category: social
tags: failed
slug: ชดนกศกษา-ตกรอบความค
เรองมนกงมาหลายวนอยครบ แตผมไมอยจะไดตามขาวจนกระทงวนน ไดรายการ*เถยงใหเรอง*ทาง Thai PBS นงอม เนโกะ มาเถยงกบเคาดวย -.-
เทาทงประเดน ค
1. ชดนกศกษาตกรอบความเปนมนษย e.g. หามทำอะไรลวงเกน(สงศกดทธ?!@?) ชดนกศกษาทำใหทำอะไรตามใจไมไดเพราะกรอบทดนกศกษากำหนดไว
2. ธรรมศาสตรชาอะไรซกอยาง ทำไมตองบงคบใหใสดนกศกษา เพราะมนไมแสดงถงอะไรเลย แถมยงลำบากในหลายเรองเชนขน มอเตอรไซด หรอขกรยานลำบาก (เทาทงกแค 2 เรองนแตบอกวา หลายเรองนะครบ)
3. เรองเพศถกตกรอบ ถกหาม -- อนนจะเปนประเดนทแตกไปออกไปมากท
4. โสเภณ -- อนนจะเอามาเพออางในประเดนขอ 3
สรปไดา เดกนอยคนนเหมอนจะใชเหตผลเชน uniform สำคญในเรองการทำงาน ถาเคาจำเปนตองใช แตกลบบอกวา ในสถานการณเคาอยอ นกศกษา มเพอเรยนร uniform มนไมา แถมยงปดกนความคด การแสดงออก -- เออ ฟงแลวกเหมอนวา ตวเคายงสบสนอยเลยวา สรปเอาไงแน
แตกลบกลายเปนวา คนอนหลดไปกบประเดนอนวา (ประเดน 2) อ.ประจำวชาทเปนปญหามทธจำกดการใสดนกศกษาไดจรงราว? [เทาทงเหมอนวาจะขนกบการนยามคำวา ชดสภาพหละครบ ถาคดตามกฏท -- แตนกง subjective อกเลยไมทางหาขอสรปได]
ในเรองของประเดน 3 & 4 ไมเหนจำเปนจะตองสนใจเดกนพลามเลยครบ ไมไดวยใหแกญหา 1 และ/หรอ 2 ได แตญหาคอ นองเคามภาพบออาจจะขายไดมากกวามง -.-
**สรป**: ปากนองเคาดใชได แตไมใชา พดแบบเถยงไมไดนกเหลอแคหาคนทประเดนใหตรงจด นองเคาพดมาก มนกดมากอยแลว ไมองไปกลว 55 เลนใหตรงประเดนนองเคากาจะเงยบปากไดไมยาก ปญหาคอ สอตองการจะขายตอไปหรอไม.. กเทานน เหอๆ
ref:
- [เถยงใหเรอง @ThaiPBS via Facebook][1]
- [“อม เนโกะ” โตใสานชดนกศกษา แจงแคแตงเปน “กะหร” รวมกจกรรมคณะ][2]
- [ชดนกศกษาไมใสไดปะ][3]
- [“อม เนโกะ“ โผลบ! ตนคดโปสเตอรฉาวตานชดนกศกษา][4] [ฮอฮา-อาจารย-มธ.-โพสตปแตงชดนกศกษา][5]
----
>Sep 15, '13 1:58 PM
เพมเตมรปตามขาว (เดกนอยนเขาใจทำตวเปนขาวดจรงๆ คงจะถอวา บรรลตถประสงคครบ) :
![](//betterbangkok.s3.amazonaws.com/46632892efa33ba64b980080d2abf46e1d6065832b.jpg)
![](//betterbangkok.s3.amazonaws.com/234d043dc868ac7c7f9064db5d007cbcb485da4ba8.jpg)
Link ทเกยวของ:
- [Facebook มนษยศาสตรเสร][6]
----
>Sep 16, '13 9:30 PM
คดพลก: กลบกลายเปนวา นงเนโกะอะไรเนย เปนกะเทยซะงน แตคราวนจะซวยเพราะโดนชาวบานเลนเรองหมนเบองสงแทนแลวละซ ... สรปกลายเปนวา พกรรายการ Thai PBS แซวใหใสดนกศกษาชายนเพราะเคารเหรอเนย? แลวตอนนเคาใสด นศ ชาย หรอ หญงไปเรยนกนแนเนย !@?#$%$? ตวนองเคาคงจะสบสนมากมายจรงๆ
![](//betterbangkok.s3.amazonaws.com/3939b077c7237bcb395106e2b051d0d4455547c883.jpg)
านขาวเพมเตมได: [แจงจบกะเทย “อม เนโกะ” หมนเบองสง (ชมคลป) via ผดการ][7]
[1]: https://www.facebook.com/DebateThaiPBS
[2]: http://www.manager.co.th/Home/ViewNews.aspx?NewsID=9560000114226
[3]: http://www.dailynews.co.th/article/440/232065
[4]: http://news.sanook.com/1207625/%E0%B8%AD%E0%B8%B1%E0%B9%89%E0%B8%A1-%E0%B9%80%E0%B8%99%E0%B9%82%E0%B8%81%E0%B8%B0-%E0%B9%82%E0%B8%9C%E0%B8%A5%E0%B9%88%E0%B8%A3%E0%B8%B1%E0%B8%9A-%E0%B8%95%E0%B9%89%E0%B8%99%E0%B8%84%E0%B8%B4%E0%B8%94%E0%B9%82%E0%B8%9B%E0%B8%AA%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C%E0%B8%89%E0%B8%B2%E0%B8%A7%E0%B8%95%E0%B9%89%E0%B8%B2%E0%B8%99%E0%B8%8A%E0%B8%B8%E0%B8%94%E0%B8%99%E0%B8%B1%E0%B8%81%E0%B8%A8%E0%B8%B6%E0%B8%81%E0%B8%A9%E0%B8%B2/
[5]: http://news.sanook.com/1208694/%E0%B8%AE%E0%B8%B7%E0%B8%AD%E0%B8%AE%E0%B8%B2-%E0%B8%AD%E0%B8%B2%E0%B8%88%E0%B8%B2%E0%B8%A3%E0%B8%A2%E0%B9%8C-%E0%B8%A1%E0%B8%98.-%E0%B9%82%E0%B8%9E%E0%B8%AA%E0%B8%95%E0%B9%8C%E0%B8%A3%E0%B8%B9%E0%B8%9B%E0%B9%81%E0%B8%95%E0%B9%88%E0%B8%87%E0%B8%8A%E0%B8%B8%E0%B8%94%E0%B8%99%E0%B8%B1%E0%B8%81%E0%B8%A8%E0%B8%B6%E0%B8%81%E0%B8%A9%E0%B8%B2-%E0%B8%9A%E0%B8%AD%E0%B8%81%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99%E0%B8%8A%E0%B9%88%E0%B8%A7%E0%B8%87%E0%B9%80%E0%B8%A7%E0%B8%A5%E0%B8%B2%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B8%99%E0%B9%88%E0%B8%B2%E0%B8%88/
[6]: https://www.facebook.com/LiberalHumanCMU
[7]: http://manager.co.th/Crime/ViewNews.aspx?NewsID=9560000116683

16
content/blog/2013-09-16-ราคาน้ำมันเทียบกับโลก.md

@ -0,0 +1,16 @@
title: ราคานำมนเทยบกบโลก
date: Sep 16, '13 12:50 PM
author: sipp11
category: politic
tags: info
icon: line-chart
slug: ราคานำมนเทยบกบโลก
นนงใจจะเกบไวเปนขอมลมากกวา เพราะสงทาสนใจคอประเทศทำมนแพงทาสดในโลกคอ Norway และเหตผลทาสนใจคอ รฐเคาไมวยเรองนำมนเลยเพราะวาเงนทงหมดเอาไปใชสำหรบการพฒนาการศกษา (เรยนมหาวทยาลยฟร) และพฒนาระบบพนฐานของประเทศครบ โดยราคานำมน premium ของเคา (95 บานเรา) ก $10.12/gallon ซงกประมาณ $2.67/liter หรอ 85 บาทตอลตร
ประเดนกอ ราคาแพงกวาบานเราประมาณ 1.6 เทาแตเคาทำใหเดกเคาเรยนฟรไดเลยนะครบ แลวเมองไทยกบกองทนนำมนเราเอาไปใชไดอยางมประสทธภาพพอแลวหรอย
านขาวได: [Israel gas prices ranked third highest in the world via haaretz.com][1]
[1]: http://www.haaretz.com/business/israel-gas-prices-ranked-third-highest-in-the-world-1.459475

24
content/blog/2013-09-17-รวมปัญหา-condo.md

@ -0,0 +1,24 @@
title: รวมปญหา condo
date: Sep 17, 2013 10:55 PM
author: sipp11
category: estate
tags: info, condo
icon: building-o
slug: รวมปญหา-condo
วยความทโลก net มน share อะไรกนงายเรองกดเจน แตนกมงายครบ ผมกเลยกะวาจะใสๆไว อยางนอยกไวางอง ตามชอโครงการ สนดานของผประกอบการแตละรอบไว ok ครบ แนนอน มนไมไดแสดงวา มนจะเปนอยางนนทงหมด เรากไดแตอมลไวเพอประเมนความเสยงของแตละการตดสนใจคร
- the Base 77 จาก*แสนส* [2013-08-28] ฝนงนำซม - ทบเพอแกไขเจอโฟมและขยะ แทนทจะเปนมวลเบา
- 2013-08-28 [Kristopher George Houston เจาของหองทเจอปญหา][1]
- 2013-08-30 [Sansiri Family Facebook][2]
- 2013-08-30 [Sansiri blog ความคบหนาท 1][3]
- 2013-08-31 [ความคบหนาท 2][4]
- The Key จาก *Land & House* [2013-09-17] ปญหาความปลอดภย มลพษทางกลนและเสยงจาก generator ทางกบหองพกเพยงแคนคอนกรต[ via Pantip][5]
[1]: https://www.facebook.com/photo.php?fbid=10151630254676305&set=o.54651330333&type=1&theater
[2]: http://www.facebook.com/photo.php?fbid=10151599750940334&amp;set=a.126472610333.116815.54651330333&amp;type=1
[3]: http://announce.sansiriblog.com/?page_id=80
[4]: http://announce.sansiriblog.com/?page_id=82
[5]: http://pantip.com/topic/30992016

41
content/blog/2013-09-18-การจราจรไทย.md

@ -0,0 +1,41 @@
title: ภาพการจราจรเมองไทย: ขยายถนนไปกแกไมตรงจ
date: Sep 18, 2013 2:40 PM
author: sipp11
category: social
tags: failed, traffic
icon: building-o
slug: การจราจรไทย
---
คงเปนภาพชนตาของไมใชแคแถวจตกรละครบ แต@bytetheway เคาวาดไวดเจน อธบายทกอยางดมาก
![](//betterbangkok.s3.amazonaws.com/3552b2679a5459107c858e2faa53d14a9c232d26aa.jpg)
ามนยงเปนอยางน รถตดกคงยงอยเมองไทยตราบนานเทานานคร
ref: [Byte Narawan's Facebook][1]
![](//betterbangkok.s3.amazonaws.com/37a29292a0474b39857a51280e2b98ccfd01b4a5a9.jpg)
จะเปนระเบยบไดมากทดและ
![](//betterbangkok.s3.amazonaws.com/26802044a04acafac889340c38a120716f46fcf176.jpg)
ref: [Pantip](http://pantip.com/topic/31126753)
![](//betterbangkok.s3.amazonaws.com/2797d9bf0cc1919b78d60a83589989ce5b824741e2.jpg)
ref: [Facebook](https://www.facebook.com/photo.php?fbid=10151632900611945&set=a.136906796944.111876.550406944&type=1&theater)
![](//betterbangkok.s3.amazonaws.com/284aeaae17fa26579bc9503cac1d740bc61ec97d46.jpg)
![](//betterbangkok.s3.amazonaws.com/29e5e845aeededc9be11ea2c1f1b58fd7058e15532.jpg)
![](//betterbangkok.s3.amazonaws.com/45ac49ed7dff2c182220d88593494511fd47995beb.jpg)
ภาพ ณ วนท 19 ตลาคม 2013 -- ตำรวจเพมชองทางขาออกแถวๆ ฟารมโชคชย แตสรปวา กลายเปน ออกทกเลน ตามนย..ทเหนกนทวๆไป...ในเมองเรา ฮาๆ
ref: [Pantip](http://pantip.com/topic/31129500)
[1]: https://www.facebook.com/photo.php?fbid=10151181891478590&set=a.462796198589.247086.530968589&type=1&permPage=1

16
content/blog/2013-10-04-baluda-whale.md

@ -0,0 +1,16 @@
title: ดปลาวาฬทเพชรบ
date: Oct 4, 2013 11:56 PM
author: sipp11
category: travel
tags: whale, sea
icon: tree
slug: baluda-whale
![](//betterbangkok.s3.amazonaws.com/36dd33f36cbb458cdadb903f1c840817c90469b63d.jpg)
วนตวกงไมเคยไป แตนนาสนใจจรงๆ เทาทรายละเอยดเพอเตรยมพรอมไปก [ThaiWhales.org][1] ไมหาขอมลเพมเตมไดจาก [Facebook ของ ThaiWhales][2] นแหละครบ เทาทๆกาเรอประมาณ 10 คน ~ 4,000 บาท ครบ ออกเชาๆ เพราะวาฬจะเจอไดอยชวงเทยง (ชม. กวาๆ จากชายฝงบางตะบน จงหวดเพชรบ) แปะไวอน ถาไดไปจะ update เพมเตม ออ เรอเทาทานตองโทรจอง ไลเบอรไดตาม facebook ดานบนแหละ
[1]: http://www.thaiwhales.org/watching-travel
[2]: https://www.facebook.com/thaiwhales

12
content/blog/2013-10-07-ความฝันของกรุงเทพในอดีต.md

@ -0,0 +1,12 @@
title: ความฝนของกรงเทพในอด
date: Oct 7, 2013 6:41 PM
author: sipp11
category: social
tags: old, history, train
icon: building-o
slug: ความฝนของกรงเทพในอด
![](//betterbangkok.s3.amazonaws.com/2452b6695d44eafc1af2c6cc2edcd9103f7d8ece6b.jpg)
copy มาจาก facebook นานจนจำไมไดแลววา มนประมาณปไหน หรอเปนแผนทำรถไฟฟายงไงกนแน แตนกสวยสะอาดตาดนะครบ ตางจากวนนจรงๆ (หรอเพราะแคา ภาพทวาดมนกแคแตงดๆ)

10
content/blog/2013-10-07-แต่ละชิ้นส่วนของจักรยาน.md

@ -0,0 +1,10 @@
title: แตละชนสวนของจกรยาน
date: Oct 7, 2013 7:03 PM
author: sipp11
category: misc
tags: bike
icon: bicycle
slug: แตละชนสวนของจกรยาน
---
![](//betterbangkok.s3.amazonaws.com/25e5604b2e1318492a8a321e5ef705a45ba9ee24cf.jpg)

14
content/blog/2014-03-03-จราจรในจีน.md

@ -0,0 +1,14 @@
title: การจราจรของแยกในเมองจ
date: Mar 3, 2014 9:13 PM
author: sipp11
category: social
tags: failed, traffic
icon: building-o
slug: จราจรในจ
ๆแลว กไมางกบเมองไทยเลยแฮะ 55+ ไมเสยทคนไทยเปนลกหลานคนจนกนเยอะแยะ
![](//betterbangkok.s3.amazonaws.com/3028104c0bc6f227a95e61538c372a64fbbace1e53.jpg)
ref: [bbc](http://www.bbc.com/autos/story/20140228-in-china-traffic-as-tetris)

15
content/blog/2014-03-11-รวมปัญหาบ้านจัดสรร.md

@ -0,0 +1,15 @@
title: รวมปญหาบานจดสรร
date: Mar 11, 2014 5:07 PM
author: sipp11
category: estate
tags: info, house
icon: building-o
slug: รวมปญหาบานจดสรร
เกบๆ ไวตามสไตล
1. AP บานกลางกรง The Nice รชวภา [15 ลาน(กบ)ปญหา][1]
[1]: http://pantip.com/topic/31761383/story

16
content/blog/2014-06-22-เบอร์-call-center-มือถือ.md

@ -0,0 +1,16 @@
title: เบอรฟร Call Center สำหรบมอถอคายตางๆ
date: Jun 22, 2014 6:18 PM
author: sipp11
category: misc
tags: info
icon: briefcase
slug: เบอร-call-center-มอถ
วยขอบงคบของกฏหมายทกคายมอถอตองมเบอร Call Center ฟร แตบรทตางๆ กโปรโมทแตเบอร 4 หลก เพราะเปนทางทงคบใหาใชายได โดยทไมดกฏอะไร เพราะกเบอรฟรอยแลว ดงนนกพยายามใชเบอรฟรครบ :smile:
- AIS: 02-271-9263
- DTAC: 02-202-7267
- TRUE: 02-900-8088
งเกตวาเบอรเรศกนเลยทเดยว 55+ กอยางวามนไมไดสรางรายไดใหเคา ฮ

10
content/pages/projects.md

@ -0,0 +1,10 @@
title: Projects
date: Jan 29, 2015
The things we're doing:
|||
-|-|-
![#ShowtimesTH](http://zzyzx.co/static/showtimes-logo-144.png) | [#ShowtimesTH](http://showtimes.everyday.in.th/) | [![Play Store](http://zzyzx.co/static/en_generic_rgb_wo_45.png)](https://play.google.com/store/apps/details?id=co.zzyzx.showtimes.android)
![Expensy](http://getexpensy.com/static/images/logo_144.png) | [Expensy](http://getexpensy.com) | [![Play Store](http://zzyzx.co/static/en_generic_rgb_wo_45.png)](https://play.google.com/store/apps/details?id=co.zzyzx.expensy)
|

103
develop_server.sh

@ -0,0 +1,103 @@
#!/usr/bin/env bash
##
# This section should match your Makefile
##
PY=${PY:-python}
PELICAN=${PELICAN:-pelican}
PELICANOPTS=
BASEDIR=$(pwd)
INPUTDIR=$BASEDIR/content
OUTPUTDIR=$BASEDIR/output
CONFFILE=$BASEDIR/pelicanconf.py
###
# Don't change stuff below here unless you are sure
###
SRV_PID=$BASEDIR/srv.pid
PELICAN_PID=$BASEDIR/pelican.pid
function usage(){
echo "usage: $0 (stop) (start) (restart) [port]"
echo "This starts Pelican in debug and reload mode and then launches"
echo "an HTTP server to help site development. It doesn't read"
echo "your Pelican settings, so if you edit any paths in your Makefile"
echo "you will need to edit your settings as well."
exit 3
}
function alive() {
kill -0 $1 >/dev/null 2>&1
}
function shut_down(){
PID=$(cat $SRV_PID)
if [[ $? -eq 0 ]]; then
if alive $PID; then
echo "Stopping HTTP server"
kill $PID
else
echo "Stale PID, deleting"
fi
rm $SRV_PID
else
echo "HTTP server PIDFile not found"
fi
PID=$(cat $PELICAN_PID)
if [[ $? -eq 0 ]]; then
if alive $PID; then
echo "Killing Pelican"
kill $PID
else
echo "Stale PID, deleting"
fi
rm $PELICAN_PID
else
echo "Pelican PIDFile not found"
fi
}
function start_up(){
local port=$1
echo "Starting up Pelican and HTTP server"
shift
$PELICAN --debug --autoreload -r $INPUTDIR -o $OUTPUTDIR -s $CONFFILE $PELICANOPTS &
pelican_pid=$!
echo $pelican_pid > $PELICAN_PID
cd $OUTPUTDIR
$PY -m pelican.server $port &
srv_pid=$!
echo $srv_pid > $SRV_PID
cd $BASEDIR
sleep 1
if ! alive $pelican_pid ; then
echo "Pelican didn't start. Is the Pelican package installed?"
return 1
elif ! alive $srv_pid ; then
echo "The HTTP server didn't start. Is there another service using port" $port "?"
return 1
fi
echo 'Pelican and HTTP server processes now running in background.'
}
###
# MAIN
###
[[ ($# -eq 0) || ($# -gt 2) ]] && usage
port=''
[[ $# -eq 2 ]] && port=$2
if [[ $1 == "stop" ]]; then
shut_down
elif [[ $1 == "restart" ]]; then
shut_down
start_up $port
elif [[ $1 == "start" ]]; then
if ! start_up $port; then
shut_down
fi
else
usage
fi

104
fabfile.py vendored

@ -0,0 +1,104 @@
from fabric.api import *
import fabric.contrib.project as project
import os
import shutil
import sys
import SimpleHTTPServer
import SocketServer
theme_path = '/Volumes/momentus-xt/home/sipp11/dev/pelican-themes/twenty-html5up/'
# Local path configuration (can be absolute or relative to fabfile)
env.deploy_path = 'output'
DEPLOY_PATH = env.deploy_path
# Remote server configuration
production = 'root@localhost:22'
dest_path = '/var/www'
# Rackspace Cloud Files configuration settings
# env.cloudfiles_username = 'my_rackspace_username'
# env.cloudfiles_api_key = 'my_rackspace_api_key'
# env.cloudfiles_container = 'my_cloudfiles_container'
# Github Pages configuration
env.github_pages_branch = "gh-pages"
# Port for `serve`
PORT = 8000
def clean():
"""Remove generated files"""
if os.path.isdir(DEPLOY_PATH):
shutil.rmtree(DEPLOY_PATH)
os.makedirs(DEPLOY_PATH)
def build():
"""Build local version of site"""
local('pelican -s pelicanconf.py')
def rebuild():
"""`clean` then `build`"""
clean()
build()
def regenerate():
"""Automatically regenerate site upon file modification"""
local('pelican -r -s pelicanconf.py')
def serve():
"""Serve site at http://localhost:8000/"""
os.chdir(env.deploy_path)
class AddressReuseTCPServer(SocketServer.TCPServer):
allow_reuse_address = True
server = AddressReuseTCPServer(('', PORT), SimpleHTTPServer.SimpleHTTPRequestHandler)
sys.stderr.write('Serving on port {0} ...\n'.format(PORT))
server.serve_forever()
def reserve():
"""`build`, then `serve`"""
build()
serve()
def preview():
"""Build production version of site"""
local('pelican -s publishconf.py')
def cf_upload():
"""Publish to Rackspace Cloud Files"""
rebuild()
with lcd(DEPLOY_PATH):
local('swift -v -A https://auth.api.rackspacecloud.com/v1.0 '
'-U {cloudfiles_username} '
'-K {cloudfiles_api_key} '
'upload -c {cloudfiles_container} .'.format(**env))
@hosts(production)
def publish():
"""Publish to production via rsync"""
local('pelican -s publishconf.py')
project.rsync_project(
remote_dir=dest_path,
exclude=".DS_Store",
local_dir=DEPLOY_PATH.rstrip('/') + '/',
delete=True,
extra_opts='-c',
)
def gh_pages():
"""Publish to GitHub Pages"""
rebuild()
local("ghp-import -b {github_pages_branch} {deploy_path}".format(**env))
local("git push origin {github_pages_branch}".format(**env))
def collectstatic():
if os.path.isdir(DEPLOY_PATH):
local('mkdir -p {deploy_path}/css/ {deploy_path}/js/ {deploy_path}/fonts/ {deploy_path}/images/'.format(**env))
local('cp -rf {theme_path}/twenty/static/css/* {deploy_path}/css/'.format(**env))
local('cp -rf {theme_path}/twenty/static/js/* {deploy_path}/js/'.format(**env))
local('cp -rf {theme_path}/twenty/static/fonts/* {deploy_path}/fonts/'.format(**env))
local('cp -rf {theme_path}/twenty/static/images/* {deploy_path}/images/'.format(**env))

23
filters.py

@ -0,0 +1,23 @@
from jinja2.utils import Markup
from jinja2._compat import text_type
import re
def do_stringtags_and_img(value):
"""
Strip SGML/XML tags and replace adjacent whitespace by one space.
"""
if hasattr(value, '__html__'):
value = value.__html__()
no_img_part = re.sub(r'<img(.?)*src=\"(.?)*[\"\s\/>]+?', "", value)
return Markup(text_type(no_img_part)).striptags()
def sidebar(value):
value = '%s' % value
if value.startswith('archives') or value.startswith('category'):
return 'right-sidebar'
elif value == 'index':
return 'index'
else:
return 'no-sidebar'

68
pelicanconf.py

@ -0,0 +1,68 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals
AUTHOR = u'sipp11'
SITENAME = u'everyday'
SITEURL = 'http://everyday.in.th'
PATH = 'content'
TIMEZONE = 'Asia/Bangkok'
DEFAULT_LANG = u'th'
PDF_GENERATOR = True
DISQUS_SITENAME = 'everyday-in-th'
GOOGLE_ANALYTICS = 'UA-34877059-5'
# Feed generation is usually not desired when developing
FEED_ALL_ATOM = None
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None
ARTICLE_PATHS = ['blog', 'tech']
ARTICLE_SAVE_AS = '{date:%Y}/{date:%m}/{slug}/index.html'
ARTICLE_URL = '{date:%Y}/{date:%m}/{slug}/'
PAGE_URL = 'pages/{slug}/'
PAGE_SAVE_AS = 'pages/{slug}/index.html'
CATEGORY_URL = 'category/{slug}/'
CATEGORY_SAVE_AS = 'category/{slug}/index.html'
TAG_URL = 'tag/{slug}/'
TAG_SAVE_AS = 'tag/{slug}/index.html'
DISPLAY_PAGES_ON_MENU = True
TYPOGRIFY = True
# Blogroll
LINKS = (
# ('Pelican', 'http://getpelican.com/'),
# ('Python.org', 'http://python.org/'),
# ('Jinja2', 'http://jinja.pocoo.org/'),
)
# Social widget
SOCIAL = (
)
AUTHORS = {
u'sipp11': '/about.html',
}
DEFAULT_PAGINATION = 10
# Uncomment following line if you want document-relative URLs when developing
RELATIVE_URLS = True
THEME = 'themes/notmyideaever'
# THEME = 'themes/chameleon'
import sys
sys.path.append('.')
from filters import sidebar, do_stringtags_and_img
JINJA_FILTERS = {
'sidebar': sidebar,
'stringtags_and_img': do_stringtags_and_img,
}

24
publishconf.py

@ -0,0 +1,24 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals
# This file is only used if you use `make publish` or
# explicitly specify it as your config file.
import os
import sys
sys.path.append(os.curdir)
from pelicanconf import *
SITEURL = ''
RELATIVE_URLS = False
FEED_ALL_ATOM = 'feeds/all.atom.xml'
CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml'
DELETE_OUTPUT_DIRECTORY = True
# Following items are often useful when publishing
#DISQUS_SITENAME = ""
#GOOGLE_ANALYTICS = ""

454
themes/notmyideaever/static/css/main.css

@ -0,0 +1,454 @@
/*
Name: Smashing HTML5
Date: July 2009
Description: Sample layout for HTML5 and CSS3 goodness.
Version: 1.0
License: MIT <http://opensource.org/licenses/MIT>
Licensed by: Smashing Media GmbH <http://www.smashingmagazine.com/>
Original author: Enrique Ramírez <http://enrique-ramirez.com/>
*/
/* Imports */
@import url("reset.css");
@import url("pygment.css");
@import url("typogrify.css");
@import url(//fonts.googleapis.com/css?family=Yanone+Kaffeesatz&subset=latin);
/***** Global *****/
/* Body */
body {
background: #F5F4EF;
color: #000305;
font-size: 87.5%; /* Base font size: 14px */
font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
line-height: 1.429;
margin: 0;
padding: 0;
text-align: left;
}
/* Headings */
h1 {font-size: 2em }
h2 {font-size: 1.571em} /* 22px */
h3 {font-size: 1.429em} /* 20px */
h4 {font-size: 1.286em} /* 18px */
h5 {font-size: 1.143em} /* 16px */
h6 {font-size: 1em} /* 14px */
h1, h2, h3, h4, h5, h6 {
font-weight: 400;
line-height: 1.1;
margin-bottom: .8em;
font-family: 'Yanone Kaffeesatz', arial, serif;
}
h3, h4, h5, h6 { margin-top: .8em; }
hr { border: 2px solid #EEEEEE; }
p>img { width: 100%; }
.muted { color: #aaa; }
/* Anchors */
a {outline: 0;}
a img {border: 0px; text-decoration: none;}
a:link, a:visited {
color: #C74350;
padding: 0 1px;
text-decoration: underline;
}
a:hover, a:active {
background-color: #C74350;
color: #fff;
text-decoration: none;
text-shadow: 1px 1px 1px #333;
}
h1 a:hover {
background-color: inherit
}
/* Paragraphs */
div.line-block,
p { margin-top: 1em;
margin-bottom: 1em;}
strong, b {font-weight: bold;}
em, i {font-style: italic;}
/* Lists */
ul {
list-style: outside disc;
margin: 0em 0 0 1.5em;
}
ol {
list-style: outside decimal;
margin: 0em 0 0 1.5em;
}
li { margin-top: 0.5em;}
.post-info {
float:right;
margin:10px;
padding:5px;
}
.post-info p{
margin-top: 1px;
margin-bottom: 1px;
}
.readmore { float: right }
dl {margin: 0 0 1.5em 0;}
dt {font-weight: bold;}
dd {margin-left: 1.5em;}
pre{background-color: rgb(238, 238, 238); padding: 10px; margin: 10px; overflow: auto;}
/* Quotes */
blockquote {
margin: 20px;
font-style: italic;
}
cite {}
q {}
div.note {
float: right;
margin: 5px;
font-size: 85%;
max-width: 300px;
}
/* Tables */
table {margin: .5em auto 1.5em auto; width: 98%;}
/* Thead */
thead th {padding: .5em .4em; text-align: left;}
thead td {}
/* Tbody */
tbody td {padding: .5em .4em;}
tbody th {}
tbody .alt td {}
tbody .alt th {}
/* Tfoot */
tfoot th {}
tfoot td {}
/* HTML5 tags */
header, section, footer,
aside, nav, article, figure {
display: block;
}
/***** Layout *****/
.body {clear: both; margin: 0 auto; width: 800px;}
img.right, figure.right {float: right; margin: 0 0 2em 2em;}
img.left, figure.left {float: left; margin: 0 2em 2em 0;}
/*
Header
*****************/
#banner {
margin: 0 auto;
padding: 2.5em 0 0 0;
}
/* Banner */
#banner h1 {font-size: 3.571em; line-height: 0;}
#banner h1 a:link, #banner h1 a:visited {
color: #000305;
display: block;
font-weight: bold;
margin: 0 0 .6em .2em;
text-decoration: none;
}
#banner h1 a:hover, #banner h1 a:active {
background: none;
color: #C74350;
text-shadow: none;
}
#banner h1 strong {font-size: 0.36em; font-weight: normal;}
/* Main Nav */
#banner nav {
background: #000305;
font-size: 1.143em;
height: 40px;
line-height: 30px;
margin: 0 auto 2em auto;
padding: 0;
text-align: center;
width: 800px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
#banner nav ul {list-style: none; margin: 0 auto; width: 800px;}
#banner nav li {float: left; display: inline; margin: 0;}
#banner nav a:link, #banner nav a:visited {
color: #fff;
display: inline-block;
height: 30px;
padding: 5px 1.5em;
text-decoration: none;
}
#banner nav a:hover, #banner nav a:active,
#banner nav .active a:link, #banner nav .active a:visited {
background: #C74451;
color: #fff;
text-shadow: none !important;
}
#banner nav li:first-child a {
border-top-left-radius: 5px;
-moz-border-radius-topleft: 5px;
-webkit-border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
-moz-border-radius-bottomleft: 5px;
-webkit-border-bottom-left-radius: 5px;
}
/*
Featured
*****************/
#featured {
background: #fff;
margin-bottom: 2em;
overflow: hidden;
padding: 20px;
width: 760px;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
#featured figure {
border: 2px solid #eee;
float: right;
margin: 0.786em 2em 0 5em;
width: 248px;
}
#featured figure img {display: block; float: right;}
#featured h2 {color: #C74451; font-size: 1.714em; margin-bottom: 0.333em;}
#featured h3 {font-size: 1.429em; margin-bottom: .5em;}
#featured h3 a:link, #featured h3 a:visited {color: #000305; text-decoration: none;}
#featured h3 a:hover, #featured h3 a:active {color: #fff;}
/*
Body
*****************/
#content {
background: #fff;
margin-bottom: 2em;
overflow: hidden;
padding: 20px 20px;
width: 760px;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
/*
Extras
*****************/
#extras {margin: 0 auto 3em auto; overflow: hidden;}
#extras ul {list-style: none; margin: 0;}
#extras li {border-bottom: 1px solid #fff;}
#extras h2 {
color: #C74350;
font-size: 1.429em;
margin-bottom: .25em;
padding: 0 3px;
}
#extras a:link, #extras a:visited {
color: #444;
display: block;
border-bottom: 1px solid #F4E3E3;
text-decoration: none;
padding: .3em .25em;
}
#extras a:hover, #extras a:active {color: #fff;}
/* Blogroll */
#extras .blogroll {
float: left;
width: 615px;
}
#extras .blogroll li {float: left; margin: 0 20px 0 0; width: 185px;}
/* Social */
#extras .social {
float: right;
width: 175px;
}
#extras div[class='social'] a {
background-repeat: no-repeat;
background-position: 3px 6px;
padding-left: 25px;
}
/* Icons */
.social a[href*='about.me'] {background-image: url('../images/icons/aboutme.png');}
.social a[href*='bitbucket.org'] {background-image: url('../images/icons/bitbucket.png');}
.social a[href*='delicious.com'] {background-image: url('../images/icons/delicious.png');}
.social a[href*='digg.com'] {background-image: url('../images/icons/digg.png');}
.social a[href*='facebook.com'] {background-image: url('../images/icons/facebook.png');}
.social a[href*='gitorious.org'] {background-image: url('../images/icons/gitorious.png');}
.social a[href*='github.com'],
.social a[href*='git.io'] {
background-image: url('../images/icons/github.png');
background-size: 16px 16px;
}
.social a[href*='gittip.com'] {background-image: url('../images/icons/gittip.png');}
.social a[href*='plus.google.com'] {background-image: url('../images/icons/google-plus.png');}
.social a[href*='groups.google.com'] {background-image: url('../images/icons/google-groups.png');}
.social a[href*='news.ycombinator.com'],
.social a[href*='hackernewsers.com'] {background-image: url('../images/icons/hackernews.png');}
.social a[href*='last.fm'], .social a[href*='lastfm.'] {background-image: url('../images/icons/lastfm.png');}
.social a[href*='linkedin.com'] {background-image: url('../images/icons/linkedin.png');}
.social a[href*='reddit.com'] {background-image: url('../images/icons/reddit.png');}
.social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('../images/icons/rss.png');}
.social a[href*='slideshare.net'] {background-image: url('../images/icons/slideshare.png');}
.social a[href*='speakerdeck.com'] {background-image: url('../images/icons/speakerdeck.png');}
.social a[href*='stackoverflow.com'] {background-image: url('../images/icons/stackoverflow.png');}
.social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');}
.social a[href*='vimeo.com'] {background-image: url('../images/icons/vimeo.png');}
.social a[href*='youtube.com'] {background-image: url('../images/icons/youtube.png');}
/*
About
*****************/
#about {
background: #fff;
font-style: normal;
margin-bottom: 2em;
overflow: hidden;
padding: 20px;
text-align: left;
width: 760px;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
#about .primary {float: left; width: 165px;}
#about .primary strong {color: #C64350; display: block; font-size: 1.286em;}
#about .photo {float: left; margin: 5px 20px;}
#about .url:link, #about .url:visited {text-decoration: none;}
#about .bio {float: right; width: 500px;}
/*
Footer
*****************/
#contentinfo {padding-bottom: 2em; text-align: right;}
/***** Sections *****/
/* Blog */
.hentry {
display: block;
clear: both;
border-bottom: 1px solid #eee;
padding: 1.5em 0;
}
li:last-child .hentry, #content > .hentry {border: 0; margin: 0;}
#content > .hentry {padding: 1em 0;}
.hentry img{display : none ;}
.entry-title {font-size: 3em; margin-bottom: 10px; margin-top: 0;}
.entry-title a:link, .entry-title a:visited {text-decoration: none; color: #333;}
.entry-title a:visited {background-color: #fff;}
.hentry .post-info * {font-style: normal;}
/* Content */
.hentry footer {margin-bottom: 2em;}
.hentry footer address {display: inline;}
#posts-list footer address {display: block;}
/* Blog Index */
#posts-list {list-style: none; margin: 0;}
#posts-list .hentry {padding-left: 10px; position: relative;}
#posts-list footer {
left: 10px;
position: relative;
float: left;
top: 0.5em;
width: 190px;
}
/* About the Author */
#about-author {
background: #f9f9f9;
clear: both;
font-style: normal;
margin: 2em 0;
padding: 10px 20px 15px 20px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
#about-author strong {
color: #C64350;
clear: both;
display: block;
font-size: 1.429em;
}
#about-author .photo {border: 1px solid #ddd; float: left; margin: 5px 1em 0 0;}
/* Comments */
#comments-list {list-style: none; margin: 0 1em;}
#comments-list blockquote {
background: #f8f8f8;
clear: both;
font-style: normal;
margin: 0;
padding: 15px 20px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
#comments-list footer {color: #888; padding: .5em 1em 0 0; text-align: right;}
#comments-list li:nth-child(2n) blockquote {background: #F5f5f5;}
/* Add a Comment */
#add-comment label {clear: left; float: left; text-align: left; width: 150px;}
#add-comment input[type='text'],
#add-comment input[type='email'],
#add-comment input[type='url'] {float: left; width: 200px;}
#add-comment textarea {float: left; height: 150px; width: 495px;}
#add-comment p.req {clear: both; margin: 0 .5em 1em 0; text-align: right;}
#add-comment input[type='submit'] {float: right; margin: 0 .5em;}
#add-comment * {margin-bottom: .5em;}

205
themes/notmyideaever/static/css/pygment.css

@ -0,0 +1,205 @@
.hll {
background-color:#eee;
}
.c {
color:#408090;
font-style:italic;
}
.err {
border:1px solid #FF0000;
}
.k {
color:#007020;
font-weight:bold;
}
.o {
color:#666666;
}
.cm {
color:#408090;
font-style:italic;
}
.cp {
color:#007020;
}
.c1 {
color:#408090;
font-style:italic;
}
.cs {
background-color:#FFF0F0;
color:#408090;
}
.gd {
color:#A00000;
}
.ge {
font-style:italic;
}
.gr {
color:#FF0000;
}
.gh {
color:#000080;
font-weight:bold;
}
.gi {
color:#00A000;
}
.go {
color:#303030;
}
.gp {
color:#C65D09;
font-weight:bold;
}
.gs {
font-weight:bold;
}
.gu {
color:#800080;
font-weight:bold;
}
.gt {
color:#0040D0;
}
.kc {
color:#007020;
font-weight:bold;
}
.kd {
color:#007020;
font-weight:bold;
}
.kn {
color:#007020;
font-weight:bold;
}
.kp {
color:#007020;
}
.kr {
color:#007020;
font-weight:bold;
}
.kt {
color:#902000;
}
.m {
color:#208050;
}
.s {
color:#4070A0;
}
.na {
color:#4070A0;
}
.nb {
color:#007020;
}
.nc {
color:#0E84B5;
font-weight:bold;
}
.no {
color:#60ADD5;
}
.nd {
color:#555555;
font-weight:bold;
}
.ni {
color:#D55537;
font-weight:bold;
}
.ne {
color:#007020;
}
.nf {
color:#06287E;
}
.nl {
color:#002070;
font-weight:bold;
}
.nn {
color:#0E84B5;
font-weight:bold;
}
.nt {
color:#062873;
font-weight:bold;
}
.nv {
color:#BB60D5;
}
.ow {
color:#007020;
font-weight:bold;
}
.w {
color:#BBBBBB;
}
.mf {
color:#208050;
}
.mh {
color:#208050;
}
.mi {
color:#208050;
}
.mo {
color:#208050;
}
.sb {
color:#4070A0;
}
.sc {
color:#4070A0;
}
.sd {
color:#4070A0;
font-style:italic;
}
.s2 {
color:#4070A0;
}
.se {
color:#4070A0;
font-weight:bold;
}
.sh {
color:#4070A0;
}
.si {
color:#70A0D0;
font-style:italic;
}
.sx {
color:#C65D09;
}
.sr {
color:#235388;
}
.s1 {
color:#4070A0;
}
.ss {
color:#517918;
}
.bp {
color:#007020;
}
.vc {
color:#BB60D5;
}
.vg {
color:#BB60D5;
}
.vi {
color:#BB60D5;
}
.il {
color:#208050;
}

52
themes/notmyideaever/static/css/reset.css

@ -0,0 +1,52 @@
/*
Name: Reset Stylesheet
Description: Resets browser's default CSS
Author: Eric Meyer
Author URI: http://meyerweb.com/eric/tools/css/reset/
*/
/* v1.0 | 20080212 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
background: transparent;
border: 0;
font-size: 100%;
margin: 0;
outline: 0;
padding: 0;
vertical-align: baseline;
}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
/* remember to highlight inserts somehow! */
ins {text-decoration: none;}
del {text-decoration: line-through;}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}

3
themes/notmyideaever/static/css/typogrify.css

@ -0,0 +1,3 @@
.caps {font-size:.92em;}
.amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;}
.dquo {margin-left:-.38em;}

48
themes/notmyideaever/static/css/wide.css

@ -0,0 +1,48 @@
@import url("main.css");
body {
font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif;
}
.post-info{
display: none;
}
#banner nav {
display: none;
-moz-border-radius: 0px;
margin-bottom: 20px;
overflow: hidden;
font-size: 1em;
background: #F5F4EF;
}
#banner nav ul{
padding-right: 50px;
}
#banner nav li{
float: right;
color: #000;
}
#banner nav li a {
color: #000;
}
#banner h1 {
margin-bottom: -18px;
}
#featured, #extras {
padding: 50px;
}
#featured {
padding-top: 20px;
}
#extras {
padding-top: 0px;
padding-bottom: 0px;
}

BIN
themes/notmyideaever/static/images/icons/aboutme.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 751 B

BIN
themes/notmyideaever/static/images/icons/bitbucket.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
themes/notmyideaever/static/images/icons/delicious.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 958 B

BIN
themes/notmyideaever/static/images/icons/facebook.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

BIN
themes/notmyideaever/static/images/icons/github.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
themes/notmyideaever/static/images/icons/gitorious.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

BIN
themes/notmyideaever/static/images/icons/gittip.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 B

BIN
themes/notmyideaever/static/images/icons/google-groups.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 B

BIN
themes/notmyideaever/static/images/icons/google-plus.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 B

BIN
themes/notmyideaever/static/images/icons/hackernews.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
themes/notmyideaever/static/images/icons/lastfm.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 975 B

BIN
themes/notmyideaever/static/images/icons/linkedin.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

BIN
themes/notmyideaever/static/images/icons/reddit.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

BIN
themes/notmyideaever/static/images/icons/rss.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 B

BIN
themes/notmyideaever/static/images/icons/slideshare.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

BIN
themes/notmyideaever/static/images/icons/speakerdeck.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
themes/notmyideaever/static/images/icons/stackoverflow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 B

BIN
themes/notmyideaever/static/images/icons/twitter.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 830 B

BIN
themes/notmyideaever/static/images/icons/vimeo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 B

BIN
themes/notmyideaever/static/images/icons/youtube.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

46
themes/notmyideaever/templates/analytics.html

@ -0,0 +1,46 @@
{% if GOOGLE_ANALYTICS %}
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{GOOGLE_ANALYTICS}}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
{% endif %}
{% if GAUGES %}
<script type="text/javascript">
var _gauges = _gauges || [];
(function() {
var t = document.createElement('script');
t.type = 'text/javascript';
t.async = true;
t.id = 'gauges-tracker';
t.setAttribute('data-site-id', '{{GAUGES}}');
t.src = '//secure.gaug.es/track.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(t, s);
})();
</script>
{% endif %}
{% if PIWIK_URL and PIWIK_SITE_ID %}
<script type="text/javascript">
{% if PIWIK_SSL_URL %}
var pkBaseURL = "{{ PIWIK_SSL_URL }}";
{% else %}
var pkBaseURL = "{{ PIWIK_URL }}";
{% endif %}
var _paq = _paq || [];
_paq.push(["trackPageView"]);
_paq.push(["enableLinkTracking"]);
(function() {
var u=(("https:" == document.location.protocol) ? "https" : "http")+"://"+pkBaseURL+"/";
_paq.push(["setTrackerUrl", u+"piwik.php"]);
_paq.push(["setSiteId", "{{ PIWIK_SITE_ID }}"]);
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
})();
</script>
{% endif %}

13
themes/notmyideaever/templates/archives.html

@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block content %}
<section id="content" class="body">
<h1>Archives for {{ SITENAME }}</h1>
<dl>
{% for article in dates %}
<dt>{{ article.locale_date }}</dt>
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
{% endfor %}
</dl>
</section>
{% endblock %}

41
themes/notmyideaever/templates/article.html

@ -0,0 +1,41 @@
{% extends "base.html" %}
{% block title %}{{ article.title|striptags }}{% endblock %}
{% block content %}
<section id="content" class="body">
<article>
<header>
<h1 class="entry-title">
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h1>
{% include 'twitter.html' %}
</header>
<div class="entry-content">
{% include 'article_infos.html' %}
{{ article.content }}
</div><!-- /.entry-content -->
{% include 'most_recent.html' %}
<br/><br/>
{% if DISQUS_SITENAME and SITEURL and article.status != "draft" %}
<div class="comments">
<h2>Comments !</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = '{{ DISQUS_SITENAME }}';
var disqus_identifier = '{{ article.url }}';
var disqus_url = '{{ SITEURL }}/{{ article.url }}';
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//{{ DISQUS_SITENAME }}.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the comments.</noscript>
</div>
{% endif %}
</article>
</section>
{% endblock %}

23
themes/notmyideaever/templates/article_infos.html

@ -0,0 +1,23 @@
<footer class="post-info">
<abbr class="published" title="{{ article.date.isoformat() }}">
Published: {{ article.locale_date }}
</abbr>
{% if article.modified %}
<br />
<abbr class="modified" title="{{ article.modified.isoformat() }}">
Updated: {{ article.locale_modified }}
</abbr>
{% endif %}
{% if article.authors %}
<address class="vcard author">
By {% for author in article.authors %}
<a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
{% endfor %}
</address>
{% endif %}
<p>In <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>. {% if PDF_PROCESSOR %}<a href="{{ SITEURL }}/pdf/{{ article.slug }}.pdf">get the pdf</a>{% endif %}</p>
{% include 'taglist.html' %}
{% import 'translations.html' as translations with context %}
{{ translations.translations_for(article) }}
</footer><!-- /.post-info -->

2
themes/notmyideaever/templates/author.html

@ -0,0 +1,2 @@
{% extends "index.html" %}
{% block title %}{{ SITENAME }} - {{ author }}{% endblock %}

16
themes/notmyideaever/templates/authors.html

@ -0,0 +1,16 @@
{% extends "base.html" %}
{% block title %}{{ SITENAME }} - Authors{% endblock %}
{% block content %}
<section id="content" class="body">
<h1>Authors on {{ SITENAME }}</h1>
<ul>
{% for author, articles in authors|sort %}
<li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li>
{% endfor %}
</ul>
</section>
{% endblock %}

82
themes/notmyideaever/templates/base.html

@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang="{{ DEFAULT_LANG }}">
<head>
<meta charset="utf-8" />
<title>{% block title %}{{ SITENAME }}{%endblock%}</title>
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/{{ CSS_FILE }}" />
{% if FEED_ALL_ATOM %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
{% endif %}
{% if FEED_ALL_RSS %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
{% endif %}
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body id="index" class="home">
{% include 'github.html' %}
<header id="banner" class="body">
<h1><a href="{{ SITEURL }}/">{{ SITENAME }} {% if SITESUBTITLE %} <strong>{{ SITESUBTITLE }}</strong>{% endif %}</a></h1>
<nav><ul>
{% for title, link in MENUITEMS %}
<li><a href="{{ link }}">{{ title }}</a></li>
{% endfor %}
{% if DISPLAY_PAGES_ON_MENU -%}
{% for pg in PAGES %}
<li{% if pg == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ pg.url }}">{{ pg.title }}</a></li>
{% endfor %}
{% endif %}
{% if DISPLAY_CATEGORIES_ON_MENU -%}
{% for cat, null in categories %}
<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% endfor %}
{% endif %}
</ul></nav>
</header><!-- /#banner -->
{% block content %}
{% endblock %}
<section id="extras" class="body">
{% if LINKS %}
<div class="blogroll">
<h2>blogroll</h2>
<ul>
{% for name, link in LINKS %}
<li><a href="{{ link }}">{{ name }}</a></li>
{% endfor %}
</ul>
</div><!-- /.blogroll -->
{% endif %}
{% if SOCIAL or FEED_ALL_ATOM or FEED_ALL_RSS %}
<div class="social">
<h2>social</h2>
<ul>
{% if FEED_ALL_ATOM %}
<li><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate">atom feed</a></li>
{% endif %}
{% if FEED_ALL_RSS %}
<li><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate">rss feed</a></li>
{% endif %}
{% for name, link in SOCIAL %}
<li><a href="{{ link }}">{{ name }}</a></li>
{% endfor %}
</ul>
</div><!-- /.social -->
{% endif %}
</section><!-- /#extras -->
<footer id="contentinfo" class="body">
<address id="about" class="vcard body">
Proudly powered by <a href="http://getpelican.com/">Pelican</a>, which takes great advantage of <a href="http://python.org">Python</a>.
</address><!-- /#about -->
<p>The theme is by <a href="http://coding.smashingmagazine.com/2009/08/04/designing-a-html-5-layout-from-scratch/">Smashing Magazine</a>, thanks!</p>
</footer><!-- /#contentinfo -->
{% include 'analytics.html' %}
{% include 'disqus_script.html' %}
</body>
</html>

2
themes/notmyideaever/templates/category.html

@ -0,0 +1,2 @@
{% extends "index.html" %}
{% block title %}{{ SITENAME }} - {{ category }}{% endblock %}

1
themes/notmyideaever/templates/comments.html

@ -0,0 +1 @@
{% if DISQUS_SITENAME %}<p>There are <a href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>.</p>{% endif %}

11
themes/notmyideaever/templates/disqus_script.html

@ -0,0 +1,11 @@
{% if DISQUS_SITENAME %}
<script type="text/javascript">
var disqus_shortname = '{{ DISQUS_SITENAME }}';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = '//' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
{% endif %}

9
themes/notmyideaever/templates/github.html

@ -0,0 +1,9 @@
{% if GITHUB_URL %}
<a href="{{ GITHUB_URL }}">
{% if GITHUB_POSITION != "left" %}
<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub" />
{% else %}
<img style="position: absolute; top: 0; left: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_left_white_ffffff.png" alt="Fork me on GitHub" />
{% endif %}
</a>
{% endif %}

64
themes/notmyideaever/templates/index.html

@ -0,0 +1,64 @@
{% extends "base.html" %}
{% block content_title %}{% endblock %}
{% block content %}
{% if articles %}
{% for article in articles_page.object_list %}
{# First item #}
{% if loop.first and not articles_page.has_previous() %}
<aside id="featured" class="body">
<article>
<h1 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></h1>
{% include 'article_infos.html' %}{{ article.content }}{% include 'comments.html' %}
</article>
{% if loop.length == 1 %}
{% include 'pagination.html' %}
{% endif %}
</aside><!-- /#featured -->
{% if loop.length > 1 %}
<section id="content" class="body">
<h1>Other articles</h1>
<hr />
<ol id="posts-list" class="hfeed">
{% endif %}
{# other items #}
{% else %}
{% if loop.first and articles_page.has_previous %}
<section id="content" class="body">
<ol id="posts-list" class="hfeed" start="{{ articles_paginator.per_page -1 }}">
{% endif %}
<li><article class="hentry">
<header>
<h1><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h1>
</header>
<div class="entry-content">
{% include 'article_infos.html' %}
{{ article.summary }}
<a class="readmore" href="{{ SITEURL }}/{{ article.url }}">read more</a>
{% include 'comments.html' %}
</div><!-- /.entry-content -->
</article></li>
{% endif %}
{% if loop.last %}
{% if loop.length > 1 %}
</ol><!-- /#posts-list -->
{% endif %}
{% if articles_page.has_previous() or loop.length > 1 %}
{% include 'pagination.html' %}
{% endif %}
{% if loop.length > 1 %}
</section><!-- /#content -->
{% endif %}
{% endif %}
{% endfor %}
{% else %}
<section id="content" class="body">
<h2>Pages</h2>
{% for page in PAGES %}
<li><a href="{{ SITEURL }}/{{ page.url }}">{{ page.title }}</a></li>
{% endfor %}
</section>
{% endif %}
{% endblock content %}

14
themes/notmyideaever/templates/most_recent.html

@ -0,0 +1,14 @@
<section class="wrapper style1 container special">
<br/>
<h2>Most Recents</h2>
<div class="row">
<ul>
{% for article in articles[:3] %}
<li>
<a href="{{ SITEURL }}/{{ article.url }}" rel='bookmark'>{{ article.title }}</a>
{{ article.content[:196]|stringtags_and_img }} <span class="muted">{{ article.locale_date }}</span>
</li>
{% endfor %}
</ul>
</div>
</section>

12
themes/notmyideaever/templates/page.html

@ -0,0 +1,12 @@
{% extends "base.html" %}
{% block title %}{{ page.title }}{% endblock %}
{% block content %}
<section id="content" class="body">
<h1 class="entry-title">{{ page.title }}</h1>
{% import 'translations.html' as translations with context %}
{{ translations.translations_for(page) }}
{% if PDF_PROCESSOR %}<a href="{{ SITEURL }}/pdf/{{ page.slug }}.pdf">get
the pdf</a>{% endif %}
{{ page.content }}
</section>
{% endblock %}

13
themes/notmyideaever/templates/period_archives.html

@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block content %}
<section id="content" class="body">
<h1>Archives for {{ period | reverse | join(' ') }}</h1>
<dl>
{% for article in dates %}
<dt>{{ article.locale_date }}</dt>
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
{% endfor %}
</dl>
</section>
{% endblock %}

2
themes/notmyideaever/templates/tag.html

@ -0,0 +1,2 @@
{% extends "index.html" %}
{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %}

2
themes/notmyideaever/templates/taglist.html

@ -0,0 +1,2 @@
{% if article.tags %}<p>tags: {% for tag in article.tags %}<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag | escape }}</a> {% endfor %}</p>{% endif %}
{% if PDF_PROCESSOR %}<p><a href="{{ SITEURL }}/pdf/{{ article.slug }}.pdf">get the pdf</a></p>{% endif %}

16
themes/notmyideaever/templates/tags.html

@ -0,0 +1,16 @@
{% extends "base.html" %}
{% block title %}{{ SITENAME }} - Tags{% endblock %}
{% block content %}
<section id="content" class="body">
<h1>Tags for {{ SITENAME }}</h1>
<ul>
{% for tag, articles in tags|sort %}
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
{% endfor %}
</ul>
</section>
{% endblock %}

8
themes/notmyideaever/templates/translations.html

@ -0,0 +1,8 @@
{% macro translations_for(article) %}
{% if article.translations %}
Translations:
{% for translation in article.translations %}
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
{% endfor %}
{% endif %}
{% endmacro %}

3
themes/notmyideaever/templates/twitter.html

@ -0,0 +1,3 @@
{% if TWITTER_USERNAME %}
<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="{{TWITTER_USERNAME}}">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>
{% endif %}
Loading…
Cancel
Save