Working on CSS, I don't like CSS..
This commit is contained in:
parent
f23ffb3c8d
commit
844ded5a2c
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
Title: A JustInTime class
|
||||
Date: 2008-08-30 00:10:55
|
||||
|
||||
---
|
||||
|
||||
I discovered in my code a redundant pattern :
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
Title: ashttp: vt100 screen scraping exported over HTTP
|
||||
Date: 2011-08-27 15:08:21
|
||||
|
||||
---
|
||||
|
||||
Originally written for
|
||||
[logtop](https://github.com/JulienPalard/logtop) I just wrote a vt100
|
||||
screen scraper that listen to a port and serve the screen over
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Automating GNU screen startup
|
||||
Date: 2011-11-18 00:13:58
|
||||
|
||||
---
|
||||
|
||||
At work I use GNU screen with one window per server (ssh connection),
|
||||
and when I loose my screen, it takes minutes to rebuild the naming and
|
||||
the ssh connections ... So I searched and found a PHP version on
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: [Bashism] How to generate random number without $RANDOM ?
|
||||
Date: 2011-04-07 14:00:55
|
||||
|
||||
---
|
||||
|
||||
There is a common bashism, that is to use `$RANDOM`. Typically you'll
|
||||
have to remove bashism while rewriting your scripts for dash or sh.
|
||||
There is a lot of solutions to generate random numbers in many different
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: C# Using alias directives
|
||||
Date: 2009-03-25 11:49:50
|
||||
|
||||
---
|
||||
|
||||
Just found in section 9.4.1 of the C# language specification: The
|
||||
`using` keyword can be used to alias a namespace or a type name:
|
||||
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: How to check if a string is valid utf-8
|
||||
Date: 2012-05-17 15:09:44
|
||||
|
||||
---
|
||||
|
||||
Every day (at least) I'm facing a problem: how to check if a string is
|
||||
valid in utf-8 ? So I wrote [a little C program, that I put on my
|
||||
github](https://github.com/JulienPalard/is_utf8). Just be aware that
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Combinatory logic from scratch
|
||||
Date: 2008-11-28 01:56:32
|
||||
|
||||
---
|
||||
|
||||
Cause it's sooooo sexy, let's speak about Combinatory Logic!
|
||||
|
||||
- Rule 1: You don't talk about Combinatory Logic
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Covariance and Contravariance in C#3
|
||||
Date: 2009-03-09 21:19:51
|
||||
|
||||
---
|
||||
|
||||
A short introduction to Covariance and Contravariance in *C# 3* preparing
|
||||
you to an article about that in *C# 4*. So what is covariance?
|
||||
Covariance is basically using a method which returns something derived
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: echo and backslash-escaped caracters / new lines: how to write portable scripts ?
|
||||
Date: 2011-04-08 13:59:45
|
||||
|
||||
---
|
||||
|
||||
While writing shell scripts you are using a lot of `echo` but did you
|
||||
think about portability of this simple statement? Can you say what will
|
||||
be diplayed, without testing, on your shell, the following tests:
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Emacs: replace tabs with spaces
|
||||
Date: 2011-05-06 18:27:59
|
||||
|
||||
---
|
||||
|
||||
When you want to replace tab with spaces or vice versa don't use `M-%`
|
||||
*(query-replace)* but `M-x tabify` or `M-x untabify`. They work on the
|
||||
current selection so if you want it to be applied to a whole buffer,
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: emacs: standard input is not a TTY
|
||||
Date: 2011-12-11 13:54:02
|
||||
|
||||
---
|
||||
|
||||
Did you ever tried something like :
|
||||
|
||||
:::bash
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
---
|
||||
Title: emacs: Highlighting errors for c, python, and other languages
|
||||
Date: 2011-06-11 13:54:12
|
||||
|
||||
---
|
||||
|
||||
**This is a deprecated article about flymake, you should check for
|
||||
flycheck instead.**
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Numeric arguments in emacs
|
||||
Date: 2011-05-02 15:47:31
|
||||
|
||||
---
|
||||
|
||||
I'm starting an 'emacs trick of the day' sequence with:
|
||||
|
||||
- Function name: *universal-argument*
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Searching and replacing in emacs
|
||||
Date: 2011-05-03 19:16:16
|
||||
|
||||
---
|
||||
|
||||
Day two of my serie about emacs, about searching and replacing.
|
||||
|
||||
- Function name: *isearch-forward*
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Exclude directories from recursive grep
|
||||
Date: 2008-11-16 16:20:13
|
||||
|
||||
---
|
||||
|
||||
How often are you using grep in subversionned folders like that:
|
||||
|
||||
:::bash
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
---
|
||||
Title: Howto invoke an event via reflection
|
||||
Date: 2008-08-29 23:14:53
|
||||
|
||||
---
|
||||
|
||||
Why this article ? Because of this note found on the MSDN's `EventInfo`
|
||||
page:
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
---
|
||||
Title: Integrating google bookmarks in google chrome
|
||||
Date: 2009-04-16 17:56:18
|
||||
|
||||
---
|
||||
|
||||
As every developer, you have 42 computers, 8 browsers, and spend a lot
|
||||
of time asking why Google Chrome does not integrate Google Bookmarks?
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
---
|
||||
Title: Javascript Foncteur
|
||||
Date: 2008-05-08 12:43:30
|
||||
|
||||
---
|
||||
|
||||
I just discovered, this morning, how to create a Visitor in Javascript:
|
||||
A visitor is an objet who can be used like a function:
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Lazy Loading in php with spl_autload
|
||||
Date: 2008-11-16 20:40:44
|
||||
|
||||
---
|
||||
|
||||
Today, a very short post about the lazy loading in PHP: `spl_autoload`.
|
||||
I'll not expose everything about it here, cause it's already done here:
|
||||
[http://php.net/autoload](http://php.net/autoload).
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
---
|
||||
Title: nfsmount: rpc failed: 2
|
||||
Date: 2011-04-18 14:45:03
|
||||
|
||||
---
|
||||
|
||||
For those, here on the internet, asking themselves what is this fscking
|
||||
`rpc failed: 2` while mounting an NFS, it's possible that the response
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Pipe: Infix syntax for Python
|
||||
Date: 2011-03-28 20:18:24
|
||||
|
||||
---
|
||||
|
||||
Pipe is a Python module enabling infix syntax in Python. For those
|
||||
asking "Why ?" let's take an example: Compare the readability of the
|
||||
classical prefix syntax:
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Post data lost on 301 Moved Permanently
|
||||
Date: 2009-05-15 12:50:05
|
||||
|
||||
---
|
||||
|
||||
What the hell with 301 Moved Permanently HTTP header!? I'll take an
|
||||
exemple to explain my ugly problem, take, a (very ugly cause it's PHP)
|
||||
`index.php`, it could be retrieved by using:
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
Title: La PyCon Fr 2018 approche !
|
||||
Date: 2018-06-10
|
||||
|
||||
|
||||
# PyCon Fr 2018
|
||||
|
||||
La [PyCON Fr 2018](https://www.pycon.fr/2018/) c'est dans 4 mois, mine
|
||||
de rien c'est pas si loin, c'est le moment de l'ajouter sur son
|
||||
calendrier.
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Python: Introducing ppipe : Parallel Pipe
|
||||
Date: 2011-04-15 14:07:47
|
||||
|
||||
---
|
||||
|
||||
> /!\ this was highly experimental code written in 2011.
|
||||
> Today you should _NOT_ use it, just look at it if the subject amuses you.
|
||||
> Better take a look at `asyncio` if you want this kind of tools.
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: Python: Consulting PEPs from command line, while being offline
|
||||
Date: 2011-04-13 14:20:11
|
||||
|
||||
---
|
||||
|
||||
One day I wished I could read PEPs in the tube on my laptop... so I
|
||||
searched for a convenient way to do so, and I didn't found ... So I
|
||||
wrote a very simple shell script you can found here :
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: squid: (101) Network is unreachable when DNS returns IPv6
|
||||
Date: 2011-06-24 17:32:38
|
||||
|
||||
---
|
||||
|
||||
If you have a Squid proxy configured on a machine that have no IPv6
|
||||
connectivity, and try to reach an IPv6 compatible site, you squid will
|
||||
try to reach the site using IPv6 (I use squid 3.1.6 from Debian Squeeze)
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
---
|
||||
Title: The art of Events
|
||||
Date: 2008-08-29 23:32:55
|
||||
|
||||
---
|
||||
|
||||
The art of using events to build more independent classes. /\* Found a
|
||||
better example \*/ Imagine you have a class A and a class B. A builds B,
|
||||
and B have to communicate with A (call methods ... ?) Some developers
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
Title: The ?? operator aka the Null Coalescing Operator
|
||||
Date: 2008-11-23 18:01:40
|
||||
|
||||
---
|
||||
|
||||
If are familiar to the use of ternary operators, you must have
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
---
|
||||
Title: YAUIB : Yet another useless IRC Bot !
|
||||
Date: 2011-03-27 23:40:58
|
||||
|
||||
---
|
||||
|
||||
After 2 years of... non blogging... I'm back! This time I stopped C\#
|
||||
|
|
|
@ -12,10 +12,10 @@ div.highlight pre {
|
|||
background-color: #333;
|
||||
}
|
||||
|
||||
.post-info {
|
||||
float:right;
|
||||
margin:10px;
|
||||
padding:5px;
|
||||
footer {
|
||||
clear: both;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.post-info p{
|
||||
|
@ -50,25 +50,24 @@ div.note {
|
|||
/* Tables */
|
||||
table {margin: .5em auto 1.5em auto; width: 98%;}
|
||||
|
||||
/* Thead */
|
||||
thead th {padding: .5em .4em; text-align: left;}
|
||||
thead td {}
|
||||
/* Thead */
|
||||
thead th {padding: .5em .4em; text-align: left;}
|
||||
thead td {}
|
||||
|
||||
/* Tbody */
|
||||
tbody td {padding: .5em .4em;}
|
||||
tbody th {}
|
||||
/* Tbody */
|
||||
tbody td {padding: .5em .4em;}
|
||||
tbody th {}
|
||||
|
||||
tbody .alt td {}
|
||||
tbody .alt th {}
|
||||
tbody .alt td {}
|
||||
tbody .alt th {}
|
||||
|
||||
/* Tfoot */
|
||||
tfoot th {}
|
||||
tfoot td {}
|
||||
/* Tfoot */
|
||||
tfoot th {}
|
||||
tfoot td {}
|
||||
|
||||
/* HTML5 tags */
|
||||
header, section, footer,
|
||||
aside, nav, article, figure {
|
||||
display: block;
|
||||
header, section, aside, nav, article, figure {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/***** Layout *****/
|
||||
|
@ -77,15 +76,22 @@ img.right, figure.right {float: right; margin: 0 0 2em 2em;}
|
|||
img.left, figure.left {float: left; margin: 0 2em 2em 0;}
|
||||
|
||||
/*
|
||||
Header
|
||||
Header
|
||||
*****************/
|
||||
|
||||
.container {
|
||||
max-width: 970px;
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.container nav {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.sitename {
|
||||
font-weight: 700;
|
||||
font-size: 50px;
|
||||
}
|
||||
|
||||
.markdown-body h1.title {
|
||||
|
@ -95,89 +101,89 @@ img.left, figure.left {float: left; margin: 0 2em 2em 0;}
|
|||
|
||||
#banner {
|
||||
margin-bottom: 30px;
|
||||
padding: 30px 0;
|
||||
margin: 0 auto;
|
||||
padding: 2.5em 0 0 0;
|
||||
margin: 0 auto;
|
||||
height: 50px;
|
||||
border-bottom: 1px solid #EFF2F2;
|
||||
}
|
||||
|
||||
/* Banner */
|
||||
#banner h1 {font-size: 3.571em; line-height: 0;}
|
||||
#banner h1 a:link, #banner h1 a:visited {
|
||||
color: #000305;
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
margin: 0 0 .6em .2em;
|
||||
text-decoration: none;
|
||||
}
|
||||
#banner h1 a:hover, #banner h1 a:active {
|
||||
background: none;
|
||||
/* Banner */
|
||||
#banner h1 {font-size: 3.571em; line-height: 0;}
|
||||
#banner h1 a:link, #banner h1 a:visited {
|
||||
color: #000305;
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
margin: 0 0 .6em .2em;
|
||||
text-decoration: none;
|
||||
}
|
||||
#banner h1 a:hover, #banner h1 a:active {
|
||||
background: none;
|
||||
text-decoration: underline;
|
||||
text-shadow: none;
|
||||
}
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
#banner h1 strong {font-size: 0.36em; font-weight: normal;}
|
||||
#banner h1 strong {font-size: 0.36em; font-weight: normal;}
|
||||
|
||||
/* Main Nav */
|
||||
#banner nav {
|
||||
font-size: 1.143em;
|
||||
height: 40px;
|
||||
line-height: 30px;
|
||||
margin: 0 auto 2em auto;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
/* Main Nav */
|
||||
#banner nav {
|
||||
font-size: 1.143em;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
margin: 0 auto 2em auto;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
|
||||
#banner nav ul {list-style: none; margin: 0 auto; width: 800px;}
|
||||
#banner nav li {float: left; display: inline; margin: 0;}
|
||||
#banner nav ul {list-style: none; }
|
||||
#banner nav li {float: left; display: inline; margin: 0;}
|
||||
|
||||
#banner nav a:link, #banner nav a:visited {
|
||||
color: #333;
|
||||
display: inline-block;
|
||||
height: 30px;
|
||||
padding: 5px 1.5em;
|
||||
text-decoration: none;
|
||||
}
|
||||
#banner nav a:hover, #banner nav a:active,
|
||||
#banner nav .active a:link, #banner nav .active a:visited {
|
||||
#banner nav a:link, #banner nav a:visited {
|
||||
color: #333;
|
||||
display: inline-block;
|
||||
padding-right: 1.5em;
|
||||
padding-left: 1.5em;
|
||||
text-decoration: none;
|
||||
}
|
||||
#banner nav a:hover, #banner nav a:active,
|
||||
#banner nav .active a:link, #banner nav .active a:visited {
|
||||
text-decoration: underline;
|
||||
color: #333;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
color: #333;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
#banner nav li:first-child a {
|
||||
border-top-left-radius: 5px;
|
||||
-moz-border-radius-topleft: 5px;
|
||||
-webkit-border-top-left-radius: 5px;
|
||||
#banner nav li:first-child a {
|
||||
border-top-left-radius: 5px;
|
||||
-moz-border-radius-topleft: 5px;
|
||||
-webkit-border-top-left-radius: 5px;
|
||||
|
||||
border-bottom-left-radius: 5px;
|
||||
-moz-border-radius-bottomleft: 5px;
|
||||
-webkit-border-bottom-left-radius: 5px;
|
||||
}
|
||||
border-bottom-left-radius: 5px;
|
||||
-moz-border-radius-bottomleft: 5px;
|
||||
-webkit-border-bottom-left-radius: 5px;
|
||||
}
|
||||
|
||||
/*
|
||||
Featured
|
||||
Featured
|
||||
*****************/
|
||||
#featured {
|
||||
background: #fff;
|
||||
margin-bottom: 2em;
|
||||
overflow: hidden;
|
||||
padding: 20px;
|
||||
width: 760px;
|
||||
background: #fff;
|
||||
margin-bottom: 2em;
|
||||
overflow: hidden;
|
||||
padding: 20px;
|
||||
width: 760px;
|
||||
|
||||
border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
}
|
||||
|
||||
#featured figure {
|
||||
border: 2px solid #eee;
|
||||
float: right;
|
||||
margin: 0.786em 2em 0 5em;
|
||||
width: 248px;
|
||||
border: 2px solid #eee;
|
||||
float: right;
|
||||
margin: 0.786em 2em 0 5em;
|
||||
width: 248px;
|
||||
}
|
||||
#featured figure img {display: block; float: right;}
|
||||
|
||||
|
@ -188,83 +194,90 @@ img.left, figure.left {float: left; margin: 0 2em 2em 0;}
|
|||
#featured h3 a:hover, #featured h3 a:active {color: #fff;}
|
||||
|
||||
/*
|
||||
Body
|
||||
Body
|
||||
*****************/
|
||||
#content {
|
||||
min-width: 200px;
|
||||
width: 1020px;
|
||||
margin: 0 auto;
|
||||
padding: 30px;
|
||||
|
||||
background: #fff;
|
||||
margin-bottom: 2em;
|
||||
overflow: hidden;
|
||||
#padding: 20px 20px;
|
||||
background: #fff;
|
||||
margin-bottom: 2em;
|
||||
overflow: hidden;
|
||||
|
||||
border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
}
|
||||
|
||||
#content article .entry-content {
|
||||
float: left;
|
||||
width: 700px;
|
||||
}
|
||||
#content article .entry-metadata {
|
||||
float: right;
|
||||
padding-left: 30px;
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
/*
|
||||
Extras
|
||||
Extras
|
||||
*****************/
|
||||
#extras {margin: 0 auto 3em auto; overflow: hidden;}
|
||||
|
||||
#extras ul {list-style: none; margin: 0;}
|
||||
#extras li {border-bottom: 1px solid #fff;}
|
||||
#extras h2 {
|
||||
color: #C74350;
|
||||
font-size: 1.429em;
|
||||
margin-bottom: .25em;
|
||||
padding: 0 3px;
|
||||
color: #C74350;
|
||||
font-size: 1.429em;
|
||||
margin-bottom: .25em;
|
||||
padding: 0 3px;
|
||||
}
|
||||
|
||||
#extras a:link, #extras a:visited {
|
||||
color: #444;
|
||||
display: block;
|
||||
border-bottom: 1px solid #F4E3E3;
|
||||
text-decoration: none;
|
||||
padding: .3em .25em;
|
||||
color: #444;
|
||||
display: block;
|
||||
border-bottom: 1px solid #F4E3E3;
|
||||
text-decoration: none;
|
||||
padding: .3em .25em;
|
||||
}
|
||||
|
||||
#extras a:hover, #extras a:active {color: #fff;}
|
||||
|
||||
/* Blogroll */
|
||||
#extras .blogroll {
|
||||
float: left;
|
||||
width: 615px;
|
||||
}
|
||||
/* Blogroll */
|
||||
#extras .blogroll {
|
||||
float: left;
|
||||
width: 615px;
|
||||
}
|
||||
|
||||
#extras .blogroll li {float: left; margin: 0 20px 0 0; width: 185px;}
|
||||
#extras .blogroll li {float: left; margin: 0 20px 0 0; width: 185px;}
|
||||
|
||||
#banner .social a {
|
||||
background-repeat: no-repeat;
|
||||
background-position: bottom;
|
||||
padding-left: 25px;
|
||||
}
|
||||
#banner a.social {
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
padding-left: 25px;
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
.social a[href*='github.com'] { background-image: url('/theme/images/icons/github.png'); background-size: 16px 16px;}
|
||||
.social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('/theme/images/icons/rss.png');}
|
||||
.social a[href*='stackoverflow.com'] {background-image: url('/theme/images/icons/stackoverflow.png');}
|
||||
.social a[href*='twitter.com'] {background-image: url('/theme/images/icons/twitter.png');}
|
||||
/* Icons */
|
||||
a[href*='github.com'].social { background-image: url('/theme/images/icons/github.png'); background-size: 16px 16px;}
|
||||
a[type$='atom+xml'].social, a[type$='rss+xml'].social {background-image: url('/theme/images/icons/rss.png');}
|
||||
a[href*='stackoverflow.com'].social {background-image: url('/theme/images/icons/stackoverflow.png');}
|
||||
a[href*='twitter.com'].social {background-image: url('/theme/images/icons/twitter.png');}
|
||||
|
||||
/*
|
||||
About
|
||||
About
|
||||
*****************/
|
||||
#about {
|
||||
background: #fff;
|
||||
font-style: normal;
|
||||
margin-bottom: 2em;
|
||||
overflow: hidden;
|
||||
padding: 20px;
|
||||
text-align: left;
|
||||
width: 760px;
|
||||
background: #fff;
|
||||
font-style: normal;
|
||||
margin-bottom: 2em;
|
||||
overflow: hidden;
|
||||
padding: 20px;
|
||||
text-align: left;
|
||||
|
||||
border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
}
|
||||
|
||||
#about .primary {float: left; width: 165px;}
|
||||
|
@ -276,17 +289,21 @@ img.left, figure.left {float: left; margin: 0 2em 2em 0;}
|
|||
#about .bio {float: right; width: 500px;}
|
||||
|
||||
/*
|
||||
Footer
|
||||
Footer
|
||||
*****************/
|
||||
#contentinfo {padding-bottom: 2em; text-align: right;}
|
||||
#contentinfo {
|
||||
padding-bottom: 2em;
|
||||
text-align: right;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
/***** Sections *****/
|
||||
/* Blog */
|
||||
.hentry {
|
||||
display: block;
|
||||
clear: both;
|
||||
border-bottom: 1px solid #eee;
|
||||
padding: 1.5em 0;
|
||||
display: block;
|
||||
clear: both;
|
||||
padding: 1.5em 0;
|
||||
}
|
||||
li:last-child .hentry, #content > .hentry {border: 0; margin: 0;}
|
||||
#content > .hentry {padding: 1em 0;}
|
||||
|
@ -297,74 +314,74 @@ li:last-child .hentry, #content > .hentry {border: 0; margin: 0;}
|
|||
|
||||
.hentry .post-info * {font-style: normal;}
|
||||
|
||||
/* Content */
|
||||
.hentry footer {margin-bottom: 2em;}
|
||||
.hentry footer address {display: inline;}
|
||||
#posts-list footer address {display: block;}
|
||||
/* Content */
|
||||
.hentry footer {margin-bottom: 2em;}
|
||||
.hentry footer address {display: inline;}
|
||||
#posts-list footer address {display: block;}
|
||||
|
||||
/* Blog Index */
|
||||
#posts-list {list-style: none; margin: 0;}
|
||||
#posts-list .hentry {padding-left: 10px; position: relative;}
|
||||
/* Blog Index */
|
||||
#posts-list {list-style: none; margin: 0;}
|
||||
#posts-list .hentry {padding-left: 10px; position: relative;}
|
||||
|
||||
#posts-list footer {
|
||||
left: 10px;
|
||||
position: relative;
|
||||
#posts-list footer {
|
||||
left: 10px;
|
||||
position: relative;
|
||||
float: left;
|
||||
top: 0.5em;
|
||||
width: 190px;
|
||||
}
|
||||
top: 0.5em;
|
||||
width: 190px;
|
||||
}
|
||||
|
||||
/* About the Author */
|
||||
#about-author {
|
||||
background: #f9f9f9;
|
||||
clear: both;
|
||||
font-style: normal;
|
||||
margin: 2em 0;
|
||||
padding: 10px 20px 15px 20px;
|
||||
/* About the Author */
|
||||
#about-author {
|
||||
background: #f9f9f9;
|
||||
clear: both;
|
||||
font-style: normal;
|
||||
margin: 2em 0;
|
||||
padding: 10px 20px 15px 20px;
|
||||
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
|
||||
#about-author strong {
|
||||
color: #C64350;
|
||||
clear: both;
|
||||
display: block;
|
||||
font-size: 1.429em;
|
||||
}
|
||||
#about-author strong {
|
||||
color: #C64350;
|
||||
clear: both;
|
||||
display: block;
|
||||
font-size: 1.429em;
|
||||
}
|
||||
|
||||
#about-author .photo {border: 1px solid #ddd; float: left; margin: 5px 1em 0 0;}
|
||||
#about-author .photo {border: 1px solid #ddd; float: left; margin: 5px 1em 0 0;}
|
||||
|
||||
/* Comments */
|
||||
#comments-list {list-style: none; margin: 0 1em;}
|
||||
#comments-list blockquote {
|
||||
background: #f8f8f8;
|
||||
clear: both;
|
||||
font-style: normal;
|
||||
margin: 0;
|
||||
padding: 15px 20px;
|
||||
/* Comments */
|
||||
#comments-list {list-style: none; margin: 0 1em;}
|
||||
#comments-list blockquote {
|
||||
background: #f8f8f8;
|
||||
clear: both;
|
||||
font-style: normal;
|
||||
margin: 0;
|
||||
padding: 15px 20px;
|
||||
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
#comments-list footer {color: #888; padding: .5em 1em 0 0; text-align: right;}
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
#comments-list footer {color: #888; padding: .5em 1em 0 0; text-align: right;}
|
||||
|
||||
#comments-list li:nth-child(2n) blockquote {background: #F5f5f5;}
|
||||
#comments-list li:nth-child(2n) blockquote {background: #F5f5f5;}
|
||||
|
||||
/* Add a Comment */
|
||||
#add-comment label {clear: left; float: left; text-align: left; width: 150px;}
|
||||
#add-comment input[type='text'],
|
||||
#add-comment input[type='email'],
|
||||
#add-comment input[type='url'] {float: left; width: 200px;}
|
||||
/* Add a Comment */
|
||||
#add-comment label {clear: left; float: left; text-align: left; width: 150px;}
|
||||
#add-comment input[type='text'],
|
||||
#add-comment input[type='email'],
|
||||
#add-comment input[type='url'] {float: left; width: 200px;}
|
||||
|
||||
#add-comment textarea {float: left; height: 150px; width: 495px;}
|
||||
#add-comment textarea {float: left; height: 150px; width: 495px;}
|
||||
|
||||
#add-comment p.req {clear: both; margin: 0 .5em 1em 0; text-align: right;}
|
||||
#add-comment p.req {clear: both; margin: 0 .5em 1em 0; text-align: right;}
|
||||
|
||||
#add-comment input[type='submit'] {float: right; margin: 0 .5em;}
|
||||
#add-comment * {margin-bottom: .5em;}
|
||||
#add-comment input[type='submit'] {float: right; margin: 0 .5em;}
|
||||
#add-comment * {margin-bottom: .5em;}
|
||||
|
||||
div.codehilite {
|
||||
# position: relative;
|
||||
|
|
|
@ -7,32 +7,33 @@
|
|||
<header>
|
||||
<h1 class="entry-title">
|
||||
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
|
||||
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h1>
|
||||
{% include 'twitter.html' %}
|
||||
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<div class="entry-content">
|
||||
{% include 'article_infos.html' %}
|
||||
{{ article.content }}
|
||||
</div><!-- /.entry-content -->
|
||||
{% if DISQUS_SITENAME and SITEURL and article.status != "draft" %}
|
||||
<div class="comments">
|
||||
<h2>Comments !</h2>
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
var disqus_shortname = '{{ DISQUS_SITENAME }}';
|
||||
var disqus_identifier = '{{ article.url }}';
|
||||
var disqus_url = '{{ SITEURL }}/{{ article.url }}';
|
||||
(function() {
|
||||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||
dsq.src = '//{{ DISQUS_SITENAME }}.disqus.com/embed.js';
|
||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the comments.</noscript>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="entry-metadata">
|
||||
{% if ads %}
|
||||
<script src="https://sense.framasoft.org/sense3.js" data-sense3="300x250"></script>
|
||||
{% endif %}
|
||||
</div>
|
||||
<footer class="post-info">
|
||||
<abbr class="published" title="{{ article.date.isoformat() }}">
|
||||
Published: {{ article.locale_date }}
|
||||
</abbr>
|
||||
{% if article.authors %}
|
||||
<address class="vcard author">
|
||||
by {% for author in article.authors %}
|
||||
<a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
|
||||
{% endfor %}
|
||||
</address>
|
||||
{% endif %}
|
||||
<p> in <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>.</p>
|
||||
{% include 'taglist.html' %}
|
||||
{% import 'translations.html' as translations with context %}
|
||||
{{ translations.translations_for(article) }}
|
||||
</footer>
|
||||
</article>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,26 +1,16 @@
|
|||
<footer class="post-info">
|
||||
<abbr class="published" title="{{ article.date.isoformat() }}">
|
||||
Published: {{ article.locale_date }}
|
||||
</abbr>
|
||||
{% if article.modified %}
|
||||
<br />
|
||||
<abbr class="modified" title="{{ article.modified.isoformat() }}">
|
||||
Updated: {{ article.locale_modified }}
|
||||
</abbr>
|
||||
{% endif %}
|
||||
|
||||
{% if article.authors %}
|
||||
<address class="vcard author">
|
||||
By {% for author in article.authors %}
|
||||
<a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
|
||||
{% endfor %}
|
||||
</address>
|
||||
{% endif %}
|
||||
<abbr class="published" title="{{ article.date.isoformat() }}">
|
||||
Published: {{ article.locale_date }}
|
||||
</abbr>
|
||||
{% if article.authors %}
|
||||
<address class="vcard author">
|
||||
By {% for author in article.authors %}
|
||||
<a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
|
||||
{% endfor %}
|
||||
</address>
|
||||
{% endif %}
|
||||
<p>In <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>.</p>
|
||||
{% include 'taglist.html' %}
|
||||
{% import 'translations.html' as translations with context %}
|
||||
{{ translations.translations_for(article) }}
|
||||
{% if ads %}
|
||||
<script src="https://sense.framasoft.org/sense3.js" data-sense3="300x250"></script>
|
||||
{% endif %}
|
||||
</footer><!-- /.post-info -->
|
||||
</footer>
|
||||
|
|
|
@ -27,34 +27,24 @@
|
|||
{% include 'github.html' %}
|
||||
<header id="banner" class="body">
|
||||
<div class="container">
|
||||
<nav><ul>
|
||||
<li><a href="/">mdk.fr</a></li>
|
||||
{% for title, link in MENUITEMS %}
|
||||
<li><a href="{{ link }}">{{ title }}</a></li>
|
||||
{% endfor %}
|
||||
{% if DISPLAY_PAGES_ON_MENU -%}
|
||||
{% for pg in PAGES %}
|
||||
<li{% if pg == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ pg.url }}">{{ pg.title }}</a></li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if DISPLAY_CATEGORIES_ON_MENU -%}
|
||||
<nav>
|
||||
<a class="sitename" href="/">mdk.fr</a>
|
||||
<a href="/pages/talks.html">talks</a>
|
||||
{% for cat, null in categories %}
|
||||
<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
|
||||
<a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if SOCIAL or FEED_ALL_ATOM or FEED_ALL_RSS %}
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<li class="social"><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate"></a></li>
|
||||
<a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate"></a>
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<li class="social"><a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate"></a></li>
|
||||
<a href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate"></a>
|
||||
{% endif %}
|
||||
|
||||
{% for name, link in SOCIAL %}
|
||||
<li class="social"><a href="{{ link }}"></a></li>
|
||||
<a class="social" href="{{ link }}"></a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</ul></nav>
|
||||
</nav>
|
||||
</div>
|
||||
</header><!-- /#banner -->
|
||||
{% block content %}
|
||||
|
|
|
@ -5,40 +5,23 @@
|
|||
{% if articles %}
|
||||
{% for article in articles_page.object_list %}
|
||||
|
||||
{# First item #}
|
||||
{% if loop.first and not articles_page.has_previous() %}
|
||||
<aside id="featured" class="body">
|
||||
<article>
|
||||
<h1 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></h1>
|
||||
{% include 'article_infos.html' %}{{ article.content }}{% include 'comments.html' %}
|
||||
</article>
|
||||
</aside><!-- /#featured -->
|
||||
{% if loop.length > 1 %}
|
||||
<section id="content" class="body">
|
||||
<h1>Other articles</h1>
|
||||
<hr />
|
||||
<ol id="posts-list" class="hfeed">
|
||||
{% endif %}
|
||||
{# other items #}
|
||||
{% else %}
|
||||
{% if loop.first %}
|
||||
<section id="content" class="body">
|
||||
<ol id="posts-list" class="hfeed" start="{{ articles_paginator.per_page -1 }}">
|
||||
{% endif %}
|
||||
<li><article class="hentry">
|
||||
<header>
|
||||
<h1><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
|
||||
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h1>
|
||||
</header>
|
||||
|
||||
<div class="entry-content">
|
||||
{% include 'article_infos.html' %}
|
||||
{{ article.summary }}
|
||||
<a class="readmore" href="{{ SITEURL }}/{{ article.url }}">read more</a>
|
||||
{% include 'comments.html' %}
|
||||
</div><!-- /.entry-content -->
|
||||
</article></li>
|
||||
{% if loop.first %}
|
||||
<section id="content" class="body">
|
||||
<ol id="posts-list" class="hfeed" start="{{ articles_paginator.per_page -1 }}">
|
||||
{% endif %}
|
||||
<li><article class="hentry">
|
||||
<header>
|
||||
<h1><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
|
||||
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h1>
|
||||
</header>
|
||||
|
||||
<div>
|
||||
{{ article.summary }}
|
||||
<a class="readmore" href="{{ SITEURL }}/{{ article.url }}">read more</a>
|
||||
{% include 'comments.html' %}
|
||||
</div>
|
||||
</article></li>
|
||||
|
||||
{% if loop.last %}
|
||||
{% if loop.length > 1 or articles_page.has_other_pages() %}
|
||||
</ol><!-- /#posts-list -->
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
{% if TWITTER_USERNAME %}
|
||||
<a href="https://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="{{TWITTER_USERNAME}}">Tweet</a><script type="text/javascript" src="https://platform.twitter.com/widgets.js"></script>
|
||||
{% endif %}
|
Loading…
Reference in New Issue