├── output ├── theme │ ├── images │ │ └── icons │ │ │ ├── rss.png │ │ │ ├── vimeo.png │ │ │ ├── aboutme.png │ │ │ ├── github.png │ │ │ ├── gittip.png │ │ │ ├── lastfm.png │ │ │ ├── reddit.png │ │ │ ├── twitter.png │ │ │ ├── youtube.png │ │ │ ├── bitbucket.png │ │ │ ├── delicious.png │ │ │ ├── facebook.png │ │ │ ├── gitorious.png │ │ │ ├── hackernews.png │ │ │ ├── linkedin.png │ │ │ ├── slideshare.png │ │ │ ├── google-plus.png │ │ │ ├── speakerdeck.png │ │ │ ├── google-groups.png │ │ │ └── stackoverflow.png │ ├── fonts │ │ ├── Yanone_Kaffeesatz_400.eot │ │ ├── Yanone_Kaffeesatz_400.ttf │ │ ├── Yanone_Kaffeesatz_400.woff │ │ ├── Yanone_Kaffeesatz_400.woff2 │ │ ├── font.css │ │ └── Yanone_Kaffeesatz_400.svg │ └── css │ │ ├── typogrify.css │ │ ├── fonts.css │ │ ├── wide.css │ │ ├── reset.css │ │ ├── pygment.css │ │ └── main.css ├── tags.html ├── categories.html ├── archives.html ├── authors.html ├── index.html ├── author │ └── jadi.html ├── category │ └── gui.html └── problems.html ├── content └── posts │ └── sample.md ├── publishconf.py ├── pelicanconf.py ├── LICENSE ├── .gitignore ├── README.md ├── develop_server.sh ├── fabfile.py └── Makefile /output/theme/images/icons/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/rss.png -------------------------------------------------------------------------------- /output/theme/images/icons/vimeo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/vimeo.png -------------------------------------------------------------------------------- /output/theme/images/icons/aboutme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/aboutme.png -------------------------------------------------------------------------------- /output/theme/images/icons/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/github.png -------------------------------------------------------------------------------- /output/theme/images/icons/gittip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/gittip.png -------------------------------------------------------------------------------- /output/theme/images/icons/lastfm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/lastfm.png -------------------------------------------------------------------------------- /output/theme/images/icons/reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/reddit.png -------------------------------------------------------------------------------- /output/theme/images/icons/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/twitter.png -------------------------------------------------------------------------------- /output/theme/images/icons/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/youtube.png -------------------------------------------------------------------------------- /output/theme/images/icons/bitbucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/bitbucket.png -------------------------------------------------------------------------------- /output/theme/images/icons/delicious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/delicious.png -------------------------------------------------------------------------------- /output/theme/images/icons/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/facebook.png -------------------------------------------------------------------------------- /output/theme/images/icons/gitorious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/gitorious.png -------------------------------------------------------------------------------- /output/theme/images/icons/hackernews.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/hackernews.png -------------------------------------------------------------------------------- /output/theme/images/icons/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/linkedin.png -------------------------------------------------------------------------------- /output/theme/images/icons/slideshare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/slideshare.png -------------------------------------------------------------------------------- /output/theme/images/icons/google-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/google-plus.png -------------------------------------------------------------------------------- /output/theme/images/icons/speakerdeck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/speakerdeck.png -------------------------------------------------------------------------------- /output/theme/fonts/Yanone_Kaffeesatz_400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/fonts/Yanone_Kaffeesatz_400.eot -------------------------------------------------------------------------------- /output/theme/fonts/Yanone_Kaffeesatz_400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/fonts/Yanone_Kaffeesatz_400.ttf -------------------------------------------------------------------------------- /output/theme/fonts/Yanone_Kaffeesatz_400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/fonts/Yanone_Kaffeesatz_400.woff -------------------------------------------------------------------------------- /output/theme/images/icons/google-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/google-groups.png -------------------------------------------------------------------------------- /output/theme/images/icons/stackoverflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/images/icons/stackoverflow.png -------------------------------------------------------------------------------- /output/theme/fonts/Yanone_Kaffeesatz_400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jadijadi/osxpains/HEAD/output/theme/fonts/Yanone_Kaffeesatz_400.woff2 -------------------------------------------------------------------------------- /content/posts/sample.md: -------------------------------------------------------------------------------- 1 | title: problems 2 | slug: problems 3 | category: GUI 4 | date: 2017-06-09 5 | modified: 2017-06-09 6 | 7 | Some problems 8 | -------------------------------------------------------------------------------- /output/theme/css/typogrify.css: -------------------------------------------------------------------------------- 1 | .caps {font-size:.92em;} 2 | .amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} 3 | .dquo {margin-left:-.38em;} 4 | -------------------------------------------------------------------------------- /output/theme/fonts/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /output/theme/css/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Yanone Kaffeesatz'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: 6 | local('Yanone Kaffeesatz Regular'), 7 | local('YanoneKaffeesatz-Regular'), 8 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLRTHiN2BPBirwIkMLKUspj4.woff */ 9 | url('../fonts/Yanone_Kaffeesatz_400.woff') format('woff'), 10 | /* from https://fonts.gstatic.com/s/yanonekaffeesatz/v8/YDAoLskQQ5MOAgvHUQCcLfGwxTS8d1Q9KiDNCMKLFUM.woff2 */ 11 | url('../fonts/Yanone_Kaffeesatz_400.woff2') format('woff2'); 12 | } 13 | -------------------------------------------------------------------------------- /publishconf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- # 3 | from __future__ import unicode_literals 4 | 5 | # This file is only used if you use `make publish` or 6 | # explicitly specify it as your config file. 7 | 8 | import os 9 | import sys 10 | sys.path.append(os.curdir) 11 | from pelicanconf import * 12 | 13 | SITEURL = 'http://osx.pains.ir' 14 | RELATIVE_URLS = False 15 | 16 | FEED_ALL_ATOM = 'feeds/all.atom.xml' 17 | CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml' 18 | 19 | DELETE_OUTPUT_DIRECTORY = True 20 | 21 | # Following items are often useful when publishing 22 | 23 | #DISQUS_SITENAME = "" 24 | #GOOGLE_ANALYTICS = "" 25 | -------------------------------------------------------------------------------- /output/theme/css/wide.css: -------------------------------------------------------------------------------- 1 | @import url("main.css"); 2 | 3 | body { 4 | font:1.3em/1.3 "Hoefler Text","Georgia",Georgia,serif,sans-serif; 5 | } 6 | 7 | .post-info{ 8 | display: none; 9 | } 10 | 11 | #banner nav { 12 | display: none; 13 | -moz-border-radius: 0px; 14 | margin-bottom: 20px; 15 | overflow: hidden; 16 | font-size: 1em; 17 | background: #F5F4EF; 18 | } 19 | 20 | #banner nav ul{ 21 | padding-right: 50px; 22 | } 23 | 24 | #banner nav li{ 25 | float: right; 26 | color: #000; 27 | } 28 | 29 | #banner nav li a { 30 | color: #000; 31 | } 32 | 33 | #banner h1 { 34 | margin-bottom: -18px; 35 | } 36 | 37 | #featured, #extras { 38 | padding: 50px; 39 | } 40 | 41 | #featured { 42 | padding-top: 20px; 43 | } 44 | 45 | #extras { 46 | padding-top: 0px; 47 | padding-bottom: 0px; 48 | } 49 | -------------------------------------------------------------------------------- /pelicanconf.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- # 3 | from __future__ import unicode_literals 4 | 5 | AUTHOR = u'Jadi' 6 | SITENAME = u'Mac OSX Pains' 7 | SITEURL = '' 8 | 9 | PATH = 'content' 10 | 11 | TIMEZONE = 'Europe/Paris' 12 | 13 | DEFAULT_LANG = u'en' 14 | 15 | # Feed generation is usually not desired when developing 16 | FEED_ALL_ATOM = None 17 | CATEGORY_FEED_ATOM = None 18 | TRANSLATION_FEED_ATOM = None 19 | AUTHOR_FEED_ATOM = None 20 | AUTHOR_FEED_RSS = None 21 | 22 | # Blogroll 23 | LINKS = (('Pelican', 'http://getpelican.com/'), 24 | ('Python.org', 'http://python.org/'), 25 | ('Jinja2', 'http://jinja.pocoo.org/'), 26 | ('You can modify those links in your config file', '#'),) 27 | 28 | # Social widget 29 | SOCIAL = (('You can add links in your config file', '#'), 30 | ('Another social link', '#'),) 31 | 32 | DEFAULT_PAGINATION = False 33 | 34 | # Uncomment following line if you want document-relative URLs when developing 35 | #RELATIVE_URLS = True 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Jadi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /output/theme/css/reset.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Reset Stylesheet 3 | Description: Resets browser's default CSS 4 | Author: Eric Meyer 5 | Author URI: http://meyerweb.com/eric/tools/css/reset/ 6 | */ 7 | 8 | /* v1.0 | 20080212 */ 9 | html, body, div, span, applet, object, iframe, 10 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 11 | a, abbr, acronym, address, big, cite, code, 12 | del, dfn, em, font, img, ins, kbd, q, s, samp, 13 | small, strike, strong, sub, sup, tt, var, 14 | b, u, i, center, 15 | dl, dt, dd, ol, ul, li, 16 | fieldset, form, label, legend, 17 | table, caption, tbody, tfoot, thead, tr, th, td { 18 | background: transparent; 19 | border: 0; 20 | font-size: 100%; 21 | margin: 0; 22 | outline: 0; 23 | padding: 0; 24 | vertical-align: baseline; 25 | } 26 | 27 | body {line-height: 1;} 28 | 29 | ol, ul {list-style: none;} 30 | 31 | blockquote, q {quotes: none;} 32 | 33 | blockquote:before, blockquote:after, 34 | q:before, q:after { 35 | content: ''; 36 | content: none; 37 | } 38 | 39 | /* remember to define focus styles! */ 40 | :focus { 41 | outline: 0; 42 | } 43 | 44 | /* remember to highlight inserts somehow! */ 45 | ins {text-decoration: none;} 46 | del {text-decoration: line-through;} 47 | 48 | /* tables still need 'cellspacing="0"' in the markup */ 49 | table { 50 | border-collapse: collapse; 51 | border-spacing: 0; 52 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | *.pid 3 | __pycache__/ 4 | *.py[cod] 5 | *$py.class 6 | 7 | # C extensions 8 | *.so 9 | 10 | # Distribution / packaging 11 | .Python 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | downloads/ 16 | eggs/ 17 | .eggs/ 18 | lib/ 19 | lib64/ 20 | parts/ 21 | sdist/ 22 | var/ 23 | wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | MANIFEST 28 | 29 | # PyInstaller 30 | # Usually these files are written by a python script from a template 31 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 32 | *.manifest 33 | *.spec 34 | 35 | # Installer logs 36 | pip-log.txt 37 | pip-delete-this-directory.txt 38 | 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .coverage 43 | .coverage.* 44 | .cache 45 | nosetests.xml 46 | coverage.xml 47 | *.cover 48 | .hypothesis/ 49 | .pytest_cache/ 50 | 51 | # Translations 52 | *.mo 53 | *.pot 54 | 55 | # Django stuff: 56 | *.log 57 | local_settings.py 58 | db.sqlite3 59 | 60 | # Flask stuff: 61 | instance/ 62 | .webassets-cache 63 | 64 | # Scrapy stuff: 65 | .scrapy 66 | 67 | # Sphinx documentation 68 | docs/_build/ 69 | 70 | # PyBuilder 71 | target/ 72 | 73 | # Jupyter Notebook 74 | .ipynb_checkpoints 75 | 76 | # pyenv 77 | .python-version 78 | 79 | # celery beat schedule file 80 | celerybeat-schedule 81 | 82 | # SageMath parsed files 83 | *.sage.py 84 | 85 | # Environments 86 | .env 87 | .venv 88 | env/ 89 | venv/ 90 | ENV/ 91 | env.bak/ 92 | venv.bak/ 93 | 94 | # Spyder project settings 95 | .spyderproject 96 | .spyproject 97 | 98 | # Rope project settings 99 | .ropeproject 100 | 101 | # mkdocs documentation 102 | /site 103 | 104 | # mypy 105 | .mypy_cache/ 106 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | /# macpains 2 | A pelican site about my problems with the MacOSX 3 | 4 | 5 | # TODO 6 | - [ ] NTFS, ext, .. ?! 7 | - [ ] تولبار بالا اگر منوها زیاد بشن دیگه آیکون ها رو نشون نمی ده! 8 | - [ ] can not type vlc on command line and run my app 9 | - [ ] there is no /tmp in finder! 10 | - [ ] alt click moves the window in linux 11 | - [ ] شبدر رسما اضافی است. کنترل و‌الت همه کارش رو می کنن. 12 | - [ ] وقتی روی موسیقی پریویو می زنم انتظار دارم با کلیدهای جلو و عقب بشه رفت جلو و عقب در آهنگ 13 | - [ ] روی آیکون صدا که اسکرول می کنم کم و زیاد نمی شه 14 | - [ ] یو اس بی دیسک رو قبل از روشن کردن دستگاه بهش بزنیم، وقتی روشن شد اونو نمی بینه 15 | - [ ] حجم فایل رو بخوای ببینی باید شبدر آی بزنی. بعد با ماوس بری پنجره رو ببندی (: 16 | - [ ] با اسکریپت mt2... کانورت کردم ولی تو فایل منیجر دیگه دیده نمی شه 17 | - [ ] برای درگ دراپ باید حتما از آیکون فایل بگیرم و نه از اسمش 18 | - [ ] بخوایم یک فایل رر پسورد دار رو باز کنم در حد مسخره بازی است. باید برنامه unrarX رو اجرا کنم بعد برم در تب پسورد پسورد رو بزنم بعد برم بگم فلان فایل رو باز کن 19 | - [ ] یک فایل webm رو نمی شه مثل آدم باز کرد. حتی اگر بگی یادش نگه داره 20 | - [ ] یکسری فایل رو کات و پیست نمیشه کرد.حتما با کیبورد و ماوس همزمان! تازه اگر دومی در حالت لیست باشه، نمی شه منتقلش کرد دیگه چون فایل انتخاب می شه 21 | - [ ] می خوام برم فولدر فلان. از اسپات لایت فولدر رو می زنم و همه فایندرها می یان جلو! 22 | - [ ] می رم توی دایرکتوری تمپ. می زنم open . باز می شه. حالا با تاچ یک فایل می سازم. کدوم گوری است؟! 23 | - [ ] فول اسکرین احمقانه 24 | - [ ] ده تا ادیتور متن دارم که می خوام یکیش رو استفاده کنم برای ترجمه. همه بیان بالا؟ 25 | - [ ] برای موو کردن یک فایل هم کیبورد لازمه هم ماوس 26 | - [ ] شبدر ان فایندر جدید باز نمی کنه 27 | - [ ] پنجره را نمی تونی توی دو تا مونیتور بزرگ کنی. اگر هم بکشی که توی دو تا مونیتور باشه دیگه نمی تونی جابجا کنی 28 | - [ ] اگر پنجره فعال نباشه نمی تونی اندازه اش رو عض کنی 29 | - [ ] همه با هم میان رو 30 | - [ ] یو اس بی رو بزنی و بوت کنی نمیاد 31 | - [ ] اچ دی ام آی رو بزنی و روشن کنی نمیاد 32 | - [ ] دو تا پنجره ادیتور در دو تا اسپیس داری. با آلت تب می ری توی اون یکی روی فایرفاکس، بعد می مونی همون تو 33 | 34 | -------------------------------------------------------------------------------- /output/tags.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Mac OSX Pains - Tags 6 | 7 | 8 | 9 | 10 | 16 | 17 |
18 |

