├── 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
23 |
24 |
25 |
Some problems
40 |
41 |
42 |
43 |
44 |
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 |
408 |
--------------------------------------------------------------------------------