Tags for Mac OSX Pains

19 | 21 |
22 | 23 |
24 |
25 |

links

26 | 32 |
33 |
34 |

social

35 | 40 |
41 |
42 | 43 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /output/categories.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Mac OSX Pains - Categories 6 | 7 | 8 | 9 | 10 | 16 |

Categories on Mac OSX Pains

17 | 20 |
21 |
22 |

links

23 | 29 |
30 |
31 |

social

32 | 37 |
38 |
39 | 40 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /output/archives.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Mac OSX Pains 6 | 7 | 8 | 9 | 10 | 16 |
17 |

Archives for Mac OSX Pains

18 | 19 |
20 |
Fri 09 June 2017
21 |
problems
22 |
23 |
24 |
25 |
26 |

links

27 | 33 |
34 |
35 |

social

36 | 41 |
42 |
43 | 44 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /output/authors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Mac OSX Pains - Authors 6 | 7 | 8 | 9 | 10 | 16 | 17 |
18 |

Authors on Mac OSX Pains

19 | 22 |
23 | 24 |
25 |
26 |

links

27 | 33 |
34 |
35 |

social

36 | 41 |
42 |
43 | 44 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /develop_server.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | ## 3 | # This section should match your Makefile 4 | ## 5 | PY=${PY:-python} 6 | PELICAN=${PELICAN:-pelican} 7 | PELICANOPTS= 8 | 9 | BASEDIR=$(pwd) 10 | INPUTDIR=$BASEDIR/content 11 | OUTPUTDIR=$BASEDIR/output 12 | CONFFILE=$BASEDIR/pelicanconf.py 13 | 14 | ### 15 | # Don't change stuff below here unless you are sure 16 | ### 17 | 18 | SRV_PID=$BASEDIR/srv.pid 19 | PELICAN_PID=$BASEDIR/pelican.pid 20 | 21 | function usage(){ 22 | echo "usage: $0 (stop) (start) (restart) [port]" 23 | echo "This starts Pelican in debug and reload mode and then launches" 24 | echo "an HTTP server to help site development. It doesn't read" 25 | echo "your Pelican settings, so if you edit any paths in your Makefile" 26 | echo "you will need to edit your settings as well." 27 | exit 3 28 | } 29 | 30 | function alive() { 31 | kill -0 $1 >/dev/null 2>&1 32 | } 33 | 34 | function shut_down(){ 35 | PID=$(cat $SRV_PID) 36 | if [[ $? -eq 0 ]]; then 37 | if alive $PID; then 38 | echo "Stopping HTTP server" 39 | kill $PID 40 | else 41 | echo "Stale PID, deleting" 42 | fi 43 | rm $SRV_PID 44 | else 45 | echo "HTTP server PIDFile not found" 46 | fi 47 | 48 | PID=$(cat $PELICAN_PID) 49 | if [[ $? -eq 0 ]]; then 50 | if alive $PID; then 51 | echo "Killing Pelican" 52 | kill $PID 53 | else 54 | echo "Stale PID, deleting" 55 | fi 56 | rm $PELICAN_PID 57 | else 58 | echo "Pelican PIDFile not found" 59 | fi 60 | } 61 | 62 | function start_up(){ 63 | local port=$1 64 | echo "Starting up Pelican and HTTP server" 65 | shift 66 | $PELICAN --debug --autoreload -r $INPUTDIR -o $OUTPUTDIR -s $CONFFILE $PELICANOPTS & 67 | pelican_pid=$! 68 | echo $pelican_pid > $PELICAN_PID 69 | mkdir -p $OUTPUTDIR && cd $OUTPUTDIR 70 | $PY -m pelican.server $port & 71 | srv_pid=$! 72 | echo $srv_pid > $SRV_PID 73 | cd $BASEDIR 74 | sleep 1 75 | if ! alive $pelican_pid ; then 76 | echo "Pelican didn't start. Is the Pelican package installed?" 77 | return 1 78 | elif ! alive $srv_pid ; then 79 | echo "The HTTP server didn't start. Is there another service using port" $port "?" 80 | return 1 81 | fi 82 | echo 'Pelican and HTTP server processes now running in background.' 83 | } 84 | 85 | ### 86 | # MAIN 87 | ### 88 | [[ ($# -eq 0) || ($# -gt 2) ]] && usage 89 | port='' 90 | [[ $# -eq 2 ]] && port=$2 91 | 92 | if [[ $1 == "stop" ]]; then 93 | shut_down 94 | elif [[ $1 == "restart" ]]; then 95 | shut_down 96 | start_up $port 97 | elif [[ $1 == "start" ]]; then 98 | if ! start_up $port; then 99 | shut_down 100 | fi 101 | else 102 | usage 103 | fi 104 | -------------------------------------------------------------------------------- /fabfile.py: -------------------------------------------------------------------------------- 1 | from fabric.api import * 2 | import fabric.contrib.project as project 3 | import os 4 | import shutil 5 | import sys 6 | import SocketServer 7 | 8 | from pelican.server import ComplexHTTPRequestHandler 9 | 10 | # Local path configuration (can be absolute or relative to fabfile) 11 | env.deploy_path = 'output' 12 | DEPLOY_PATH = env.deploy_path 13 | 14 | # Remote server configuration 15 | production = 'root@localhost:22' 16 | dest_path = '/var/www' 17 | 18 | # Rackspace Cloud Files configuration settings 19 | env.cloudfiles_username = 'my_rackspace_username' 20 | env.cloudfiles_api_key = 'my_rackspace_api_key' 21 | env.cloudfiles_container = 'my_cloudfiles_container' 22 | 23 | # Github Pages configuration 24 | env.github_pages_branch = "gh-pages" 25 | 26 | # Port for `serve` 27 | PORT = 8000 28 | 29 | def clean(): 30 | """Remove generated files""" 31 | if os.path.isdir(DEPLOY_PATH): 32 | shutil.rmtree(DEPLOY_PATH) 33 | os.makedirs(DEPLOY_PATH) 34 | 35 | def build(): 36 | """Build local version of site""" 37 | local('pelican -s pelicanconf.py') 38 | 39 | def rebuild(): 40 | """`build` with the delete switch""" 41 | local('pelican -d -s pelicanconf.py') 42 | 43 | def regenerate(): 44 | """Automatically regenerate site upon file modification""" 45 | local('pelican -r -s pelicanconf.py') 46 | 47 | def serve(): 48 | """Serve site at http://localhost:8000/""" 49 | os.chdir(env.deploy_path) 50 | 51 | class AddressReuseTCPServer(SocketServer.TCPServer): 52 | allow_reuse_address = True 53 | 54 | server = AddressReuseTCPServer(('', PORT), ComplexHTTPRequestHandler) 55 | 56 | sys.stderr.write('Serving on port {0} ...\n'.format(PORT)) 57 | server.serve_forever() 58 | 59 | def reserve(): 60 | """`build`, then `serve`""" 61 | build() 62 | serve() 63 | 64 | def preview(): 65 | """Build production version of site""" 66 | local('pelican -s publishconf.py') 67 | 68 | def cf_upload(): 69 | """Publish to Rackspace Cloud Files""" 70 | rebuild() 71 | with lcd(DEPLOY_PATH): 72 | local('swift -v -A https://auth.api.rackspacecloud.com/v1.0 ' 73 | '-U {cloudfiles_username} ' 74 | '-K {cloudfiles_api_key} ' 75 | 'upload -c {cloudfiles_container} .'.format(**env)) 76 | 77 | @hosts(production) 78 | def publish(): 79 | """Publish to production via rsync""" 80 | local('pelican -s publishconf.py') 81 | project.rsync_project( 82 | remote_dir=dest_path, 83 | exclude=".DS_Store", 84 | local_dir=DEPLOY_PATH.rstrip('/') + '/', 85 | delete=True, 86 | extra_opts='-c', 87 | ) 88 | 89 | def gh_pages(): 90 | """Publish to GitHub Pages""" 91 | rebuild() 92 | local("ghp-import -b {github_pages_branch} {deploy_path} -p".format(**env)) 93 | -------------------------------------------------------------------------------- /output/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Mac OSX Pains 6 | 7 | 8 | 9 | 10 | 16 | 17 | 36 |
37 |
38 |

links

39 | 45 |
46 |
47 |

social

48 | 53 |
54 |
55 | 56 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /output/author/jadi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Mac OSX Pains - Jadi 6 | 7 | 8 | 9 | 10 | 16 | 17 | 36 |
37 |
38 |

links

39 | 45 |
46 |
47 |

social

48 | 53 |
54 |
55 | 56 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /output/category/gui.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Mac OSX Pains - GUI 6 | 7 | 8 | 9 | 10 | 16 | 17 | 36 |
37 |
38 |

links

39 | 45 |
46 |
47 |

social

48 | 53 |
54 |
55 | 56 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /output/theme/css/pygment.css: -------------------------------------------------------------------------------- 1 | .hll { 2 | background-color:#eee; 3 | } 4 | .c { 5 | color:#408090; 6 | font-style:italic; 7 | } 8 | .err { 9 | border:1px solid #FF0000; 10 | } 11 | .k { 12 | color:#007020; 13 | font-weight:bold; 14 | } 15 | .o { 16 | color:#666666; 17 | } 18 | .cm { 19 | color:#408090; 20 | font-style:italic; 21 | } 22 | .cp { 23 | color:#007020; 24 | } 25 | .c1 { 26 | color:#408090; 27 | font-style:italic; 28 | } 29 | .cs { 30 | background-color:#FFF0F0; 31 | color:#408090; 32 | } 33 | .gd { 34 | color:#A00000; 35 | } 36 | .ge { 37 | font-style:italic; 38 | } 39 | .gr { 40 | color:#FF0000; 41 | } 42 | .gh { 43 | color:#000080; 44 | font-weight:bold; 45 | } 46 | .gi { 47 | color:#00A000; 48 | } 49 | .go { 50 | color:#303030; 51 | } 52 | .gp { 53 | color:#C65D09; 54 | font-weight:bold; 55 | } 56 | .gs { 57 | font-weight:bold; 58 | } 59 | .gu { 60 | color:#800080; 61 | font-weight:bold; 62 | } 63 | .gt { 64 | color:#0040D0; 65 | } 66 | .kc { 67 | color:#007020; 68 | font-weight:bold; 69 | } 70 | .kd { 71 | color:#007020; 72 | font-weight:bold; 73 | } 74 | .kn { 75 | color:#007020; 76 | font-weight:bold; 77 | } 78 | .kp { 79 | color:#007020; 80 | } 81 | .kr { 82 | color:#007020; 83 | font-weight:bold; 84 | } 85 | .kt { 86 | color:#902000; 87 | } 88 | .m { 89 | color:#208050; 90 | } 91 | .s { 92 | color:#4070A0; 93 | } 94 | .na { 95 | color:#4070A0; 96 | } 97 | .nb { 98 | color:#007020; 99 | } 100 | .nc { 101 | color:#0E84B5; 102 | font-weight:bold; 103 | } 104 | .no { 105 | color:#60ADD5; 106 | } 107 | .nd { 108 | color:#555555; 109 | font-weight:bold; 110 | } 111 | .ni { 112 | color:#D55537; 113 | font-weight:bold; 114 | } 115 | .ne { 116 | color:#007020; 117 | } 118 | .nf { 119 | color:#06287E; 120 | } 121 | .nl { 122 | color:#002070; 123 | font-weight:bold; 124 | } 125 | .nn { 126 | color:#0E84B5; 127 | font-weight:bold; 128 | } 129 | .nt { 130 | color:#062873; 131 | font-weight:bold; 132 | } 133 | .nv { 134 | color:#BB60D5; 135 | } 136 | .ow { 137 | color:#007020; 138 | font-weight:bold; 139 | } 140 | .w { 141 | color:#BBBBBB; 142 | } 143 | .mf { 144 | color:#208050; 145 | } 146 | .mh { 147 | color:#208050; 148 | } 149 | .mi { 150 | color:#208050; 151 | } 152 | .mo { 153 | color:#208050; 154 | } 155 | .sb { 156 | color:#4070A0; 157 | } 158 | .sc { 159 | color:#4070A0; 160 | } 161 | .sd { 162 | color:#4070A0; 163 | font-style:italic; 164 | } 165 | .s2 { 166 | color:#4070A0; 167 | } 168 | .se { 169 | color:#4070A0; 170 | font-weight:bold; 171 | } 172 | .sh { 173 | color:#4070A0; 174 | } 175 | .si { 176 | color:#70A0D0; 177 | font-style:italic; 178 | } 179 | .sx { 180 | color:#C65D09; 181 | } 182 | .sr { 183 | color:#235388; 184 | } 185 | .s1 { 186 | color:#4070A0; 187 | } 188 | .ss { 189 | color:#517918; 190 | } 191 | .bp { 192 | color:#007020; 193 | } 194 | .vc { 195 | color:#BB60D5; 196 | } 197 | .vg { 198 | color:#BB60D5; 199 | } 200 | .vi { 201 | color:#BB60D5; 202 | } 203 | .il { 204 | color:#208050; 205 | } 206 | -------------------------------------------------------------------------------- /output/problems.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | problems 6 | 7 | 8 | 9 | 10 | 16 |
17 |
18 |
19 |

20 | problems

22 |
23 | 24 |
25 |
26 | 27 | Published: Fri 09 June 2017 28 | 29 |
30 | 31 | Updated: Fri 09 June 2017 32 | 33 | 34 |
35 | By Jadi 36 |
37 |

In GUI.

38 | 39 |

Some problems

40 |
41 | 42 |
43 |
44 |
45 |
46 |

links

47 | 53 |
54 |
55 |

social

56 | 61 |
62 |
63 | 64 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | PY?=python 2 | PELICAN?=pelican 3 | PELICANOPTS= 4 | 5 | BASEDIR=$(CURDIR) 6 | INPUTDIR=$(BASEDIR)/content 7 | OUTPUTDIR=$(BASEDIR)/output 8 | CONFFILE=$(BASEDIR)/pelicanconf.py 9 | PUBLISHCONF=$(BASEDIR)/publishconf.py 10 | 11 | FTP_HOST=localhost 12 | FTP_USER=anonymous 13 | FTP_TARGET_DIR=/ 14 | 15 | SSH_HOST=localhost 16 | SSH_PORT=22 17 | SSH_USER=root 18 | SSH_TARGET_DIR=/var/www 19 | 20 | S3_BUCKET=my_s3_bucket 21 | 22 | CLOUDFILES_USERNAME=my_rackspace_username 23 | CLOUDFILES_API_KEY=my_rackspace_api_key 24 | CLOUDFILES_CONTAINER=my_cloudfiles_container 25 | 26 | DROPBOX_DIR=~/Dropbox/Public/ 27 | 28 | GITHUB_PAGES_BRANCH=gh-pages 29 | 30 | DEBUG ?= 0 31 | ifeq ($(DEBUG), 1) 32 | PELICANOPTS += -D 33 | endif 34 | 35 | RELATIVE ?= 0 36 | ifeq ($(RELATIVE), 1) 37 | PELICANOPTS += --relative-urls 38 | endif 39 | 40 | help: 41 | @echo 'Makefile for a pelican Web site ' 42 | @echo ' ' 43 | @echo 'Usage: ' 44 | @echo ' make html (re)generate the web site ' 45 | @echo ' make clean remove the generated files ' 46 | @echo ' make regenerate regenerate files upon modification ' 47 | @echo ' make publish generate using production settings ' 48 | @echo ' make serve [PORT=8000] serve site at http://localhost:8000' 49 | @echo ' make serve-global [SERVER=0.0.0.0] serve (as root) to $(SERVER):80 ' 50 | @echo ' make devserver [PORT=8000] start/restart develop_server.sh ' 51 | @echo ' make stopserver stop local server ' 52 | @echo ' make ssh_upload upload the web site via SSH ' 53 | @echo ' make rsync_upload upload the web site via rsync+ssh ' 54 | @echo ' make dropbox_upload upload the web site via Dropbox ' 55 | @echo ' make ftp_upload upload the web site via FTP ' 56 | @echo ' make s3_upload upload the web site via S3 ' 57 | @echo ' make cf_upload upload the web site via Cloud Files' 58 | @echo ' make github upload the web site via gh-pages ' 59 | @echo ' ' 60 | @echo 'Set the DEBUG variable to 1 to enable debugging, e.g. make DEBUG=1 html ' 61 | @echo 'Set the RELATIVE variable to 1 to enable relative urls ' 62 | @echo ' ' 63 | 64 | html: 65 | $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) 66 | 67 | clean: 68 | [ ! -d $(OUTPUTDIR) ] || rm -rf $(OUTPUTDIR) 69 | 70 | regenerate: 71 | $(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS) 72 | 73 | serve: 74 | ifdef PORT 75 | cd $(OUTPUTDIR) && $(PY) -m pelican.server $(PORT) 76 | else 77 | cd $(OUTPUTDIR) && $(PY) -m pelican.server 78 | endif 79 | 80 | serve-global: 81 | ifdef SERVER 82 | cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 $(SERVER) 83 | else 84 | cd $(OUTPUTDIR) && $(PY) -m pelican.server 80 0.0.0.0 85 | endif 86 | 87 | 88 | devserver: 89 | ifdef PORT 90 | $(BASEDIR)/develop_server.sh restart $(PORT) 91 | else 92 | $(BASEDIR)/develop_server.sh restart 93 | endif 94 | 95 | stopserver: 96 | $(BASEDIR)/develop_server.sh stop 97 | @echo 'Stopped Pelican and SimpleHTTPServer processes running in background.' 98 | 99 | publish: 100 | $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS) 101 | 102 | ssh_upload: publish 103 | scp -P $(SSH_PORT) -r $(OUTPUTDIR)/* $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR) 104 | 105 | rsync_upload: publish 106 | rsync -e "ssh -p $(SSH_PORT)" -P -rvzc --delete $(OUTPUTDIR)/ $(SSH_USER)@$(SSH_HOST):$(SSH_TARGET_DIR) --cvs-exclude 107 | 108 | dropbox_upload: publish 109 | cp -r $(OUTPUTDIR)/* $(DROPBOX_DIR) 110 | 111 | ftp_upload: publish 112 | lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit" 113 | 114 | s3_upload: publish 115 | s3cmd sync $(OUTPUTDIR)/ s3://$(S3_BUCKET) --acl-public --delete-removed --guess-mime-type --no-mime-magic --no-preserve 116 | 117 | cf_upload: publish 118 | cd $(OUTPUTDIR) && swift -v -A https://auth.api.rackspacecloud.com/v1.0 -U $(CLOUDFILES_USERNAME) -K $(CLOUDFILES_API_KEY) upload -c $(CLOUDFILES_CONTAINER) . 119 | 120 | github: publish 121 | ghp-import -m "Generate Pelican site" -b $(GITHUB_PAGES_BRANCH) $(OUTPUTDIR) 122 | git push origin $(GITHUB_PAGES_BRANCH) 123 | 124 | .PHONY: html help clean regenerate serve serve-global devserver stopserver publish ssh_upload rsync_upload dropbox_upload ftp_upload s3_upload cf_upload github 125 | -------------------------------------------------------------------------------- /output/theme/css/main.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Smashing HTML5 3 | Date: July 2009 4 | Description: Sample layout for HTML5 and CSS3 goodness. 5 | Version: 1.0 6 | License: MIT 7 | Licensed by: Smashing Media GmbH 8 | Original author: Enrique Ramírez 9 | */ 10 | 11 | /* Imports */ 12 | @import url("reset.css"); 13 | @import url("pygment.css"); 14 | @import url("typogrify.css"); 15 | @import url("fonts.css"); 16 | 17 | /***** Global *****/ 18 | /* Body */ 19 | body { 20 | background: #F5F4EF; 21 | color: #000305; 22 | font-size: 87.5%; /* Base font size: 14px */ 23 | font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; 24 | line-height: 1.429; 25 | margin: 0; 26 | padding: 0; 27 | text-align: left; 28 | } 29 | 30 | /* Headings */ 31 | h1 {font-size: 2em } 32 | h2 {font-size: 1.571em} /* 22px */ 33 | h3 {font-size: 1.429em} /* 20px */ 34 | h4 {font-size: 1.286em} /* 18px */ 35 | h5 {font-size: 1.143em} /* 16px */ 36 | h6 {font-size: 1em} /* 14px */ 37 | 38 | h1, h2, h3, h4, h5, h6 { 39 | font-weight: 400; 40 | line-height: 1.1; 41 | margin-bottom: .8em; 42 | font-family: 'Yanone Kaffeesatz', arial, serif; 43 | } 44 | 45 | h3, h4, h5, h6 { margin-top: .8em; } 46 | 47 | hr { border: 2px solid #EEEEEE; } 48 | 49 | /* Anchors */ 50 | a {outline: 0;} 51 | a img {border: 0px; text-decoration: none;} 52 | a:link, a:visited { 53 | color: #C74350; 54 | padding: 0 1px; 55 | text-decoration: underline; 56 | } 57 | a:hover, a:active { 58 | background-color: #C74350; 59 | color: #fff; 60 | text-decoration: none; 61 | text-shadow: 1px 1px 1px #333; 62 | } 63 | 64 | h1 a:hover { 65 | background-color: inherit 66 | } 67 | 68 | /* Paragraphs */ 69 | div.line-block, 70 | p { margin-top: 1em; 71 | margin-bottom: 1em;} 72 | 73 | strong, b {font-weight: bold;} 74 | em, i {font-style: italic;} 75 | 76 | /* Lists */ 77 | ul { 78 | list-style: outside disc; 79 | margin: 0em 0 0 1.5em; 80 | } 81 | 82 | ol { 83 | list-style: outside decimal; 84 | margin: 0em 0 0 1.5em; 85 | } 86 | 87 | li { margin-top: 0.5em; 88 | margin-bottom: 1em; } 89 | 90 | .post-info { 91 | float:right; 92 | margin:10px; 93 | padding:5px; 94 | } 95 | 96 | .post-info p{ 97 | margin-top: 1px; 98 | margin-bottom: 1px; 99 | } 100 | 101 | .readmore { float: right } 102 | 103 | dl {margin: 0 0 1.5em 0;} 104 | dt {font-weight: bold;} 105 | dd {margin-left: 1.5em;} 106 | 107 | pre{background-color: rgb(238, 238, 238); padding: 10px; margin: 10px; overflow: auto;} 108 | 109 | /* Quotes */ 110 | blockquote { 111 | margin: 20px; 112 | font-style: italic; 113 | } 114 | cite {} 115 | 116 | q {} 117 | 118 | div.note { 119 | float: right; 120 | margin: 5px; 121 | font-size: 85%; 122 | max-width: 300px; 123 | } 124 | 125 | /* Tables */ 126 | table {margin: .5em auto 1.5em auto; width: 98%;} 127 | 128 | /* Thead */ 129 | thead th {padding: .5em .4em; text-align: left;} 130 | thead td {} 131 | 132 | /* Tbody */ 133 | tbody td {padding: .5em .4em;} 134 | tbody th {} 135 | 136 | tbody .alt td {} 137 | tbody .alt th {} 138 | 139 | /* Tfoot */ 140 | tfoot th {} 141 | tfoot td {} 142 | 143 | /* HTML5 tags */ 144 | header, section, footer, 145 | aside, nav, article, figure { 146 | display: block; 147 | } 148 | 149 | /***** Layout *****/ 150 | .body {clear: both; margin: 0 auto; width: 800px;} 151 | img.right, figure.right {float: right; margin: 0 0 2em 2em;} 152 | img.left, figure.left {float: left; margin: 0 2em 2em 0;} 153 | 154 | /* 155 | Header 156 | *****************/ 157 | #banner { 158 | margin: 0 auto; 159 | padding: 2.5em 0 0 0; 160 | } 161 | 162 | /* Banner */ 163 | #banner h1 {font-size: 3.571em; line-height: 0;} 164 | #banner h1 a:link, #banner h1 a:visited { 165 | color: #000305; 166 | display: block; 167 | font-weight: bold; 168 | margin: 0 0 .6em .2em; 169 | text-decoration: none; 170 | } 171 | #banner h1 a:hover, #banner h1 a:active { 172 | background: none; 173 | color: #C74350; 174 | text-shadow: none; 175 | } 176 | 177 | #banner h1 strong {font-size: 0.36em; font-weight: normal;} 178 | 179 | /* Main Nav */ 180 | #banner nav { 181 | background: #000305; 182 | font-size: 1.143em; 183 | height: 40px; 184 | line-height: 30px; 185 | margin: 0 auto 2em auto; 186 | padding: 0; 187 | text-align: center; 188 | width: 800px; 189 | 190 | border-radius: 5px; 191 | -moz-border-radius: 5px; 192 | -webkit-border-radius: 5px; 193 | } 194 | 195 | #banner nav ul {list-style: none; margin: 0 auto; width: 800px;} 196 | #banner nav li {float: left; display: inline; margin: 0;} 197 | 198 | #banner nav a:link, #banner nav a:visited { 199 | color: #fff; 200 | display: inline-block; 201 | height: 30px; 202 | padding: 5px 1.5em; 203 | text-decoration: none; 204 | } 205 | #banner nav a:hover, #banner nav a:active, 206 | #banner nav .active a:link, #banner nav .active a:visited { 207 | background: #C74451; 208 | color: #fff; 209 | text-shadow: none !important; 210 | } 211 | 212 | #banner nav li:first-child a { 213 | border-top-left-radius: 5px; 214 | -moz-border-radius-topleft: 5px; 215 | -webkit-border-top-left-radius: 5px; 216 | 217 | border-bottom-left-radius: 5px; 218 | -moz-border-radius-bottomleft: 5px; 219 | -webkit-border-bottom-left-radius: 5px; 220 | } 221 | 222 | /* 223 | Featured 224 | *****************/ 225 | #featured { 226 | background: #fff; 227 | margin-bottom: 2em; 228 | overflow: hidden; 229 | padding: 20px; 230 | width: 760px; 231 | 232 | border-radius: 10px; 233 | -moz-border-radius: 10px; 234 | -webkit-border-radius: 10px; 235 | } 236 | 237 | #featured figure { 238 | border: 2px solid #eee; 239 | float: right; 240 | margin: 0.786em 2em 0 5em; 241 | width: 248px; 242 | } 243 | #featured figure img {display: block; float: right;} 244 | 245 | #featured h2 {color: #C74451; font-size: 1.714em; margin-bottom: 0.333em;} 246 | #featured h3 {font-size: 1.429em; margin-bottom: .5em;} 247 | 248 | #featured h3 a:link, #featured h3 a:visited {color: #000305; text-decoration: none;} 249 | #featured h3 a:hover, #featured h3 a:active {color: #fff;} 250 | 251 | /* 252 | Body 253 | *****************/ 254 | #content { 255 | background: #fff; 256 | margin-bottom: 2em; 257 | overflow: hidden; 258 | padding: 20px 20px; 259 | width: 760px; 260 | 261 | border-radius: 10px; 262 | -moz-border-radius: 10px; 263 | -webkit-border-radius: 10px; 264 | } 265 | 266 | /* 267 | Extras 268 | *****************/ 269 | #extras {margin: 0 auto 3em auto; overflow: hidden;} 270 | 271 | #extras ul {list-style: none; margin: 0;} 272 | #extras li {border-bottom: 1px solid #fff;} 273 | #extras h2 { 274 | color: #C74350; 275 | font-size: 1.429em; 276 | margin-bottom: .25em; 277 | padding: 0 3px; 278 | } 279 | 280 | #extras a:link, #extras a:visited { 281 | color: #444; 282 | display: block; 283 | border-bottom: 1px solid #F4E3E3; 284 | text-decoration: none; 285 | padding: .3em .25em; 286 | } 287 | 288 | #extras a:hover, #extras a:active {color: #fff;} 289 | 290 | /* Blogroll */ 291 | #extras .blogroll { 292 | float: left; 293 | width: 615px; 294 | } 295 | 296 | #extras .blogroll li {float: left; margin: 0 20px 0 0; width: 185px;} 297 | 298 | /* Social */ 299 | #extras .social { 300 | float: right; 301 | width: 175px; 302 | } 303 | 304 | #extras div[class='social'] a { 305 | background-repeat: no-repeat; 306 | background-position: 3px 6px; 307 | padding-left: 25px; 308 | } 309 | 310 | /* Icons */ 311 | .social a[href*='about.me'] {background-image: url('../images/icons/aboutme.png');} 312 | .social a[href*='bitbucket.org'] {background-image: url('../images/icons/bitbucket.png');} 313 | .social a[href*='delicious.com'] {background-image: url('../images/icons/delicious.png');} 314 | .social a[href*='digg.com'] {background-image: url('../images/icons/digg.png');} 315 | .social a[href*='facebook.com'] {background-image: url('../images/icons/facebook.png');} 316 | .social a[href*='gitorious.org'] {background-image: url('../images/icons/gitorious.png');} 317 | .social a[href*='github.com'], 318 | .social a[href*='git.io'] { 319 | background-image: url('../images/icons/github.png'); 320 | background-size: 16px 16px; 321 | } 322 | .social a[href*='gittip.com'] {background-image: url('../images/icons/gittip.png');} 323 | .social a[href*='plus.google.com'] {background-image: url('../images/icons/google-plus.png');} 324 | .social a[href*='groups.google.com'] {background-image: url('../images/icons/google-groups.png');} 325 | .social a[href*='news.ycombinator.com'], 326 | .social a[href*='hackernewsers.com'] {background-image: url('../images/icons/hackernews.png');} 327 | .social a[href*='last.fm'], .social a[href*='lastfm.'] {background-image: url('../images/icons/lastfm.png');} 328 | .social a[href*='linkedin.com'] {background-image: url('../images/icons/linkedin.png');} 329 | .social a[href*='reddit.com'] {background-image: url('../images/icons/reddit.png');} 330 | .social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('../images/icons/rss.png');} 331 | .social a[href*='slideshare.net'] {background-image: url('../images/icons/slideshare.png');} 332 | .social a[href*='speakerdeck.com'] {background-image: url('../images/icons/speakerdeck.png');} 333 | .social a[href*='stackoverflow.com'] {background-image: url('../images/icons/stackoverflow.png');} 334 | .social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');} 335 | .social a[href*='vimeo.com'] {background-image: url('../images/icons/vimeo.png');} 336 | .social a[href*='youtube.com'] {background-image: url('../images/icons/youtube.png');} 337 | 338 | /* 339 | About 340 | *****************/ 341 | #about { 342 | background: #fff; 343 | font-style: normal; 344 | margin-bottom: 2em; 345 | overflow: hidden; 346 | padding: 20px; 347 | text-align: left; 348 | width: 760px; 349 | 350 | border-radius: 10px; 351 | -moz-border-radius: 10px; 352 | -webkit-border-radius: 10px; 353 | } 354 | 355 | #about .primary {float: left; width: 165px;} 356 | #about .primary strong {color: #C64350; display: block; font-size: 1.286em;} 357 | #about .photo {float: left; margin: 5px 20px;} 358 | 359 | #about .url:link, #about .url:visited {text-decoration: none;} 360 | 361 | #about .bio {float: right; width: 500px;} 362 | 363 | /* 364 | Footer 365 | *****************/ 366 | #contentinfo {padding-bottom: 2em; text-align: right;} 367 | 368 | /***** Sections *****/ 369 | /* Blog */ 370 | .hentry { 371 | display: block; 372 | clear: both; 373 | border-bottom: 1px solid #eee; 374 | padding: 1.5em 0; 375 | } 376 | li:last-child .hentry, #content > .hentry {border: 0; margin: 0;} 377 | #content > .hentry {padding: 1em 0;} 378 | .hentry img{display : none ;} 379 | .entry-title {font-size: 3em; margin-bottom: 10px; margin-top: 0;} 380 | .entry-title a:link, .entry-title a:visited {text-decoration: none; color: #333;} 381 | .entry-title a:visited {background-color: #fff;} 382 | 383 | .hentry .post-info * {font-style: normal;} 384 | 385 | /* Content */ 386 | .hentry footer {margin-bottom: 2em;} 387 | .hentry footer address {display: inline;} 388 | #posts-list footer address {display: block;} 389 | 390 | /* Blog Index */ 391 | #posts-list {list-style: none; margin: 0;} 392 | #posts-list .hentry {padding-left: 10px; position: relative;} 393 | 394 | #posts-list footer { 395 | left: 10px; 396 | position: relative; 397 | float: left; 398 | top: 0.5em; 399 | width: 190px; 400 | } 401 | 402 | /* About the Author */ 403 | #about-author { 404 | background: #f9f9f9; 405 | clear: both; 406 | font-style: normal; 407 | margin: 2em 0; 408 | padding: 10px 20px 15px 20px; 409 | 410 | border-radius: 5px; 411 | -moz-border-radius: 5px; 412 | -webkit-border-radius: 5px; 413 | } 414 | 415 | #about-author strong { 416 | color: #C64350; 417 | clear: both; 418 | display: block; 419 | font-size: 1.429em; 420 | } 421 | 422 | #about-author .photo {border: 1px solid #ddd; float: left; margin: 5px 1em 0 0;} 423 | 424 | /* Comments */ 425 | #comments-list {list-style: none; margin: 0 1em;} 426 | #comments-list blockquote { 427 | background: #f8f8f8; 428 | clear: both; 429 | font-style: normal; 430 | margin: 0; 431 | padding: 15px 20px; 432 | 433 | border-radius: 5px; 434 | -moz-border-radius: 5px; 435 | -webkit-border-radius: 5px; 436 | } 437 | #comments-list footer {color: #888; padding: .5em 1em 0 0; text-align: right;} 438 | 439 | #comments-list li:nth-child(2n) blockquote {background: #F5f5f5;} 440 | 441 | /* Add a Comment */ 442 | #add-comment label {clear: left; float: left; text-align: left; width: 150px;} 443 | #add-comment input[type='text'], 444 | #add-comment input[type='email'], 445 | #add-comment input[type='url'] {float: left; width: 200px;} 446 | 447 | #add-comment textarea {float: left; height: 150px; width: 495px;} 448 | 449 | #add-comment p.req {clear: both; margin: 0 .5em 1em 0; text-align: right;} 450 | 451 | #add-comment input[type='submit'] {float: right; margin: 0 .5em;} 452 | #add-comment * {margin-bottom: .5em;} 453 | -------------------------------------------------------------------------------- /output/theme/fonts/Yanone_Kaffeesatz_400.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 14 | 16 | 18 | 20 | 23 | 26 | 27 | 28 | 29 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 40 | 42 | 44 | 46 | 48 | 50 | 51 | 54 | 56 | 57 | 59 | 60 | 61 | 62 | 64 | 68 | 70 | 72 | 74 | 75 | 76 | 77 | 79 | 80 | 81 | 82 | 84 | 85 | 87 | 89 | 91 | 93 | 95 | 97 | 99 | 100 | 101 | 102 | 104 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 116 | 118 | 120 | 122 | 124 | 126 | 129 | 131 | 132 | 134 | 136 | 137 | 139 | 140 | 142 | 144 | 146 | 147 | 149 | 151 | 152 | 154 | 156 | 158 | 160 | 162 | 165 | 166 | 169 | 171 | 172 | 174 | 176 | 178 | 181 | 183 | 185 | 188 | 190 | 193 | 195 | 197 | 198 | 199 | 202 | 203 | 205 | 207 | 209 | 211 | 212 | 214 | 216 | 217 | 219 | 220 | 222 | 224 | 227 | 230 | 234 | 237 | 239 | 241 | 243 | 246 | 248 | 250 | 252 | 255 | 257 | 259 | 261 | 263 | 264 | 265 | 267 | 269 | 271 | 274 | 276 | 278 | 281 | 284 | 287 | 289 | 292 | 294 | 296 | 298 | 300 | 302 | 304 | 307 | 310 | 313 | 316 | 319 | 322 | 325 | 328 | 331 | 334 | 337 | 340 | 343 | 345 | 346 | 348 | 350 | 353 | 356 | 358 | 360 | 363 | 366 | 369 | 371 | 374 | 376 | 378 | 380 | 382 | 384 | 386 | 389 | 390 | 391 | 392 | 393 | 394 | 396 | 398 | 400 | 401 | 403 | 405 | 406 | 407 | 408 | --------------------------------------------------------------------------------