Compare commits
152 commits
Author | SHA1 | Date | |
---|---|---|---|
0953590101 | |||
9f2f22e11e | |||
0fd3c7ec03 | |||
efc0681162 | |||
b9f98378ca | |||
1aec225c9c | |||
adc6d36ca4 | |||
95448fa293 | |||
434bdbea2c | |||
92d7c0e6bd | |||
530645cae8 | |||
7d9abd7a43 | |||
c303d06449 | |||
ff9b6648ee | |||
7dd1f68bed | |||
93693e9871 | |||
f8bd6be63e | |||
060055bc04 | |||
445fb242c1 | |||
b524e83144 | |||
f8b5487e65 | |||
11545d5ab7 | |||
a427dbd8bb | |||
4e340783f1 | |||
08a1f190d1 | |||
d32002c573 | |||
2a1dbe6c9e | |||
059fabd7d0 | |||
82db423114 | |||
f4675e7130 | |||
a0da29f53b | |||
847c80a63f | |||
fa11add4f8 | |||
3616b1685d | |||
20ec6b1023 | |||
cce2fa901d | |||
f47cabff24 | |||
fc0249f599 | |||
6b5600964c | |||
ae8c688903 | |||
b94c8a620d | |||
b17f1fa12d | |||
3a8baeb5d4 | |||
2f610f2b20 | |||
1163f5352b | |||
8536464fec | |||
4b0d69af9e | |||
27c59db5b0 | |||
13c4640cf1 | |||
e0e583b050 | |||
7c692878bc | |||
887a590f7e | |||
0dd91cb23a | |||
bc4c4c7763 | |||
60392ea438 | |||
444548b8f5 | |||
cd94e215d4 | |||
7236ef6b7a | |||
fe1b6a0776 | |||
7aa04bee54 | |||
4cc82bf954 | |||
3171031eea | |||
fc70b4acf4 | |||
23039ebee9 | |||
9c6a997cdb | |||
72f79ad842 | |||
1c9352bb2b | |||
370e0a6ee7 | |||
5e7bca80ad | |||
d937afc208 | |||
78db14d6fb | |||
2bffa4154b | |||
736b8e39b6 | |||
2acd6effce | |||
09b0af122a | |||
a4ad837b8f | |||
a0788c624e | |||
8081c2c1f8 | |||
11fce6a2b1 | |||
e24aa4d479 | |||
c13516e0b0 | |||
b6f4e8bf32 | |||
012d5f14eb | |||
01d00491cd | |||
d9c7cd3fba | |||
f9646d62f5 | |||
e0a8dd126b | |||
35ce280d6b | |||
0d6310e5f2 | |||
f52149fc3a | |||
8649f64528 | |||
8f410ec372 | |||
e6b1789b02 | |||
bd8e0522b3 | |||
83001ea774 | |||
e73e0fa702 | |||
27e78c194b | |||
803e7c2a43 | |||
f83248503d | |||
f7ca66102d | |||
2a6f814c6d | |||
cbcff38c99 | |||
dcfe493cc8 | |||
0426e4a03c | |||
9ce3afee97 | |||
eca0cc19c7 | |||
03610908ce | |||
99d992950c | |||
9fe1ef3498 | |||
bb24585590 | |||
2ca69dbab5 | |||
bf2387bb68 | |||
dba9ae1393 | |||
d939ae3f33 | |||
1dd8138466 | |||
8c5a4fc093 | |||
8e2cb330f9 | |||
c06d1afecb | |||
61b6b9e794 | |||
20dcec0ebd | |||
50ebc7501c | |||
1b7f0d98e7 | |||
bc5afe8cd1 | |||
debfc13228 | |||
983b3c8def | |||
e4c3a308e5 | |||
23b980eff0 | |||
c56449b1d5 | |||
9fdc163fc5 | |||
fb993d8928 | |||
2252391159 | |||
1e727b5d2b | |||
78c176d73e | |||
771a21ff3e | |||
344620e35c | |||
07a882a537 | |||
3a6587a3ef | |||
03db1aaea7 | |||
b151370ba7 | |||
c925082fa0 | |||
b4a2c9cdfe | |||
23fc0738fc | |||
d168d0b28e | |||
492ef0f32b | |||
973f1c9936 | |||
69893ff61f | |||
a22ec4e7ca | |||
8210724925 | |||
7cbd8daac8 | |||
0fcf693ff4 | |||
8944a17762 | |||
14361d5289 |
8
.gitignore
vendored
8
.gitignore
vendored
|
@ -1,8 +1,4 @@
|
|||
_cache/
|
||||
.cache/
|
||||
_site/
|
||||
_optim/
|
||||
src/archive.org
|
||||
.direnv/
|
||||
_shake/
|
||||
.shake/
|
||||
dist-newstyle/
|
||||
engine/envvars.sh
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
# Revision history for her-esy-fun
|
||||
|
||||
## 0.1.0.0 -- YYYY-mm-dd
|
||||
|
||||
* First version. Released on an unsuspecting world.
|
217
Makefile
217
Makefile
|
@ -1,91 +1,196 @@
|
|||
# Generate my website out of org-mode/gemini files
|
||||
#
|
||||
# maybe check https://themattchan.com/blog/2017-02-28-make-site-generator.html
|
||||
# From https://github.com/fcanas/bake/blob/master/Makefile
|
||||
# Finally https://www.arsouyes.org/blog/2017/10_Static_website/
|
||||
|
||||
all: allatend
|
||||
all: site
|
||||
SRC_DIR ?= src
|
||||
DST_DIR ?= _site
|
||||
SRC_RAW_FILES := $(shell find $(SRC_DIR) -type f)
|
||||
DST_RAW_FILES := $(patsubst $(SRC_DIR)/%,$(DST_DIR)/%,$(SRC_RAW_FILES))
|
||||
ALL += $(DST_RAW_FILES)
|
||||
CACHE_DIR ?= .cache
|
||||
|
||||
# COPY EVERYTHING
|
||||
$(DST_DIR)/% : $(SRC_DIR)/%
|
||||
mkdir -p "$(dir $@)"
|
||||
cp "$<" "$@"
|
||||
# we don't want to publish files in drafts
|
||||
NO_DRAFT := -not -path '$(SRC_DIR)/drafts/*'
|
||||
# we don't copy source files
|
||||
NO_SRC_FILE := ! -name '*.org' ! -name '*.css'
|
||||
|
||||
|
||||
define adv_rule
|
||||
SRC_$(1) := $$(shell find $$(SRC_DIR) -type f $(2))
|
||||
DST_$(1) := $$(patsubst $$(SRC_DIR)/%,$$(DST_DIR)/%,$$(SRC_$(1)))
|
||||
$$(DST_DIR)/%$(4): $$(SRC_DIR)/%$(4) $$(ENV_VARS)
|
||||
@mkdir -p "$$(dir $$@)"
|
||||
$(3)
|
||||
.PHONY: $(1)
|
||||
$(1): $$(DST_$(1))
|
||||
ALL += $(1)
|
||||
endef
|
||||
|
||||
define rule
|
||||
SRC_$(1) := $$(shell find $$(SRC_DIR) -type f $(2))
|
||||
DST_$(1) := $$(patsubst $$(SRC_DIR)/%,$$(DST_DIR)/%,$$(SRC_$(1)))
|
||||
$$(DST_DIR)/%.$(1): $$(SRC_DIR)/%.$(1) $$(ENV_VARS)
|
||||
@mkdir -p "$$(dir $$@)"
|
||||
$(3)
|
||||
.PHONY: $(1)
|
||||
$(1): $$(DST_$(1))
|
||||
ALL += $(1)
|
||||
endef
|
||||
|
||||
# Prevent path/nix bugs
|
||||
ENV_VARS := ./engine/envvars.sh
|
||||
NIX_FILES := ./shell.nix $(shell find nix -type f)
|
||||
$(ENV_VARS): $(NIX_FILES)
|
||||
$(info Build ${ENV_VARS})
|
||||
@echo "export PATH=\"${PATH}\"" >> ./engine/envvars.sh
|
||||
.PHONY: envvars
|
||||
envvars: $(ENV_VARS)
|
||||
ALL += envvars
|
||||
|
||||
# ASSETS
|
||||
$(eval $(call adv_rule,assets,$$(NO_DRAFT) $$(NO_SRC_FILE),cp "$$<" "$$@",))
|
||||
|
||||
# CSS
|
||||
# $(info $(call rule,css,-name '*.css',minify "$$<" > "$$@"))
|
||||
$(eval $(call rule,css,-name '*.css',minify "$$<" > "$$@"))
|
||||
|
||||
# ORG -> HTML
|
||||
EXT := .org
|
||||
SRC_PANDOC_FILES ?= $(shell find $(SRC_DIR) -type f -name "*$(EXT)")
|
||||
DST_PANDOC_FILES ?= $(subst $(EXT),.html, \
|
||||
$(subst $(SRC_DIR),$(DST_DIR), \
|
||||
EXT ?= .org
|
||||
SRC_PANDOC_FILES ?= $(shell find $(SRC_DIR) -type f -name "*$(EXT)" $(NO_DRAFT))
|
||||
DST_PANDOC_FILES ?= $(patsubst %$(EXT),%.html, \
|
||||
$(patsubst $(SRC_DIR)/%,$(DST_DIR)/%, \
|
||||
$(SRC_PANDOC_FILES)))
|
||||
PANDOC_TEMPLATE ?= templates/post.html
|
||||
PANDOC_LUA_FILTER ?= engine/links-to-html.lua
|
||||
PANDOC_LUA_FILTER_IMG ?= engine/img-to-webp.lua
|
||||
PANDOC_LUA_METAS ?= engine/metas.lua
|
||||
MK_HTML := engine/mk-html.sh
|
||||
PANDOC := $(MK_HTML) $(PANDOC_TEMPLATE) $(PANDOC_LUA_FILTER) $(PANDOC_LUA_FILTER_IMG) $(PANDOC_LUA_METAS)
|
||||
$(DST_DIR)/%.html: $(SRC_DIR)/%.org $(PANDOC_TEMPLATE) $(PANDOC_LUA_FILTER) $(PANDOC_LUA_FILTER_IMG) $(PANDOC_LUA_METAS) $(MK_HTML) $(ENV_VARS)
|
||||
@mkdir -p "$(dir $@)"
|
||||
$(PANDOC) "$<" "$@.tmp"
|
||||
minify --mime text/html "$@.tmp" > "$@"
|
||||
@rm "$@.tmp"
|
||||
.PHONY: html
|
||||
html: $(DST_PANDOC_FILES)
|
||||
ALL += html
|
||||
|
||||
ALL += $(DST_PANDOC_FILES)
|
||||
|
||||
|
||||
TEMPLATE ?= templates/post.html
|
||||
CSS = /css/y.css
|
||||
PANDOC := pandoc \
|
||||
-c $(CSS) \
|
||||
--template=$(TEMPLATE) \
|
||||
--from org \
|
||||
--to html5 \
|
||||
--standalone
|
||||
|
||||
|
||||
$(DST_DIR)/%.html: $(SRC_DIR)/%.org $(TEMPLATE)
|
||||
mkdir -p $(dir $@)
|
||||
$(PANDOC) $< \
|
||||
--output $@
|
||||
|
||||
# INDEXES
|
||||
SRC_POSTS_DIR ?= $(SRC_DIR)/posts
|
||||
DST_POSTS_DIR ?= $(DST_DIR)/posts
|
||||
SRC_POSTS_FILES ?= $(shell find $(SRC_POSTS_DIR) -type f -name "*$(EXT)")
|
||||
RSS_CACHE_DIR ?= $(CACHE_DIR)/rss
|
||||
DST_XML_FILES ?= $(patsubst %.org,%.xml, \
|
||||
$(patsubst $(SRC_POSTS_DIR)/%,$(RSS_CACHE_DIR)/%, \
|
||||
$(SRC_POSTS_FILES)))
|
||||
$(RSS_CACHE_DIR)/%.xml: $(DST_POSTS_DIR)/%.html $(ENV_VARS)
|
||||
@mkdir -p "$(dir $@)"
|
||||
hxclean "$<" > "$@"
|
||||
.PHONY: indexcache
|
||||
indexcache: $(DST_XML_FILES)
|
||||
ALL += indexcache
|
||||
|
||||
# HTML INDEX
|
||||
DST_INDEX_FILES ?= $(patsubst %.xml,%.index, $(DST_XML_FILES))
|
||||
MK_INDEX_ENTRY := ./engine/mk-index-entry.sh
|
||||
INDEX_CACHE_DIR ?= $(CACHE_DIR)/rss
|
||||
$(INDEX_CACHE_DIR)/%.index: $(INDEX_CACHE_DIR)/%.xml $(MK_INDEX_ENTRY) $(ENV_VARS)
|
||||
@mkdir -p $(INDEX_CACHE_DIR)
|
||||
$(MK_INDEX_ENTRY) "$<" "$@"
|
||||
|
||||
HTML_INDEX := $(DST_DIR)/index.html
|
||||
MKINDEX := engine/mk-index.sh
|
||||
|
||||
$(HTML_INDEX): $(SRC_PANDOC_FILES) $(MKINDEX)
|
||||
mkdir -p $(DST_DIR)
|
||||
INDEX_TEMPLATE ?= templates/index.html
|
||||
$(HTML_INDEX): $(DST_INDEX_FILES) $(MKINDEX) $(INDEX_TEMPLATE) $(ENV_VARS)
|
||||
@mkdir -p $(DST_DIR)
|
||||
$(MKINDEX)
|
||||
.PHONY: index
|
||||
index: $(HTML_INDEX)
|
||||
ALL += index
|
||||
|
||||
# RSS
|
||||
DST_RSS_FILES ?= $(patsubst %.xml,%.rss, $(DST_XML_FILES)) $(ENV_VARS)
|
||||
MK_RSS_ENTRY := ./engine/mk-rss-entry.sh
|
||||
$(RSS_CACHE_DIR)/%.rss: $(RSS_CACHE_DIR)/%.xml $(MK_RSS_ENTRY)
|
||||
@mkdir -p $(RSS_CACHE_DIR)
|
||||
$(MK_RSS_ENTRY) "$<" "$@"
|
||||
|
||||
RSS := $(DST_DIR)/rss.xml
|
||||
MKRSS := engine/mkrss.sh
|
||||
$(RSS): $(DST_RSS_FILES) $(MKRSS) $(ENV_VARS)
|
||||
$(MKRSS)
|
||||
|
||||
.PHONY: rss
|
||||
rss: $(RSS)
|
||||
ALL += rss
|
||||
|
||||
ALL += $(HTML_INDEX)
|
||||
|
||||
# ORG -> GEMINI
|
||||
EXT := .org
|
||||
SRC_GMI_FILES ?= $(shell find $(SRC_DIR) -type f -name "*$(EXT)")
|
||||
SRC_GMI_FILES ?= $(shell find $(SRC_DIR) -type f -name "*$(EXT)" $(NO_DRAFT))
|
||||
DST_GMI_FILES ?= $(subst $(EXT),.gmi, \
|
||||
$(subst $(SRC_DIR),$(DST_DIR), \
|
||||
$(patsubst $(SRC_DIR)/%,$(DST_DIR)/%, \
|
||||
$(SRC_GMI_FILES)))
|
||||
|
||||
ALL += $(DST_GMI_FILES)
|
||||
GMI := engine/org2gemini.sh
|
||||
|
||||
$(DST_DIR)/%.gmi: $(SRC_DIR)/%.org $(GMI)
|
||||
mkdir -p $(dir $@)
|
||||
$(DST_DIR)/%.gmi: $(SRC_DIR)/%.org $(GMI) engine/org2gemini_step1.sh
|
||||
@mkdir -p $(dir $@)
|
||||
$(GMI) "$<" "$@"
|
||||
ALL += $(DST_GMI_FILES)
|
||||
.PHONY: gmi
|
||||
gmi: $(DST_GMI_FILES)
|
||||
|
||||
# GEMINI INDEX
|
||||
GMI_INDEX := $(DST_DIR)/index.gmi
|
||||
MK_GMI_INDEX := engine/mk-gemini-index.sh
|
||||
$(GMI_INDEX): $(DST_GMI_FILES) $(MK_GMI_INDEX) $(ENV_VARS)
|
||||
@mkdir -p $(DST_DIR)
|
||||
$(MK_GMI_INDEX)
|
||||
ALL += $(GMI_INDEX)
|
||||
.PHONY: gmi-index
|
||||
gmi-index: $(GMI_INDEX)
|
||||
|
||||
# OPTIM PHASE
|
||||
# RSS
|
||||
GMI_ATOM := $(DST_DIR)/gem-atom.xml
|
||||
MK_GEMINI_ATOM := engine/mk-gemini-atom.sh
|
||||
$(GMI_ATOM): $(DST_GMI_FILES) $(MK_GEMINI_ATOM)
|
||||
$(MK_GEMINI_ATOM)
|
||||
ALL += $(GMI_ATOM)
|
||||
.PHONY: gmi-atom
|
||||
gmi-atom: $(GMI_ATOM)
|
||||
|
||||
OPTIM_DIR ?= _optim
|
||||
OPTIM := engine/pre-deploy.sh
|
||||
$(OPTIM_DIR)/index.html: $(HTML_INDEX) $(SRC_RAW_FILES) $(OPTIM)
|
||||
mkdir -p $(OPTIM_DIR)
|
||||
$(OPTIM)
|
||||
.PHONY: gemini
|
||||
gemini: $(DST_GMI_FILES) $(GMI_INDEX) $(GMI_ATOM)
|
||||
|
||||
optim: $(OPTIM_DIR)/index.html
|
||||
# Images
|
||||
OPTIM_IMG := engine/optim-img.sh
|
||||
|
||||
define img
|
||||
SRC_IMG_$(1) ?= $$(shell find $$(SRC_DIR) -type f -name "*.$(1)")
|
||||
DST_IMG_$(1) ?= $$(patsubst $$(SRC_DIR)/%,$$(DST_DIR)/%,$$(SRC_IMG_$(1)))
|
||||
$$(DST_DIR)/%.$(1): $$(SRC_DIR)/%.$(1) $$(OPTIM_IMG)
|
||||
@mkdir -p $$(dir $$@)
|
||||
$$(OPTIM_IMG) "$$<" "$$@"
|
||||
.PHONY: $(1)
|
||||
$(1): $$(DST_IMG_$(1))
|
||||
ALL += $(1)
|
||||
endef
|
||||
|
||||
$(info $(call img,jpg))
|
||||
$(eval $(call img,jpg))
|
||||
$(eval $(call img,jpeg))
|
||||
$(eval $(call img,gif))
|
||||
$(eval $(call img,png))
|
||||
|
||||
.PHONY: img
|
||||
img: jpg jpeg gif png
|
||||
|
||||
# DEPLOY
|
||||
.PHONY: site
|
||||
site: $(ALL)
|
||||
|
||||
deploy: $(OPTIM_DIR)/index.html
|
||||
.PHONY: deploy
|
||||
deploy: $(ALL)
|
||||
engine/sync.sh # deploy to her.esy.fun
|
||||
engine/ye-com-fastpublish.hs # deploy to yannesposito.com (via github pages)
|
||||
|
||||
allatend: $(ALL)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(DST_DIR)/*
|
||||
-[ -f $(ENV_VARS) ] && rm $(ENV_VARS)
|
||||
-[ ! -z "$(DST_DIR)" ] && rm -rf $(DST_DIR)/*
|
||||
-[ ! -z "$(CACHE_DIR)" ] && rm -rf $(CACHE_DIR)/*
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
app/Shakefile.hs
|
6
TODO.org
6
TODO.org
|
@ -1,6 +0,0 @@
|
|||
#+TITLE: Project TODO
|
||||
|
||||
* DONE Display size of current page (text + images)
|
||||
CLOSED: [2020-02-23 Sun 00:18]
|
||||
|
||||
* TODO Delete classes not present in both CSS and HTML
|
502
app/Shakefile.hs
502
app/Shakefile.hs
|
@ -1,502 +0,0 @@
|
|||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE NoImplicitPrelude #-}
|
||||
|
||||
import Protolude
|
||||
|
||||
import Development.Shake
|
||||
import Development.Shake.FilePath
|
||||
|
||||
import Data.Time.Format.ISO8601 (iso8601Show)
|
||||
import qualified Data.Time.Clock as Clock
|
||||
|
||||
import Control.Monad.Fail
|
||||
import Data.Aeson
|
||||
import Data.Default ( Default(def) )
|
||||
import qualified Data.Text as T
|
||||
import Text.Mustache
|
||||
import Text.Pandoc.Class (PandocMonad)
|
||||
import qualified Text.Pandoc.Class as Pandoc
|
||||
import Text.Pandoc.Definition ( Pandoc(..)
|
||||
, Block(..)
|
||||
, Inline(..)
|
||||
, MetaValue(..)
|
||||
, nullMeta
|
||||
, docTitle
|
||||
, docDate
|
||||
, docAuthors
|
||||
, lookupMeta
|
||||
)
|
||||
import Text.Pandoc.Options ( ReaderOptions(..)
|
||||
, WriterOptions(..)
|
||||
, ObfuscationMethod(..)
|
||||
, HTMLMathMethod(..)
|
||||
)
|
||||
|
||||
import qualified Text.Pandoc.Readers as Readers
|
||||
import Text.Pandoc.Walk (Walkable(..))
|
||||
import qualified Text.Pandoc.Writers as Writers
|
||||
import qualified Text.Pandoc.Templates as Templates
|
||||
|
||||
main :: IO ()
|
||||
main = shakeArgs shOpts buildRules
|
||||
where
|
||||
shOpts =
|
||||
shakeOptions
|
||||
{ shakeVerbosity = Chatty
|
||||
, shakeLintInside = ["\\"]
|
||||
}
|
||||
|
||||
-- Configuration
|
||||
-- Should probably go in a Reader Monad
|
||||
|
||||
srcDir :: FilePath
|
||||
srcDir = "src"
|
||||
|
||||
siteDir :: FilePath
|
||||
siteDir = "_site"
|
||||
|
||||
optimDir :: FilePath
|
||||
optimDir = "_optim"
|
||||
|
||||
-- BlogPost data structure (a bit of duplication because the metas are in Pandoc)
|
||||
|
||||
data BlogPost =
|
||||
BlogPost { postTitle :: T.Text
|
||||
, postDate :: T.Text
|
||||
, postAuthor :: T.Text
|
||||
, postUrl :: FilePath
|
||||
, postSrc :: FilePath
|
||||
, postTags :: [T.Text]
|
||||
, postDescr :: T.Text
|
||||
, postToc :: Bool
|
||||
, postBody :: Pandoc
|
||||
}
|
||||
|
||||
inlineToText :: PandocMonad m => [Inline] -> m T.Text
|
||||
inlineToText inline =
|
||||
Writers.writeAsciiDoc def (Pandoc nullMeta [Plain inline])
|
||||
|
||||
reformatDate :: Text -> Text
|
||||
reformatDate = T.takeWhile (/= ' ') . (T.dropAround dateEnvelope)
|
||||
where
|
||||
dateEnvelope ' ' = True
|
||||
dateEnvelope '\n' = True
|
||||
dateEnvelope '\t' = True
|
||||
dateEnvelope '[' = True
|
||||
dateEnvelope ']' = True
|
||||
dateEnvelope _ = False
|
||||
|
||||
getBlogpostFromMetas
|
||||
:: (MonadIO m, MonadFail m) => [Char] -> Bool -> Pandoc -> m BlogPost
|
||||
getBlogpostFromMetas path toc pandoc@(Pandoc meta _) = do
|
||||
eitherBlogpost <- liftIO $ Pandoc.runIO $ do
|
||||
title <- fmap (T.dropEnd 1) $ inlineToText $ docTitle meta
|
||||
date <- fmap reformatDate $ inlineToText $ docDate meta
|
||||
author <- case head $ docAuthors meta of
|
||||
Just m -> fmap T.strip $ inlineToText m
|
||||
Nothing -> return ""
|
||||
let tags = tagsToList $ lookupMeta "keywords" meta
|
||||
description = descr $ lookupMeta "description" meta
|
||||
url = "/" </> dropDirectory1 path -<.> "org"
|
||||
return $ BlogPost title date author url path tags description toc pandoc
|
||||
case eitherBlogpost of
|
||||
Left _ -> fail "BAD"
|
||||
Right bp -> return bp
|
||||
where
|
||||
tagsToList (Just (MetaList ms)) = map toStr ms
|
||||
tagsToList _ = []
|
||||
descr (Just (MetaString t)) = t
|
||||
descr _ = ""
|
||||
toStr (MetaString t) = t
|
||||
toStr (MetaInlines inlines) = T.intercalate " " $ map inlineToTxt inlines
|
||||
toStr _ = ""
|
||||
inlineToTxt (Str t) = t
|
||||
inlineToTxt _ = ""
|
||||
|
||||
sortByPostDate :: [BlogPost] -> [BlogPost]
|
||||
sortByPostDate =
|
||||
sortBy (\a b-> compare (postDate b) (postDate a))
|
||||
|
||||
build :: FilePath -> FilePath
|
||||
build = (</>) siteDir
|
||||
|
||||
genAllDeps :: [FilePattern] -> Action [FilePath]
|
||||
genAllDeps patterns = do
|
||||
allMatchedFiles <- getDirectoryFiles srcDir patterns
|
||||
allMatchedFiles &
|
||||
filter ((/= "html") . takeExtension) &
|
||||
filter (null . takeExtension) &
|
||||
map (siteDir </>) &
|
||||
return
|
||||
|
||||
buildRules :: Rules ()
|
||||
buildRules = do
|
||||
cleanRule
|
||||
fastRule
|
||||
allRule
|
||||
fullRule
|
||||
getPost <- mkGetPost
|
||||
getPosts <- mkGetPosts getPost
|
||||
getTemplate <- mkGetTemplate
|
||||
build "**" %> \out -> do
|
||||
let asset = dropDirectory1 out
|
||||
case (takeExtension asset) of
|
||||
".html" -> do
|
||||
if out == siteDir </> "index.html"
|
||||
then buildArchive getPosts getTemplate out
|
||||
else do
|
||||
htmlExists <- doesFileExist (srcDir </> asset)
|
||||
if htmlExists
|
||||
then copyFileChanged (srcDir </> asset) out
|
||||
else genHtmlAction getPost getTemplate out
|
||||
".pdf" -> do
|
||||
txtExists <- doesFileExist (srcDir </> asset)
|
||||
if txtExists
|
||||
then copyFileChanged (srcDir </> asset) out
|
||||
else genPdfAction getPost out
|
||||
".gmi" -> do
|
||||
fileExists <- doesFileExist (srcDir </> asset)
|
||||
if fileExists
|
||||
then copyFileChanged (srcDir </> asset) out
|
||||
else if out == siteDir </> "index.gmi"
|
||||
then buildGeminiArchive getPosts out
|
||||
else genGeminiAction out
|
||||
".jpg" -> compressImage asset
|
||||
".jpeg" -> compressImage asset
|
||||
".gif" -> compressImage asset
|
||||
".png" -> compressImage asset
|
||||
_ -> copyFileChanged (srcDir </> asset) out
|
||||
optimDir </> "rss.xml" %> \_ -> do
|
||||
needAll
|
||||
command_[] "engine/pre-deploy.sh" []
|
||||
|
||||
welcomeTxt :: Text
|
||||
welcomeTxt = toS $ T.intercalate "\n" $
|
||||
[ "Welcome to my small place on the Internet."
|
||||
]
|
||||
|
||||
buildArchive
|
||||
:: (() -> Action [BlogPost])
|
||||
-> (FilePath -> Action Template) -> [Char] -> Action ()
|
||||
buildArchive getPosts getTemplate out = do
|
||||
css <- genAllDeps ["//*.css"]
|
||||
posts <- fmap sortByPostDate $ getPosts ()
|
||||
need $ css <> map postSrc posts
|
||||
let
|
||||
title :: Text
|
||||
title = "#+title: Yann Esposito's blog"
|
||||
menu = "@@html:<a href=\"/index.html\">Home</a> | <a href=\"/slides.html\">Slides</a> | <a href=\"/about-me.html\">About</a>@@"
|
||||
articleList = toS $ T.intercalate "\n" $ map postInfo posts
|
||||
olderArchives = "---\n\n@@html:<a href=\"/Scratch/en/blog/index.html\">Older Archives from my previous blog</a>@@"
|
||||
fileContent = title <> "\n\n" <> menu <> "\n\n" <> welcomeTxt <> "\n\n" <> articleList <> olderArchives
|
||||
eitherResult <- liftIO $ Pandoc.runIO $ Readers.readOrg (def { readerStandalone = True }) (toS fileContent)
|
||||
bp <- case eitherResult of
|
||||
Left _ -> fail "BAD"
|
||||
Right pandoc -> getBlogpostFromMetas out False pandoc
|
||||
innerHtml <- genHtml bp
|
||||
template <- getTemplate ("templates" </> "main.mustache")
|
||||
let htmlContent =
|
||||
renderMustache template
|
||||
$ object [ "title" .= postTitle bp
|
||||
, "author" .= postAuthor bp
|
||||
, "date" .= postDate bp
|
||||
, "tags" .= postTags bp
|
||||
, "description" .= postDescr bp
|
||||
, "body" .= innerHtml
|
||||
]
|
||||
writeFile' out (toS htmlContent)
|
||||
|
||||
geminiMenu :: Text
|
||||
geminiMenu = T.intercalate "\n"
|
||||
[ "=> /index.gmi Home"
|
||||
, "=> /gem-atom.xml Feed"
|
||||
, "=> /slides.gmi Slides"
|
||||
, "=> /about-me.gmi About me"
|
||||
]
|
||||
|
||||
buildGeminiArchive
|
||||
:: (() -> Action [BlogPost])
|
||||
-> [Char] -> Action ()
|
||||
buildGeminiArchive getPosts out = do
|
||||
posts <- fmap sortByPostDate $ getPosts ()
|
||||
need $ map postSrc posts
|
||||
let
|
||||
title :: Text
|
||||
title = "# Yann Esposito's posts"
|
||||
articleList = toS $ T.intercalate "\n" $ map postGeminiInfo posts
|
||||
fileContent = title
|
||||
<> "\n\n" <> welcomeTxt
|
||||
<> "\n\n" <> geminiMenu
|
||||
<> "\n\n" <> "## Articles"
|
||||
<> "\n\n" <> articleList
|
||||
writeFile' out (toS fileContent)
|
||||
|
||||
postGeminiInfo :: BlogPost -> Text
|
||||
postGeminiInfo bp =
|
||||
"=> " <> (toS (postUrl bp -<.> ".gmi")) <> " " <> date <> ": " <> (postTitle bp)
|
||||
where
|
||||
date = T.takeWhile (/= ' ') (postDate bp)
|
||||
|
||||
postInfo :: BlogPost -> Text
|
||||
postInfo bp =
|
||||
"| " <> date <> " | " <> orglink <> " |"
|
||||
where
|
||||
date = T.takeWhile (/= ' ') (postDate bp)
|
||||
orglink = "[[file:" <> (toS (postUrl bp)) <> "][" <> (postTitle bp) <> "]]"
|
||||
|
||||
replaceLinks :: Pandoc -> Pandoc
|
||||
replaceLinks = walk replaceOrgLink
|
||||
where
|
||||
replaceOrgLink :: Inline -> Inline
|
||||
replaceOrgLink lnk@(Link attr inl (url,txt)) =
|
||||
if takeExtension (toS url) == ".org"
|
||||
then Link attr inl ((toS (toS url -<.> ".html")),txt)
|
||||
else lnk
|
||||
replaceOrgLink x = x
|
||||
|
||||
orgContentToText :: (MonadIO m, MonadFail m) => Text -> m Text
|
||||
orgContentToText org = do
|
||||
eitherResult <- liftIO $ Pandoc.runIO $ Readers.readOrg (def { readerStandalone = True }) org
|
||||
pandoc <- case eitherResult of
|
||||
Left _ -> fail "BAD"
|
||||
Right p -> return p
|
||||
eitherHtml <- liftIO $ Pandoc.runIO $
|
||||
Writers.writeHtml5String (def {writerEmailObfuscation = ReferenceObfuscation}) pandoc
|
||||
case eitherHtml of
|
||||
Left _ -> fail "BAD"
|
||||
Right innerHtml -> return innerHtml
|
||||
|
||||
postamble :: (MonadIO m, MonadFail m) => Text -> BlogPost -> m Text
|
||||
postamble now bp =
|
||||
orgContentToText $ unlines $
|
||||
[ "@@html:<footer>@@"
|
||||
, "@@html:<i>Any comment? Click on my email below and I'll add it.</i>@@"
|
||||
, ""
|
||||
, "| author | @@html:<span class=\"author\">@@ [[mailto:Yann Esposito <yann@esposito.host>?subject=yblog: " <> (postTitle bp) <> "][Yann Esposito <yann@esposito.host>]] @@html:</span>@@ |"
|
||||
, "| gpg | [[file:files/publickey.txt][CB420F8005F1A662]] |"
|
||||
, "| tags | " <> T.intercalate " " (map ("#"<>) (postTags bp)) <> " |"
|
||||
, "| date | " <> postDate bp <> " |"
|
||||
, "| rss | [[file:/rss.xml][RSS]] ([[https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Fher.esy.fun%2Frss.xml][validate]]) |"
|
||||
, "| size | @@html:<span class=\"web-file-size\">XXK (html XXK, css XXK, img XXK)</span>@@ |"
|
||||
, "| gz | @@html:<span class=\"gzweb-file-size\">XXK (html XXK, css XXK, img XXK)</span>@@ |"
|
||||
, "| generated | " <> now <> " |"
|
||||
, ""
|
||||
, "@@html:</footer>@@"
|
||||
]
|
||||
|
||||
tpltxt :: Text
|
||||
tpltxt = T.unlines [
|
||||
"$if(toc)$"
|
||||
, "<nav id=\"$idprefix$TOC\" role=\"doc-toc\">"
|
||||
, "$if(toc-title)$"
|
||||
, "<h2 id=\"$idprefix$toc-title\">$toc-title$</h2>"
|
||||
, "$endif$"
|
||||
, "$table-of-contents$"
|
||||
, "</nav>"
|
||||
, "$endif$"
|
||||
, "$body$"
|
||||
]
|
||||
|
||||
getPostTpl :: IO (Templates.Template Text)
|
||||
getPostTpl = do
|
||||
etpl <- Templates.compileTemplate "blog.template" tpltxt
|
||||
case etpl of
|
||||
Left e -> fail e
|
||||
Right tpl -> return tpl
|
||||
|
||||
genHtml :: (MonadIO m, MonadFail m) => BlogPost -> m Text
|
||||
genHtml bp = do
|
||||
let htmlBody = replaceLinks (postBody bp)
|
||||
eitherHtml <- liftIO $ do
|
||||
tpl <- getPostTpl
|
||||
Pandoc.runIO $ do
|
||||
Writers.writeHtml5String
|
||||
(def { writerTableOfContents = postToc bp
|
||||
, writerTemplate = Just tpl
|
||||
, writerTOCDepth = 3
|
||||
, writerEmailObfuscation = ReferenceObfuscation
|
||||
, writerHTMLMathMethod = MathML
|
||||
})
|
||||
htmlBody
|
||||
body <- case eitherHtml of
|
||||
Left _ -> fail "BAD"
|
||||
Right innerHtml -> return innerHtml
|
||||
now <- liftIO Clock.getCurrentTime
|
||||
footer <- postamble (toS (iso8601Show now)) bp
|
||||
return (body <> footer)
|
||||
|
||||
origin :: Text
|
||||
origin = "https://her.esy.fun"
|
||||
|
||||
geminiOrigin :: Text
|
||||
geminiOrigin = "gemini://her.esy.fun"
|
||||
|
||||
genHtmlAction
|
||||
:: (FilePath -> Action BlogPost)
|
||||
-> (FilePath -> Action Template) -> [Char] -> Action ()
|
||||
genHtmlAction getPost getTemplate out = do
|
||||
let tplname = case takeDirectory1 (dropDirectory1 out) of
|
||||
"posts" -> "post.mustache"
|
||||
"slides" -> "slide.mustache"
|
||||
"drafts" -> "post.mustache"
|
||||
_ -> "main.mustache"
|
||||
let templateFile = "templates" </> tplname
|
||||
template <- getTemplate templateFile
|
||||
let srcFile = srcDir </> (dropDirectory1 (out -<.> "org"))
|
||||
liftIO $ putText $ "need: " <> (toS srcFile) <> " -> " <> (toS out)
|
||||
need [srcFile,templateFile,"templates" </> "menu.mustache","Shakefile.hs"]
|
||||
bp <- getPost srcFile
|
||||
innerHtml <- genHtml bp
|
||||
let htmlContent =
|
||||
renderMustache template
|
||||
$ object [ "title" .= postTitle bp
|
||||
, "author" .= postAuthor bp
|
||||
, "date" .= postDate bp
|
||||
, "tags" .= postTags bp
|
||||
, "description" .= postDescr bp
|
||||
, "body" .= innerHtml
|
||||
, "orgsource" .= T.pack (postUrl bp -<.> "org")
|
||||
, "txtsource" .= T.pack (postUrl bp -<.> "gmi")
|
||||
, "geminiurl" .= T.pack (toS geminiOrigin <> postUrl bp -<.> "gmi")
|
||||
, "pdf" .= T.pack (postUrl bp -<.> "pdf")
|
||||
, "permalink" .= T.pack (toS origin <> postUrl bp -<.> "html")
|
||||
]
|
||||
writeFile' out (toS htmlContent)
|
||||
|
||||
genPdfAction :: p -> [Char] -> Action ()
|
||||
genPdfAction _getPost out = do
|
||||
let srcFile = srcDir </> (dropDirectory1 (out -<.> "org"))
|
||||
need [srcFile,"Shakefile.hs"]
|
||||
command_ [] "pandoc"
|
||||
["--pdf-engine=xelatex"
|
||||
, "--resource-path=" <> takeDirectory srcFile
|
||||
, srcFile
|
||||
, "-H", "engine" </> "deeplist.tex"
|
||||
, "-V", "mainfont:CMU Serif"
|
||||
, "-V", "mainfontoptions:Renderer=OpenType, Mapping=tex-text, ItalicFeatures={Alternate = 0}, Ligatures={Common,Rare,Historic,Contextual},Contextuals=Inner,Alternate=1"
|
||||
, "-V", "monofont:Menlo"
|
||||
, "-V", "monofontoptions:Scale=0.7"
|
||||
, "-o", out ]
|
||||
|
||||
|
||||
-- genGemini :: (MonadIO m, MonadFail m) => BlogPost -> m Text
|
||||
-- genGemini bp = do
|
||||
-- eitherMd <- liftIO $ Pandoc.runIO $ Writers.writeMarkdown def (postBody bp)
|
||||
-- case eitherMd of
|
||||
-- Left _ -> fail "BAD"
|
||||
-- Right innerMd -> return innerMd
|
||||
|
||||
genGeminiAction :: [Char] -> Action ()
|
||||
genGeminiAction out = do
|
||||
let srcFile = srcDir </> (dropDirectory1 (out -<.> "org"))
|
||||
need [srcFile]
|
||||
command_ [] "./engine/org2gemini.sh" [ srcFile, out ]
|
||||
|
||||
allHtmlAction :: Action ()
|
||||
allHtmlAction = do
|
||||
allOrgFiles <- getDirectoryFiles srcDir ["//*.org"]
|
||||
let allHtmlFiles = map (-<.> "html") allOrgFiles
|
||||
need (map build allHtmlFiles)
|
||||
|
||||
allPdfAction :: Action ()
|
||||
allPdfAction = do
|
||||
allOrgFiles <- getDirectoryFiles srcDir ["//*.org"]
|
||||
let allHtmlFiles = map (-<.> "pdf") allOrgFiles
|
||||
need (map build allHtmlFiles)
|
||||
|
||||
|
||||
allGeminiAction :: Action ()
|
||||
allGeminiAction = do
|
||||
allOrgFiles <- getDirectoryFiles srcDir ["//*.org"]
|
||||
let allGeminiFiles = map (-<.> "gmi") allOrgFiles
|
||||
need (map build $ allGeminiFiles <> ["index.gmi"])
|
||||
|
||||
compressImage :: FilePath -> Action ()
|
||||
compressImage img = do
|
||||
let src = srcDir </> img
|
||||
dst = siteDir </> img
|
||||
need [src]
|
||||
let dir = takeDirectory dst
|
||||
dirExists <- doesDirectoryExist dir
|
||||
when (not dirExists) $
|
||||
command [] "mkdir" ["-p", dir]
|
||||
command_ [] "convert" [ src
|
||||
, "-strip"
|
||||
, "-resize","960x960>"
|
||||
, "-interlace","Plane"
|
||||
, "-quality","85"
|
||||
, "-define","filter:blur=0.75"
|
||||
, "-filter","Gaussian"
|
||||
-- , "-ordered-dither","o4x4,4"
|
||||
, dst ]
|
||||
|
||||
|
||||
needFast :: Action ()
|
||||
needFast = do
|
||||
allAssets <- filter (/= ".DS_Store") <$> getDirectoryFiles srcDir ["**"]
|
||||
need (map build $ allAssets <> ["index.html"])
|
||||
allHtmlAction
|
||||
allGeminiAction
|
||||
|
||||
fastRule :: Rules ()
|
||||
fastRule =
|
||||
withTargetDocs "generate html" $
|
||||
phony "fast" $
|
||||
needFast
|
||||
|
||||
needAll :: Action ()
|
||||
needAll = do
|
||||
needFast
|
||||
allPdfAction
|
||||
allGeminiAction
|
||||
|
||||
allRule :: Rules ()
|
||||
allRule =
|
||||
withTargetDocs "generate all, no optim" $
|
||||
phony "all" $
|
||||
needAll
|
||||
|
||||
fullRule :: Rules ()
|
||||
fullRule =
|
||||
withTargetDocs "generate all and optim" $
|
||||
phony "full" $
|
||||
need [optimDir </> "rss.xml"]
|
||||
|
||||
cleanRule :: Rules ()
|
||||
cleanRule =
|
||||
phony "clean" $ do
|
||||
putInfo "Cleaning files in _site and _optim"
|
||||
forM_ [siteDir,optimDir] $ flip removeFilesAfter ["**"]
|
||||
|
||||
mkGetTemplate :: Rules (FilePath -> Action Template)
|
||||
mkGetTemplate = newCache $ \path -> do
|
||||
fileContent <- readFile' path
|
||||
header <- readFile' ("templates" </> "header.mustache")
|
||||
menu <- readFile' ("templates" </> "menu.mustache")
|
||||
let withIncludes = fileContent & toS & T.replace "{{>header}}" (toS header) & T.replace "{{>menu}}" (toS menu)
|
||||
res = compileMustacheText "page" (toS withIncludes)
|
||||
case res of
|
||||
Left _ -> fail "BAD"
|
||||
Right template -> return template
|
||||
|
||||
tocRequested :: Text -> Bool
|
||||
tocRequested fc =
|
||||
let toc = fc & T.lines
|
||||
& map T.toLower
|
||||
& filter (T.isPrefixOf (T.pack "#+options: "))
|
||||
& head
|
||||
& fmap (filter (T.isPrefixOf (T.pack "toc:")) . T.words)
|
||||
in toc == Just ["toc:t"]
|
||||
|
||||
mkGetPost :: Rules (FilePath -> Action BlogPost)
|
||||
mkGetPost = newCache $ \path -> do
|
||||
fileContent <- readFile' path
|
||||
let toc = tocRequested (toS fileContent)
|
||||
eitherResult <- liftIO $ Pandoc.runIO $ Readers.readOrg (def { readerStandalone = True }) (toS fileContent)
|
||||
case eitherResult of
|
||||
Left _ -> fail "BAD"
|
||||
Right pandoc -> getBlogpostFromMetas path toc pandoc
|
||||
|
||||
mkGetPosts :: (FilePath -> Action b) -> Rules (() -> Action [b])
|
||||
mkGetPosts getPost =
|
||||
newCache $ \() -> mapM getPost =<< getDirectoryFiles "" ["src/posts//*.org"]
|
8
build.sh
8
build.sh
|
@ -1,8 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# mkdir -p _shake
|
||||
# ghc --make app/Shakefile.hs -rtsopts -threaded -with-rtsopts=-I0 -outputdir=_shake -o _shake/build && _shake/build "$@"
|
||||
|
||||
# cabal v2-run -- her-esy-fun "$@"
|
||||
|
||||
runghc app/Shakefile.hs "$@"
|
|
@ -1,9 +1,12 @@
|
|||
#!/usr/bin/env zsh
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
[[ -f ./engine/envvars.sh ]] || make ./engine/envvars.sh
|
||||
source ./engine/envvars.sh
|
||||
direnv reload
|
||||
./engine/build.sh
|
||||
echo "Watching $PWD/{src,templates}"
|
||||
# fswatch --exclude='\\.#' src | while read event; do
|
||||
fswatch --exclude='^.*\.#.*$' src templates | while read event; do
|
||||
fswatch --exclude='^.*\.#.*$' src engine templates | while read event; do
|
||||
echo "$event"
|
||||
./engine/build.sh fast
|
||||
./engine/build.sh
|
||||
done
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#!/bin/sh
|
||||
#!/bin/zsh
|
||||
|
||||
# mkdir -p _shake
|
||||
# ghc --make app/Shakefile.hs -rtsopts -threaded -with-rtsopts=-I0 -outputdir=_shake -o _shake/build && _shake/build "$@"
|
||||
|
||||
cabal v2-run -- her-esy-fun "$@"
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
source ./engine/envvars.sh
|
||||
make -j $(getconf _NPROCESSORS_ONLN)
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
echo -n "* Clean site cache"
|
||||
find _site -mindepth 1 -not -path "_site/.gitignore" -delete
|
||||
find _full -mindepth 1 -not -path "_full/.gitignore" -delete
|
||||
find _optim -mindepth 1 -not -path "_optim/.gitignore" -delete
|
||||
rm -rf _cache
|
||||
echo " [done]"
|
|
@ -1,3 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
minify "$1" > "$2"
|
|
@ -1,24 +0,0 @@
|
|||
\usepackage{enumitem}
|
||||
\setlistdepth{9}
|
||||
|
||||
\setlist[itemize,1]{label=$\bullet$}
|
||||
\setlist[itemize,2]{label=$\bullet$}
|
||||
\setlist[itemize,3]{label=$\bullet$}
|
||||
\setlist[itemize,4]{label=$\bullet$}
|
||||
\setlist[itemize,5]{label=$\bullet$}
|
||||
\setlist[itemize,6]{label=$\bullet$}
|
||||
\setlist[itemize,7]{label=$\bullet$}
|
||||
\setlist[itemize,8]{label=$\bullet$}
|
||||
\setlist[itemize,9]{label=$\bullet$}
|
||||
\renewlist{itemize}{itemize}{9}
|
||||
|
||||
\setlist[enumerate,1]{label=$\arabic*.$}
|
||||
\setlist[enumerate,2]{label=$\alph*.$}
|
||||
\setlist[enumerate,3]{label=$\roman*.$}
|
||||
\setlist[enumerate,4]{label=$\arabic*.$}
|
||||
\setlist[enumerate,5]{label=$\alpha*$}
|
||||
\setlist[enumerate,6]{label=$\roman*.$}
|
||||
\setlist[enumerate,7]{label=$\arabic*.$}
|
||||
\setlist[enumerate,8]{label=$\alph*.$}
|
||||
\setlist[enumerate,9]{label=$\roman*.$}
|
||||
\renewlist{enumerate}{enumerate}{9}
|
|
@ -1,11 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
set -e # fail on first error
|
||||
set -u # fail if a variable is not set
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
rootdir="${0:h}"
|
||||
echo "$rootdir"
|
||||
|
||||
./engine/build.sh full
|
||||
./engine/sync.sh
|
|
@ -1,7 +1,26 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
tmux \
|
||||
new-session './engine/auto-build.sh' \; \
|
||||
split-window './engine/serve.sh' \; \
|
||||
split-window 'lorri watch' \; \
|
||||
select-layout even-vertical
|
||||
source ./engine/envvars.sh
|
||||
|
||||
## colors for tput
|
||||
# black=0
|
||||
red=1
|
||||
green=2
|
||||
yellow=3
|
||||
blue=4
|
||||
# magenta=5
|
||||
# cyan=6
|
||||
# white=7
|
||||
green() { printf "$(tput setaf $green)%s$(tput sgr0)" "$*" }
|
||||
yellow() { printf "$(tput setaf $yellow)%s$(tput sgr0)" "$*" }
|
||||
blue() { printf "$(tput setaf $blue)%s$(tput sgr0)" "$*" }
|
||||
|
||||
pipegreen() {while read line; do green $line; done}
|
||||
pipeyellow() {while read line; do yellow $line; done}
|
||||
pipeblue() {while read line; do blue $line; done}
|
||||
|
||||
tee >(lorri watch | sed 's/^/[lorri] /' | pipegreen ) \
|
||||
>(./engine/serve.sh | sed 's/^/[http] /' | pipeyellow) \
|
||||
>(./engine/auto-build.sh | sed 's/^/[make] /' | pipeblue) \
|
||||
>(sleep 1 && open 'http://127.0.0.1:3077')
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
echo "* org-publish"
|
||||
emacs -nw \
|
||||
--load project.el \
|
||||
--eval "(progn (org-publish \"draft\") (evil-quit))"
|
||||
|
||||
echo "* org-publish [done]"
|
|
@ -1,34 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
|
||||
webdir="_site"
|
||||
|
||||
debug () {
|
||||
print -- "$@" >/dev/null
|
||||
}
|
||||
|
||||
if (($#>0)); then
|
||||
filelist=( $* )
|
||||
else
|
||||
filelist=( $webdir/**/*.html(.) )
|
||||
fi
|
||||
|
||||
trans(){
|
||||
local suff=$1;
|
||||
local fic=$2;
|
||||
cat $fic | perl -p -e 's#href="?/css/mk.css"?#href=/css/'$suff'.css#;s#(/?(index|archive|slides|about-me)).html#$1-'$suff'.html#g;s#(posts/[a-zA-Z0-9_-]*).html#$1-'$suff'.html#g;s#-'$suff'.html>mk#.html>mk#g' > ${fic:r}-${suff}.html
|
||||
}
|
||||
|
||||
print -- "Duplicate HTML by themes"
|
||||
for fic in $filelist; do
|
||||
if echo $fic|grep -E -- '-(mk|min|sci|modern).html$'>/dev/null; then
|
||||
continue
|
||||
fi
|
||||
print -n -- "$fic "
|
||||
for suff in sci min modern; do
|
||||
trans $suff $fic
|
||||
done
|
||||
print "[OK]"
|
||||
done
|
||||
print "Duplicate HTML by theme [done]"
|
9
engine/img-to-webp.lua
Normal file
9
engine/img-to-webp.lua
Normal file
|
@ -0,0 +1,9 @@
|
|||
-- img-to-webp.lua
|
||||
function Image(el)
|
||||
local fileext = el.src:match("%.[^%.]+$");
|
||||
-- DEBUG -- print("LUA IMG: ", fileext);
|
||||
if ( fileext == ".jpg" or fileext == ".png" or fileext == ".jpeg" ) then
|
||||
el.src = el.src .. ".webp"
|
||||
end
|
||||
return el
|
||||
end
|
27
engine/lighttpd.conf
Normal file
27
engine/lighttpd.conf
Normal file
|
@ -0,0 +1,27 @@
|
|||
server.bind = "0.0.0.0"
|
||||
server.port = 3077
|
||||
server.document-root = var.CWD + "/_site/"
|
||||
|
||||
index-file.names = ( "index.html" )
|
||||
|
||||
mimetype.assign = (
|
||||
".css" => "text/css",
|
||||
".gif" => "image/gif",
|
||||
".htm" => "text/html",
|
||||
".html" => "text/html",
|
||||
".jpeg" => "image/jpeg",
|
||||
".jpg" => "image/jpeg",
|
||||
".js" => "text/javascript",
|
||||
".png" => "image/png",
|
||||
".swf" => "application/x-shockwave-flash",
|
||||
".txt" => "text/plain",
|
||||
".gmi" => "text/plain",
|
||||
".svg" => "image/svg+xml",
|
||||
".svgz" => "image/svg+xml"
|
||||
)
|
||||
|
||||
# Making sure file uploads above 64k always work when using IE or Safari
|
||||
# For more information, see http://trac.lighttpd.net/trac/ticket/360
|
||||
$HTTP["useragent"] =~ "^(.*MSIE.*)|(.*AppleWebKit.*)$" {
|
||||
server.max-keep-alive-requests = 0
|
||||
}
|
5
engine/links-to-html.lua
Normal file
5
engine/links-to-html.lua
Normal file
|
@ -0,0 +1,5 @@
|
|||
-- links-to-html.lua
|
||||
function Link(el)
|
||||
el.target = string.gsub(string.gsub(el.target, "%.org", ".html"), "%.html::", ".html#" )
|
||||
return el
|
||||
end
|
22
engine/metas.lua
Normal file
22
engine/metas.lua
Normal file
|
@ -0,0 +1,22 @@
|
|||
-- intermediate store for variables and their values
|
||||
local variables = {}
|
||||
|
||||
--- Function called for each raw block element.
|
||||
function RawBlock (raw)
|
||||
-- Don't do anything unless the block contains *org* markup.
|
||||
if raw.format ~= 'org' then return nil end
|
||||
|
||||
-- extract variable name and value
|
||||
local name, value = raw.text:match '#%+(%w+):%s*(.+)$'
|
||||
if name and value then
|
||||
variables[name] = value
|
||||
end
|
||||
end
|
||||
|
||||
-- Add the extracted variables to the document's metadata.
|
||||
function Meta (meta)
|
||||
for name, value in pairs(variables) do
|
||||
meta[name] = value
|
||||
end
|
||||
return meta
|
||||
end
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
# Directory
|
||||
webdir="_optim"
|
||||
webdir="_site"
|
||||
postsdir="$webdir/posts"
|
||||
rssfile="$webdir/gem-atom.xml"
|
||||
|
||||
|
@ -30,7 +30,7 @@ finddate(){ < $1 | awk '/^date: /' | head -n1 | perl -pe 's/^.*\[//;s/ .*$//;' }
|
|||
findtitle(){ < $1 | head -n1 | perl -pe 's/^# //' }
|
||||
getcontent(){
|
||||
< $1 perl -pe 'use URI; $base="'$2'"; s# (href|src)="((?!https?://)[^"]*)"#" ".$1."=\"".URI->new_abs($2,$base)->as_string."\""#eig' }
|
||||
findkeywords(){ < $1 | awk '/^keywords: /' | head -n1 | perl -pe 's/^[^:]\s+//' }
|
||||
findkeywords(){ < $1 | awk '/^keywords: /' | head -n1 | sed 's/keywords: //' }
|
||||
mkcategories(){
|
||||
for keyword in $*; do
|
||||
printf "\\n<category>%s</category>" $keyword
|
||||
|
|
84
engine/mk-gemini-index.sh
Executable file
84
engine/mk-gemini-index.sh
Executable file
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
source ./engine/envvars.sh
|
||||
# Directory
|
||||
webdir="_site"
|
||||
postsdir="$webdir/posts"
|
||||
indexfile="$webdir/index.gmi"
|
||||
|
||||
# maximal number of articles to put in the RSS file
|
||||
maxarticles=100
|
||||
|
||||
# RSS Metas
|
||||
rsstitle="her.esy.fun"
|
||||
websiteurl="gemini://her.esy.fun"
|
||||
rssdescription="her.esy.fun articles, mostly random personal thoughts"
|
||||
rsslang="en"
|
||||
rssauthor="yann@esposito.host (Yann Esposito)"
|
||||
|
||||
# title and keyword shouldn't be changed
|
||||
|
||||
formatdate() {
|
||||
# format the date for RSS
|
||||
local d=$1
|
||||
LC_TIME=en_US date --date $d +'%Y-%m-%d'
|
||||
}
|
||||
|
||||
finddate(){ < $1 | awk '/^date: /' | head -n1 | perl -pe 's/^.*\[//;s/ .*$//;' }
|
||||
findtitle(){ < $1 | head -n1 | perl -pe 's/^# //' }
|
||||
getcontent(){
|
||||
< $1 perl -pe 'use URI; $base="'$2'"; s# (href|src)="((?!https?://)[^"]*)"#" ".$1."=\"".URI->new_abs($2,$base)->as_string."\""#eig' }
|
||||
findkeywords(){ < $1 | awk '/^keywords: /' | head -n1 | sed 's/keywords: //' }
|
||||
|
||||
autoload -U colors && colors
|
||||
|
||||
tmpdir=$(mktemp -d)
|
||||
typeset -a dates
|
||||
dates=( )
|
||||
for fic in $postsdir/**/*.gmi; do
|
||||
postfile="$(echo "$fic"|sed 's#^'$postsdir'/##')"
|
||||
blogfile="$(echo "$fic"|sed 's#^'$webdir'/##')"
|
||||
printf "%-30s" $postfile
|
||||
xfic="$fic"
|
||||
d=$(finddate $xfic)
|
||||
echo -n " [$d]"
|
||||
rssdate=$(formatdate $d)
|
||||
title=$(findtitle $xfic)
|
||||
keywords=( $(findkeywords $xfic) )
|
||||
printf ": %-55s" "$title ($keywords)"
|
||||
absoluteurl="${websiteurl}/${blogfile}"
|
||||
{
|
||||
printf "=> %s %s: %s [%s]\n" "$absoluteurl" "$rssdate" "$title" "$keywords"
|
||||
} >> "$tmpdir/${d}-$(basename $fic).gmi"
|
||||
dates=( $d $dates )
|
||||
echo " [${fg[green]}OK${reset_color}]"
|
||||
done
|
||||
echo "Publishing"
|
||||
for fic in $(ls $tmpdir/*.gmi | sort -r | head -n $maxarticles ); do
|
||||
echo "${fic:t}"
|
||||
cat $fic >> $tmpdir/gmi
|
||||
done
|
||||
|
||||
rssmaxdate=$(formatdate $(for d in $dates; do echo $d; done | sort -r | head -n 1))
|
||||
rssbuilddate=$(formatdate $(date))
|
||||
{
|
||||
cat <<END
|
||||
,---,
|
||||
/ <=> \\
|
||||
( (O) )
|
||||
\\ /
|
||||
'---'
|
||||
YOGSOTOTH
|
||||
|
||||
The index of my articles.
|
||||
I talk about programming and sometime movies.
|
||||
Some articles are only intended for gemini.
|
||||
Enjoy!
|
||||
|
||||
END
|
||||
cat $tmpdir/gmi
|
||||
} > "$indexfile"
|
||||
|
||||
rm -rf $tmpdir
|
||||
echo "* Gemini Index [done]"
|
28
engine/mk-html.sh
Executable file
28
engine/mk-html.sh
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/env bash
|
||||
set -eu
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
template="$1"
|
||||
luafilter="$2"
|
||||
luafilterimg="$3"
|
||||
luametas="$4"
|
||||
orgfile="$5"
|
||||
htmlfile="$6"
|
||||
|
||||
tocoption=""
|
||||
if grep -ie '^#+options:' "$orgfile" | grep 'toc:t'>/dev/null; then
|
||||
tocoption="--toc"
|
||||
fi
|
||||
|
||||
set -x
|
||||
pandoc $tocoption \
|
||||
--template="$template" \
|
||||
--lua-filter="$luafilter" \
|
||||
--lua-filter="$luafilterimg" \
|
||||
--lua-filter="$luametas" \
|
||||
--mathml \
|
||||
--from org \
|
||||
--to html5 \
|
||||
--standalone \
|
||||
$orgfile \
|
||||
--output "$htmlfile"
|
35
engine/mk-index-entry.sh
Executable file
35
engine/mk-index-entry.sh
Executable file
|
@ -0,0 +1,35 @@
|
|||
#!/usr/bin/env zsh
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
source ./engine/envvars.sh
|
||||
xfic="$1"
|
||||
dst="$2"
|
||||
|
||||
# Directory
|
||||
indexdir=".cache/rss"
|
||||
|
||||
# HTML Accessors (similar to CSS accessors)
|
||||
dateaccessor='.yyydate'
|
||||
# title and keyword shouldn't be changed
|
||||
titleaccessor='title'
|
||||
keywordsaccessor='meta[name=keywords]::attr(content)'
|
||||
|
||||
finddate(){ < $1 hxselect -c $dateaccessor | sed 's/\[//g;s/\]//g;s/ .*$//' }
|
||||
findtitle(){ < $1 hxselect -c $titleaccessor }
|
||||
findkeywords(){ < $1 hxselect -c $keywordsaccessor | sed 's/,/ /g' }
|
||||
|
||||
autoload -U colors && colors
|
||||
|
||||
blogfile="$(echo "$xfic"|sed 's#.xml$#.html#;s#^'$indexdir'/#posts/#')"
|
||||
printf "%-30s" $blogfile
|
||||
d=$(finddate $xfic)
|
||||
echo -n " [$d]"
|
||||
title=$(findtitle $xfic)
|
||||
keywords=( $(findkeywords $xfic) )
|
||||
printf ": %-55s" "$title ($keywords)"
|
||||
{ printf "\\n<li>"
|
||||
printf "\\n<span class=\"pubDate\">%s</span>" "$d"
|
||||
printf "\\n<span class=\"post-title\"><a href=\"%s\">%s</a></span>" "${blogfile}" "$title"
|
||||
printf "\\n</li>\\n\\n"
|
||||
} > ${dst}
|
||||
|
||||
echo " [${fg[green]}OK${reset_color}]"
|
|
@ -1,156 +1,63 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
autoload -U colors && colors
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
source ./engine/envvars.sh
|
||||
# Directory
|
||||
webdir="_site"
|
||||
postsdir="$webdir/posts"
|
||||
indexfile="$webdir/index.html"
|
||||
|
||||
# maximal number of articles to put in the RSS file
|
||||
maxarticles=100
|
||||
|
||||
# RSS Metas
|
||||
rsstitle="her.esy.fun"
|
||||
rssurl="https://her.esy.fun/rss.xml"
|
||||
websiteurl="https://her.esy.fun"
|
||||
rssdescription="her.esy.fun articles, mostly random personal thoughts"
|
||||
rsslang="en"
|
||||
rssauthor="yann@esposito.host (Yann Esposito)"
|
||||
rssimgurl="https://her.esy.fun/img/FlatAvatar.png"
|
||||
|
||||
# HTML Accessors (similar to CSS accessors)
|
||||
dateaccessor='.yyydate'
|
||||
contentaccessor='#content'
|
||||
# title and keyword shouldn't be changed
|
||||
titleaccessor='title'
|
||||
keywordsaccessor='meta[name=keywords]::attr(content)'
|
||||
|
||||
formatdate() {
|
||||
# format the date for RSS
|
||||
local d="$1"
|
||||
# echo "DEBUG DATE: $d" >&2
|
||||
LC_TIME=en_US date --date $d +'%a, %d %b %Y %H:%M:%S %z'
|
||||
}
|
||||
|
||||
finddate(){ < $1 hxselect -c $dateaccessor | sed 's/\[//g;s/\]//g;s/ .*$//' }
|
||||
findtitle(){ < $1 hxselect -c $titleaccessor }
|
||||
getcontent(){
|
||||
< $1 hxselect $contentaccessor | \
|
||||
perl -pe 'use URI; $base="'$2'"; s# (href|src)="((?!https?://)[^"]*)"#" ".$1."=\"".URI->new_abs($2,$base)->as_string."\""#eig' }
|
||||
findkeywords(){ < $1 hxselect -c $keywordsaccessor | sed 's/,/ /g' }
|
||||
mkcategories(){
|
||||
for keyword in $*; do
|
||||
printf "\\n<span class=\"tag\">%s</span>" $keyword
|
||||
done
|
||||
}
|
||||
|
||||
autoload -U colors && colors
|
||||
|
||||
indexdir=".cache/rss"
|
||||
tmpdir=$(mktemp -d)
|
||||
typeset -a dates
|
||||
dates=( )
|
||||
for fic in $postsdir/**/*.html; do
|
||||
if echo $fic|egrep -- '-(mk|min|sci|modern).html$'>/dev/null; then
|
||||
continue
|
||||
fi
|
||||
postfile="$(echo "$fic"|sed 's#^'$postsdir'/##')"
|
||||
blogfile="$(echo "$fic"|sed 's#^'$webdir'/##')"
|
||||
printf "%-30s" $postfile
|
||||
xfic="$tmpdir/$fic.xml"
|
||||
mkdir -p $(dirname $xfic)
|
||||
hxclean $fic > $xfic
|
||||
d=$(finddate $xfic)
|
||||
echo -n " [$d]"
|
||||
rssdate=$(formatdate $d)
|
||||
title=$(findtitle $xfic)
|
||||
keywords=( $(findkeywords $xfic) )
|
||||
printf ": %-55s" "$title ($keywords)"
|
||||
categories=$(mkcategories $keywords)
|
||||
absoluteurl="${websiteurl}/${blogfile}"
|
||||
{ printf "\\n<li>"
|
||||
printf "\\n<a href=\"%s\">%s</a>" "${blogfile}" "$title"
|
||||
printf "\\n<span class=\"pubDate\">%s</span>%s" "$d"
|
||||
printf "<span class=\"tags\">%s</span>" "$categories"
|
||||
printf "\\n</li>\\n\\n"
|
||||
} >> "$tmpdir/${d}-$(basename $fic).index"
|
||||
dates=( $d $dates )
|
||||
echo " [${fg[green]}OK${reset_color}]"
|
||||
done
|
||||
|
||||
echo "Publishing"
|
||||
for fic in $(ls $tmpdir/*.index | sort -r | head -n $maxarticles ); do
|
||||
echo "${fic:t}"
|
||||
|
||||
dateaccessor='.pubDate'
|
||||
finddate(){ < $1 hxselect -c $dateaccessor }
|
||||
# generate files with <DATE>-<FILENAME>.index
|
||||
for fic in $indexdir/**/*.index; do
|
||||
d=$(finddate $fic)
|
||||
echo "${${fic:h}:t} [$d]"
|
||||
cp $fic $tmpdir/$d-${${fic:h}:t}.index
|
||||
done
|
||||
|
||||
# for every post in reverse order
|
||||
# generate the body (there is some logic to group by year)
|
||||
previousyear=""
|
||||
for fic in $(ls $tmpdir/*.index | sort -r); do
|
||||
d=$(finddate $fic)
|
||||
year=$( echo "$d" | perl -pe 's#(\d{4})-.*#$1#')
|
||||
if (( year != previousyear )); then
|
||||
if (( previousyear > 0 )); then
|
||||
echo "</ul>" >> $tmpdir/index
|
||||
fi
|
||||
previousyear=$year
|
||||
echo "<h3 name=\"${year}\" >${year}</h3><ul>" >> $tmpdir/index
|
||||
fi
|
||||
cat $fic >> $tmpdir/index
|
||||
done
|
||||
echo "</ul>" >> $tmpdir/index
|
||||
|
||||
rssmaxdate=$(formatdate $(for d in $dates; do echo $d; done | sort -r | head -n 1))
|
||||
rssbuilddate=$(formatdate $(date))
|
||||
title="Index"
|
||||
description="Index of latest posts."
|
||||
title="Home"
|
||||
description="Most recent articles"
|
||||
author="Yann Esposito"
|
||||
body=$(< $tmpdir/index)
|
||||
date=$(LC_TIME=en_US date +'%Y-%m-%d')
|
||||
|
||||
# A neat trick to use pandoc template within a shell script
|
||||
# the pandoc templates use $x$ format, we replace it by just $x
|
||||
# to be used with envsubst
|
||||
template=$(< templates/index.html | \
|
||||
sed 's/\$\(header-includes\|table-of-content\)\$//' | \
|
||||
sed 's/\$if.*\$//' | \
|
||||
perl -pe 's#(\$[^\$]*)\$#$1#g' )
|
||||
{
|
||||
cat <<END
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>$title</title>
|
||||
<meta name="author" content="$author">
|
||||
<link rel="stylesheet" href="/css/y.css"/>
|
||||
<link rel="alternate" type="application/rss+xml" href="/rss.xml" />
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
</head>
|
||||
<body>
|
||||
<div id="labels">
|
||||
<div class="content">
|
||||
<span id="logo">
|
||||
<a href="/">
|
||||
<svg width="5em" viewBox="0 0 64 64">
|
||||
<circle cx="32" cy="32" r="30" stroke="var(--b2)" stroke-width="2" fill="var(--b03)"/>
|
||||
<circle cx="32" cy="32" r="12" stroke="var(--r)" stroke-width="2" fill="var(--o)"/>
|
||||
<circle cx="32" cy="32" r="6" stroke-width="0" fill="var(--y)"/>
|
||||
<ellipse cx="32" cy="14" rx="14" ry="8" stroke-width="0" fill="var(--b3)"/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div id="preamble" class="status">
|
||||
<div class="content">
|
||||
<h1>$title</h1>
|
||||
<div class="meta">
|
||||
<span class="yyydate">$date</span> on
|
||||
<a href="https://her.esy.fun">
|
||||
<span class="author">$author</span>'s blog</a>
|
||||
</div>
|
||||
<div class="abstract">
|
||||
$description
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="content">
|
||||
END
|
||||
cat $tmpdir/index
|
||||
cat <<END
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<div class="content">
|
||||
<nav>
|
||||
<a href="/index.html">Home</a> |
|
||||
<a href="/slides.html">Slides</a> |
|
||||
<a href="/about-me.html">About</a>
|
||||
<span class="details"> (<a href="https://gitea.esy.fun/yogsototh">code</a>
|
||||
<a href="https://espial.esy.fun/u:yogsototh">bookmarks</a>
|
||||
<a href="https://espial.esy.fun/u:yogsototh/notes">notes</a>)</span> |
|
||||
<a href="#preamble">↑ Top ↑</a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
END
|
||||
export title
|
||||
export author
|
||||
export description
|
||||
export date
|
||||
export body
|
||||
echo ${template} | envsubst
|
||||
} > "$indexfile"
|
||||
|
||||
rm -rf $tmpdir
|
||||
echo "* RSS [done]"
|
||||
echo "* HTML INDEX [done]"
|
||||
|
|
68
engine/mk-rss-entry.sh
Executable file
68
engine/mk-rss-entry.sh
Executable file
|
@ -0,0 +1,68 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
source ./engine/envvars.sh
|
||||
# Directory
|
||||
webdir="_site"
|
||||
postsdir="$webdir/posts"
|
||||
indexdir=".cache/rss"
|
||||
|
||||
# file to handle
|
||||
fic="$1"
|
||||
dst="$2"
|
||||
|
||||
# RSS Metas
|
||||
websiteurl="https://her.esy.fun"
|
||||
|
||||
# HTML Accessors (similar to CSS accessors)
|
||||
dateaccessor='.yyydate'
|
||||
contentaccessor='#content'
|
||||
# title and keyword shouldn't be changed
|
||||
titleaccessor='title'
|
||||
keywordsaccessor='meta[name=keywords]::attr(content)'
|
||||
|
||||
formatdate() {
|
||||
# format the date for RSS
|
||||
local d="$1"
|
||||
# echo "DEBUG DATE: $d" >&2
|
||||
LC_TIME=en_US date --date $d +'%a, %d %b %Y %H:%M:%S %z'
|
||||
}
|
||||
|
||||
finddate(){ < $1 hxselect -c $dateaccessor | sed 's/\[//g;s/\]//g;s/ .*$//' }
|
||||
findtitle(){ < $1 hxselect -c $titleaccessor }
|
||||
getcontent(){
|
||||
< $1 hxselect $contentaccessor | \
|
||||
perl -pe 'use URI; $base="'$2'"; s# (href|src)="((?!https?://)[^"]*)"#" ".$1."=\"".URI->new_abs($2,$base)->as_string."\""#eig' }
|
||||
findkeywords(){ < $1 hxselect -c $keywordsaccessor | sed 's/,/ /g' }
|
||||
|
||||
mkcategories(){
|
||||
for keyword in $*; do
|
||||
printf "\\n<category>%s</category>" $keyword
|
||||
done
|
||||
}
|
||||
|
||||
autoload -U colors && colors
|
||||
|
||||
xfic="$fic"
|
||||
postfile="$(echo "$fic"|sed 's#^'$postsdir'/##')"
|
||||
blogfile="$(echo "$fic"|sed 's#.xml$#.html#;s#^'$indexdir'/#posts/#')"
|
||||
printf "%-30s" $blogfile
|
||||
d=$(finddate $xfic)
|
||||
echo -n " [$d]"
|
||||
rssdate=$(formatdate $d)
|
||||
title=$(findtitle $xfic)
|
||||
keywords=( $(findkeywords $xfic) )
|
||||
printf ": %-55s" "$title ($keywords)"
|
||||
categories=$(mkcategories $keywords)
|
||||
absoluteurl="${websiteurl}/${blogfile}"
|
||||
[[ ! -d $(dirname $dst) ]] && mkdir -p $(dirname $dst)
|
||||
{ printf "\\n<item>"
|
||||
printf "\\n<title>%s</title>" "$title"
|
||||
printf "\\n<guid>%s</guid>" "$absoluteurl"
|
||||
printf "\\n<pubDate>%s</pubDate>%s" "$rssdate"
|
||||
printf "%s" "$categories"
|
||||
printf "\\n<description><![CDATA[\\n%s\\n]]></description>" "$(getcontent "$xfic" "$absoluteurl")"
|
||||
printf "\\n</item>\\n\\n"
|
||||
} > "${dst}"
|
||||
|
||||
echo " [${fg[green]}OK${reset_color}]"
|
|
@ -1,10 +1,12 @@
|
|||
#!/usr/bin/env zsh
|
||||
#! /usr/bin/env zsh
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
source ./engine/envvars.sh
|
||||
# Directory
|
||||
webdir="_optim"
|
||||
webdir="_site"
|
||||
postsdir="$webdir/posts"
|
||||
rssfile="$webdir/rss.xml"
|
||||
indexdir=".cache/rss"
|
||||
|
||||
# maximal number of articles to put in the RSS file
|
||||
maxarticles=10
|
||||
|
@ -19,11 +21,7 @@ rssauthor="yann@esposito.host (Yann Esposito)"
|
|||
rssimgurl="https://her.esy.fun/img/FlatAvatar.png"
|
||||
|
||||
# HTML Accessors (similar to CSS accessors)
|
||||
dateaccessor='.yyydate'
|
||||
contentaccessor='#content'
|
||||
# title and keyword shouldn't be changed
|
||||
titleaccessor='title'
|
||||
keywordsaccessor='meta[name=keywords]::attr(content)'
|
||||
dateaccessor='pubDate'
|
||||
|
||||
formatdate() {
|
||||
# format the date for RSS
|
||||
|
@ -32,55 +30,32 @@ formatdate() {
|
|||
LC_TIME=en_US date --date $d +'%a, %d %b %Y %H:%M:%S %z'
|
||||
}
|
||||
|
||||
finddate(){ < $1 hxselect -c $dateaccessor | sed 's/\[//g;s/\]//g;s/ .*$//' }
|
||||
findtitle(){ < $1 hxselect -c $titleaccessor }
|
||||
getcontent(){
|
||||
< $1 hxselect $contentaccessor | \
|
||||
perl -pe 'use URI; $base="'$2'"; s# (href|src)="((?!https?://)[^"]*)"#" ".$1."=\"".URI->new_abs($2,$base)->as_string."\""#eig' }
|
||||
findkeywords(){ < $1 hxselect -c $keywordsaccessor | sed 's/,/ /g' }
|
||||
mkcategories(){
|
||||
for keyword in $*; do
|
||||
printf "\\n<category>%s</category>" $keyword
|
||||
done
|
||||
isodate() {
|
||||
# format the date for sorting
|
||||
local d="$1"
|
||||
# echo "DEBUG DATE: $d" >&2
|
||||
LC_TIME=en_US date --date "$d" +'%Y-%m-%dT%H:%M:%S'
|
||||
}
|
||||
|
||||
finddate(){ < $1 hxselect -c $dateaccessor }
|
||||
|
||||
autoload -U colors && colors
|
||||
|
||||
tmpdir=$(mktemp -d)
|
||||
typeset -a dates
|
||||
dates=( )
|
||||
for fic in $postsdir/**/*.html; do
|
||||
if echo $fic|egrep -- '-(mk|min|sci|modern).html$'>/dev/null; then
|
||||
continue
|
||||
fi
|
||||
postfile="$(echo "$fic"|sed 's#^'$postsdir'/##')"
|
||||
blogfile="$(echo "$fic"|sed 's#^'$webdir'/##')"
|
||||
printf "%-30s" $postfile
|
||||
xfic="$tmpdir/$fic.xml"
|
||||
mkdir -p $(dirname $xfic)
|
||||
hxclean $fic > $xfic
|
||||
d=$(finddate $xfic)
|
||||
echo -n " [$d]"
|
||||
rssdate=$(formatdate $d)
|
||||
title=$(findtitle $xfic)
|
||||
keywords=( $(findkeywords $xfic) )
|
||||
printf ": %-55s" "$title ($keywords)"
|
||||
categories=$(mkcategories $keywords)
|
||||
absoluteurl="${websiteurl}/${blogfile}"
|
||||
{ printf "\\n<item>"
|
||||
printf "\\n<title>%s</title>" "$title"
|
||||
printf "\\n<guid>%s</guid>" "$absoluteurl"
|
||||
printf "\\n<pubDate>%s</pubDate>%s" "$rssdate"
|
||||
printf "%s" "$categories"
|
||||
printf "\\n<description><![CDATA[\\n%s\\n]]></description>" "$(getcontent "$xfic" "$absoluteurl")"
|
||||
printf "\\n</item>\\n\\n"
|
||||
} >> "$tmpdir/${d}-$(basename $fic).rss"
|
||||
tmpdir=$(mktemp -d)
|
||||
for fic in $indexdir/**/*.rss; do
|
||||
rssdate=$(finddate $fic)
|
||||
echo -n "${${fic:h}:t} [$rssdate]"
|
||||
d=$(isodate $rssdate)
|
||||
dates=( $d $dates )
|
||||
echo " [${fg[green]}OK${reset_color}]"
|
||||
cp $fic $tmpdir/$d-${${fic:h}:t}.rss
|
||||
done
|
||||
echo "Publishing"
|
||||
n=1
|
||||
for fic in $(ls $tmpdir/*.rss | sort -r | head -n $maxarticles ); do
|
||||
echo "${fic:t}"
|
||||
echo "$((n++)) ${fic:t}"
|
||||
cat $fic >> $tmpdir/rss
|
||||
done
|
||||
|
||||
|
@ -121,5 +96,13 @@ cat <<END
|
|||
END
|
||||
} > "$rssfile"
|
||||
|
||||
# HACK TO UPDATE OLD RSS FEEDS
|
||||
legacyenrss="$webdir/Scratch/en/blog/feed/feed.xml"
|
||||
legacyfrrss="$webdir/Scratch/fr/blog/feed/feed.xml"
|
||||
mkdir -p "${legacyenrss:h}"
|
||||
mkdir -p "${legacyfrrss:h}"
|
||||
cp -f "$rssfile" "$legacyenrss"
|
||||
cp -f "$rssfile" "$legacyfrrss"
|
||||
|
||||
rm -rf $tmpdir
|
||||
echo "* RSS [done]"
|
||||
echo "\* RSS [done]"
|
||||
|
|
36
engine/new-post.sh
Executable file
36
engine/new-post.sh
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
(( $# < 1 )) && {
|
||||
print -- "usage: ${0:t} title"
|
||||
exit 1
|
||||
}
|
||||
|
||||
postsdir=src/posts
|
||||
title="$*"
|
||||
scrub=$(echo "$title" | tr '[:upper:]' '[:lower:]' | perl -pe 's/[^a-z0-9_]+/-/g;s/-+$//')
|
||||
|
||||
lastnumber () {
|
||||
for d in "$postsdir"/*; do
|
||||
number=$(echo "${d:t}" | sed 's/-.*$//')
|
||||
echo "$number"
|
||||
done | sort -n | tail -n 1
|
||||
}
|
||||
|
||||
n=$(lastnumber)
|
||||
newdir=$(printf "%04d-%s" $((n+1)) "$scrub")
|
||||
dst="$postsdir/$newdir/index.org"
|
||||
today=$(date +"[%Y-%m-%d %a]")
|
||||
|
||||
mkdir "${dst:h}"
|
||||
cat > "$dst" <<EOF
|
||||
#+title: $title
|
||||
#+description:
|
||||
#+keywords: blog static
|
||||
#+author: Yann Esposito
|
||||
#+email: yann@esposito.host
|
||||
#+date: $today
|
||||
#+lang: en
|
||||
#+options: auto-id:t
|
||||
#+startup: showeverything
|
||||
|
||||
EOF
|
|
@ -1,69 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
webdir="_optim"
|
||||
|
||||
retrieve_classes_in_html () {
|
||||
cat $webdir/**/*.html(N) | \
|
||||
perl -pe 's/class="?([a-zA-Z0-9_-]*)/\nCLASS: $1\n/g'
|
||||
}
|
||||
|
||||
retrieve_classes_in_css () {
|
||||
cat $webdir/**/*.css(N) | \
|
||||
perl -pe 's/ \.([a-zA-Z-_][a-zA-Z0-9-_]*)/\nCLASS:$1\n/g'
|
||||
}
|
||||
|
||||
classes=( $( {retrieve_classes_in_html; retrieve_classes_in_css}| \
|
||||
egrep "^CLASS: [^ ]*$" |\
|
||||
sort -u | \
|
||||
awk 'length($2)>2 && $2 !~ /(gzwebfilesize|webfilesize|yyydate|example|src)/ {print length($2),$2}'|\
|
||||
sort -rn | \
|
||||
awk '{print $2}') )
|
||||
|
||||
chr() {
|
||||
[ "$1" -lt 26 ] || return 1
|
||||
printf "\\$(printf '%03o' $(( 97 + $1 )))"
|
||||
}
|
||||
|
||||
shortName() {
|
||||
if [ "$1" -gt 25 ]; then
|
||||
print -- $(shortName $(( ( $1 / 26 ) - 1 )))$(shortName $(( $1 % 26 )))
|
||||
else
|
||||
chr $1
|
||||
fi
|
||||
}
|
||||
|
||||
i=0;
|
||||
typeset -A assoc
|
||||
for c in $classes; do
|
||||
sn=$(shortName $i)
|
||||
print -- "$c -> $sn"
|
||||
assoc[$c]=$sn
|
||||
((i++))
|
||||
done
|
||||
|
||||
htmlreplacer=''
|
||||
cssreplacer=''
|
||||
for long in $classes; do
|
||||
htmlreplacer=$htmlreplacer's#class=("?)'${long}'#class=$1'${assoc[$long]}'#g;'
|
||||
cssreplacer=$cssreplacer's#\.'${long}'#.'${assoc[$long]}'#g;'
|
||||
done
|
||||
|
||||
sizeof() {
|
||||
stat --format="%s" "$*"
|
||||
}
|
||||
|
||||
for fic in $webdir/**/*.{html,xml}(N); do
|
||||
before=$(sizeof $fic)
|
||||
print -n -- "$fic ($before"
|
||||
perl -pi -e $htmlreplacer $fic
|
||||
after=$(sizeof $fic)
|
||||
print -- " => $after [$(( ((before - after) * 100) / before ))%])"
|
||||
done
|
||||
for fic in $webdir/**/*.css(N); do
|
||||
before=$(sizeof $fic)
|
||||
print -n -- "$fic ($before"
|
||||
perl -pi -e $cssreplacer $fic
|
||||
after=$(sizeof $fic)
|
||||
print -- " => $after [$(( ((before - after) * 100) / before ))%])"
|
||||
done
|
|
@ -1,26 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
webdir="_optim"
|
||||
|
||||
debug () {
|
||||
print -- $* >/dev/null
|
||||
}
|
||||
|
||||
type -a filelist
|
||||
setopt extendedglob
|
||||
if (($#>0)); then
|
||||
filelist=( $* )
|
||||
else
|
||||
filelist=( $webdir/**/*.html(.) )
|
||||
fi
|
||||
|
||||
tmp=$(mktemp)
|
||||
|
||||
for fic in $filelist; do
|
||||
print -n -- "$fic "
|
||||
cp $fic $tmp
|
||||
perl -pi -e 's#<div id="outline-container-[^"]*"([^>]*)>#<div$1>#g;s# id="org[a-f0-9]{7}"##g;s# class="src src-# class="src-#g;s#<label class="org-src-name">#<label>#g;s#<div class="org-src-container">#<div>#g' $tmp
|
||||
minify --mime text/html $tmp > $fic
|
||||
print "[OK]"
|
||||
done
|
32
engine/optim-img.sh
Executable file
32
engine/optim-img.sh
Executable file
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
src="$1"
|
||||
dst="$2"
|
||||
|
||||
sizeof() {
|
||||
stat --format="%s" "$*"
|
||||
}
|
||||
|
||||
|
||||
convert "$src" -resize 800x800\> "$dst"
|
||||
|
||||
before=$(sizeof $src)
|
||||
|
||||
if [[ "${src:e}" == "gif" ]]; then
|
||||
after=$(sizeof $dst)
|
||||
dest=$dst
|
||||
else
|
||||
cwebp "$dst" -quiet -o "$dst.webp"
|
||||
after=$(sizeof $dst.webp)
|
||||
dest=$dst.webp
|
||||
fi
|
||||
|
||||
|
||||
if (( before <= after )); then
|
||||
cp -f "$src" "$dst"
|
||||
print -- "[0%] cp $before => $before"
|
||||
else
|
||||
gain=$(( ( (before - after) * 100 ) / before ))
|
||||
print -- "[$gain%] convert $before => $after"
|
||||
fi
|
||||
|
|
@ -7,13 +7,15 @@ dst="$2"
|
|||
|
||||
./engine/org2gemini_step1.sh "$src" | \
|
||||
perl -pe 's#^email:\s+yann\@esposito.host\s*#$&=> /files/publickey.txt gpg\n#g;' | \
|
||||
perl -pe 's#\[\[([^]]*)\]\[([^]]*)\]\]#\n=> $1 $2#g;' | \
|
||||
perl -pe 's# ?\[\[([^]]*)\]\[([^]]*)\]\]#\n\n=> $1 $2\n#g;' | \
|
||||
perl -pe 's#=> file:([^ ]*)\.org#=> $1.gmi#g;' | \
|
||||
perl -pe 's#=> file:([^ ]*)#=> $1#g;' | \
|
||||
perl -pe 's#\[\[(file:)?([^]]*)\]\]#=> $2#g;' | \
|
||||
perl -pe 's#^\* *\n##' | \
|
||||
perl -pe 's#^\* *\n\n##' | \
|
||||
# remove lines with a single special char
|
||||
perl -pe 's#^\s*[-\*\+\.]\s*$##' | \
|
||||
perl -pe 's#^\**[ ]*:.*:$##' | \
|
||||
perl -pe 's#^\s[- ]*$##;' > "$dst"
|
||||
perl -pe 's#^\s[- ]*$#\n#;' > "$dst"
|
||||
|
||||
{ echo ""
|
||||
echo "=> /index.gmi Home"
|
||||
|
@ -21,7 +23,7 @@ dst="$2"
|
|||
echo "=> /slides.gmi Slides"
|
||||
echo "=> /about-me.gmi About"
|
||||
echo ""
|
||||
echo "=> https://gitea.esy.fun code"
|
||||
echo "=> https://git.esy.fun code"
|
||||
echo "=> https://espial.esy.fun/u:yogsototh bookmarks"
|
||||
echo "=> https://espial.esy.fun/u:yogsototh/notes notes"
|
||||
} >> "$dst"
|
||||
|
|
|
@ -7,12 +7,14 @@ BEGIN { IGNORECASE=1; }
|
|||
/^#\+(BEGIN|END)_SRC ?/i { gsub(/#\+(BEGIN|END)_SRC ?/,"```"); }
|
||||
/^#\+(BEGIN|END)_[^ ]* ?/i { gsub(/#\+(BEGIN|END)_([^ ]*) ?/,"______"); }
|
||||
|
||||
/^#\+(macro|lang|language|options|startup):/ { skip=1; }
|
||||
/^#\+(macro|lang|language|options|startup|html_head|html_head_extra):/ { skip=1; }
|
||||
/{{{br}}}/ { gsub(/{{{br}}}/,""); }
|
||||
/{{{pemail}}}/ { gsub(/{{{pemail}}}/,"yann@esposito.host"); }
|
||||
|
||||
/^#\+TITLE: / { gsub(/^#[^:]*: /,"# "); }
|
||||
/^ *:[a-zA-Z_0-9]*:/ { skip=1; }
|
||||
|
||||
# title
|
||||
/^\* / { gsub(/^\* /,"# "); }
|
||||
/^\*\* / { gsub(/^\*\* /,"## "); }
|
||||
/^\*\*\* / { gsub(/^\*\*\* /,"### "); }
|
||||
|
@ -27,7 +29,7 @@ BEGIN { IGNORECASE=1; }
|
|||
$0=x" "$0;
|
||||
}
|
||||
/^- / { gsub(/^- /,"* "); }
|
||||
!skip && !htmlskip{
|
||||
!skip && !htmlskip{
|
||||
print;
|
||||
}
|
||||
/@@/ && !/@@html:/ { htmlskip = 0; }
|
||||
|
|
|
@ -8,10 +8,10 @@ echo "Optim HTML size"
|
|||
./engine/optim-html.sh
|
||||
# echo "Gen themes clones"
|
||||
# ./engine/dup-for-themes.sh
|
||||
echo "Optim Classes accross CSS/HTML"
|
||||
./engine/optim-classes.sh
|
||||
echo "Update file size"
|
||||
./engine/update-file-size.sh
|
||||
# echo "Optim Classes accross CSS/HTML"
|
||||
# ./engine/optim-classes.sh
|
||||
# echo "Update file size"
|
||||
# ./engine/update-file-size.sh
|
||||
echo "Building RSS"
|
||||
./engine/mkrss.sh
|
||||
echo "Building Gemini Atom"
|
||||
|
|
|
@ -2,12 +2,6 @@
|
|||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
|
||||
if (( $# == 0 )); then
|
||||
webdir="_site"
|
||||
else
|
||||
webdir="$1"
|
||||
fi
|
||||
|
||||
cd $webdir && \
|
||||
echo "Serving: $webdir" && \
|
||||
sws -d --port 3000 .
|
||||
webdir="_site"
|
||||
echo "Serving: $webdir on http://localhost:3077" && \
|
||||
lighttpd -f ./engine/lighttpd.conf -D
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
webdir="_optim"
|
||||
webdir="_site"
|
||||
|
||||
[[ -d $webdir ]] || { echo "no $webdir directory"; exit 1 }
|
||||
|
||||
|
@ -9,5 +9,6 @@ echo -n "Uploading website"
|
|||
rsync --progress\
|
||||
--partial \
|
||||
--delete \
|
||||
--exclude '.git' \
|
||||
-avHe ssh ${webdir}/ root@esy.fun:/var/www/her.esy.fun/
|
||||
echo " [done]"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
cd "$(git rev-parse --show-toplevel)" || exit 1
|
||||
source ./engine/envvars.sh
|
||||
webdir="_optim"
|
||||
|
||||
sizeof() {
|
||||
|
|
|
@ -20,9 +20,9 @@ handleShellFailed (ShellFailed cmdLine _) = do
|
|||
echo $ ("[FAILED]: " <> unsafeTextToLine cmdLine)
|
||||
setSGR [Reset]
|
||||
handleProcFailed :: ProcFailed -> IO ()
|
||||
handleProcFailed (ProcFailed procCommand procArgs _) = do
|
||||
handleProcFailed (ProcFailed procCmd procArgs _) = do
|
||||
setSGR [SetColor Foreground Dull Red]
|
||||
echo $ unsafeTextToLine ("[FAILED]: " <> procCommand <> (mconcat procArgs))
|
||||
echo $ unsafeTextToLine ("[FAILED]: " <> procCmd <> (mconcat procArgs))
|
||||
setSGR [Reset]
|
||||
|
||||
|
||||
|
@ -39,9 +39,10 @@ mainProc = do
|
|||
debug $ unsafeTextToLine $ "cd " <> (format fp pubdir)
|
||||
cd pubdir
|
||||
pwd >>= echo . unsafeTextToLine . format fp
|
||||
dshells "rm -rf .git"
|
||||
dshells "git init ."
|
||||
dshell ("git remote add upstream " <> mainRepository)
|
||||
dshells "git fetch upstream"
|
||||
dshells "git fetch --depth 1 upstream gh-pages"
|
||||
dshells "git reset upstream/gh-pages"
|
||||
dshells "git add -A ."
|
||||
echo "Commit and publish"
|
||||
|
@ -49,15 +50,18 @@ mainProc = do
|
|||
echo "Don't `git push` this time"
|
||||
dshells "git push -q upstream HEAD:gh-pages"
|
||||
|
||||
debug :: Line -> IO ()
|
||||
debug txt = do
|
||||
setSGR [SetColor Foreground Dull Yellow]
|
||||
echo txt
|
||||
setSGR [Reset]
|
||||
|
||||
dshells :: Text -> IO ()
|
||||
dshells x = do
|
||||
debug $ unsafeTextToLine x
|
||||
shells x empty
|
||||
|
||||
dshell :: Text -> IO ExitCode
|
||||
dshell x = do
|
||||
debug $ unsafeTextToLine x
|
||||
shell x empty
|
||||
|
@ -67,8 +71,9 @@ checkDir = do
|
|||
toolsExists <- testdir "engine"
|
||||
if (not toolsExists)
|
||||
then exit (ExitFailure 1)
|
||||
else return "_optim"
|
||||
else return "_site"
|
||||
|
||||
mainRepository :: Text
|
||||
mainRepository = "git@github.com:yogsototh/yannesposito.com.git"
|
||||
|
||||
cloneIfNeeded :: FilePath -> IO ()
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
cabal-version: 2.4
|
||||
name: her-esy-fun
|
||||
version: 0.1.0.0
|
||||
|
||||
-- A short (one-line) description of the package.
|
||||
-- synopsis:
|
||||
|
||||
-- A longer description of the package.
|
||||
-- description:
|
||||
|
||||
-- A URL where users can report bugs.
|
||||
-- bug-reports:
|
||||
|
||||
-- The license under which the package is released.
|
||||
-- license:
|
||||
author: Yann Esposito (Yogsototh)
|
||||
maintainer: yann.esposito@gmail.com
|
||||
|
||||
-- A copyright notice.
|
||||
-- copyright:
|
||||
-- category:
|
||||
extra-source-files: CHANGELOG.md
|
||||
|
||||
executable her-esy-fun
|
||||
main-is: Shakefile.hs
|
||||
|
||||
-- Modules included in this executable, other than Main.
|
||||
-- other-modules:
|
||||
|
||||
-- LANGUAGE extensions used by modules in this package.
|
||||
-- other-extensions:
|
||||
build-depends: base ^>=4.14.1.0
|
||||
, aeson
|
||||
, pandoc
|
||||
, pandoc-types
|
||||
, shake
|
||||
, data-default
|
||||
, protolude
|
||||
, stache
|
||||
, text
|
||||
, time
|
||||
hs-source-dirs: app
|
||||
default-language: Haskell2010
|
14
logo-svg.org
14
logo-svg.org
|
@ -1,10 +1,6 @@
|
|||
@@html:
|
||||
<div style="text-align:center">
|
||||
<svg viewBox="0 0 64 64">
|
||||
<circle cx="32" cy="32" r="30" stroke="var(--b2)" stroke-width="2" fill="var(--b03)"/>
|
||||
<circle cx="32" cy="32" r="12" stroke="var(--r)" stroke-width="2" fill="var(--o)"/>
|
||||
<circle cx="32" cy="32" r="6" stroke-width="0" fill="var(--y)"/>
|
||||
<ellipse cx="32" cy="14" rx="14" ry="8" stroke-width="0" fill="var(--b3)"/>
|
||||
<svg width="5em" viewBox="0 0 64 64">
|
||||
<circle cx="32" cy="32" r="30" stroke="#a3aec2" stroke-width="1" fill="#2E3440"></circle>
|
||||
<circle cx="32" cy="32" r="12" stroke="#800" stroke-width="1" fill="#c20"></circle>
|
||||
<circle cx="32" cy="32" r="5" stroke-width="1" stroke="#f60" fill="#fa0"></circle>
|
||||
<ellipse cx="32" cy="14" rx="14" ry="8" stroke-width="0" fill="#FFF"></ellipse>
|
||||
</svg>
|
||||
</div>
|
||||
@@
|
||||
|
|
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 390 B |
|
@ -5,10 +5,10 @@
|
|||
"homepage": "https://haskell.org/ghc/",
|
||||
"owner": "alpmestan",
|
||||
"repo": "ghc.nix",
|
||||
"rev": "9adaf8abe53fa0618c1561919ddfbc4342fe144b",
|
||||
"sha256": "0qmkkildzl21y88czgnschvi8mdkqrj9hgvpban58zzjnxw5s4nd",
|
||||
"rev": "c31bcab7a74569e6bd37dbe7de94c97cad1e35e1",
|
||||
"sha256": "05g4v4rgq0zh35461b3cv9p13pyg27pipfq3ia8zdmrlmwnvpxpd",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/alpmestan/ghc.nix/archive/9adaf8abe53fa0618c1561919ddfbc4342fe144b.tar.gz",
|
||||
"url": "https://github.com/alpmestan/ghc.nix/archive/c31bcab7a74569e6bd37dbe7de94c97cad1e35e1.tar.gz",
|
||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||
},
|
||||
"niv": {
|
||||
|
@ -17,34 +17,22 @@
|
|||
"homepage": "https://github.com/nmattia/niv",
|
||||
"owner": "nmattia",
|
||||
"repo": "niv",
|
||||
"rev": "f73bf8d584148677b01859677a63191c31911eae",
|
||||
"sha256": "0jlmrx633jvqrqlyhlzpvdrnim128gc81q5psz2lpp2af8p8q9qs",
|
||||
"rev": "723f0eeb969a730db3c30f977c2b66b9dce9fe4a",
|
||||
"sha256": "0016l7230gd2kdh0g2w573r9a2krqb7x4ifcjhhsn4h1bwap7qr0",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/nmattia/niv/archive/f73bf8d584148677b01859677a63191c31911eae.tar.gz",
|
||||
"url": "https://github.com/nmattia/niv/archive/723f0eeb969a730db3c30f977c2b66b9dce9fe4a.tar.gz",
|
||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||
},
|
||||
"nixpkgs": {
|
||||
"branch": "nixpkgs-20.09-darwin",
|
||||
"branch": "nixpkgs-23.05-darwin",
|
||||
"description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to",
|
||||
"homepage": "https://github.com/NixOS/nixpkgs",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e716ddfac4be879ffbae75c3914a538dd5d4d12e",
|
||||
"sha256": "0c2090sz4nvd1bqa9bfz3b6mj0q8b7v4jzgsykn2hf291l3h94d6",
|
||||
"rev": "2e7346c2d611c1b40e1cf74f177b2b1a329782ce",
|
||||
"sha256": "0fazcnxlc9xpcvljlj7xxc6p2450vfngpf39xvskrjs8jlzp4hr9",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/e716ddfac4be879ffbae75c3914a538dd5d4d12e.tar.gz",
|
||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||
},
|
||||
"shake": {
|
||||
"branch": "master",
|
||||
"description": "Shake build system",
|
||||
"homepage": "http://shakebuild.com",
|
||||
"owner": "ndmitchell",
|
||||
"repo": "shake",
|
||||
"rev": "4536d9ce5cef0e56395fd61ccef9816c9b420fd1",
|
||||
"sha256": "1s7hjhcc09l026jaca3ndbb103s9d7qlx4vqzx2s6j4rr751nd70",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/ndmitchell/shake/archive/4536d9ce5cef0e56395fd61ccef9816c9b420fd1.tar.gz",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/2e7346c2d611c1b40e1cf74f177b2b1a329782ce.tar.gz",
|
||||
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
|
||||
}
|
||||
}
|
||||
|
|
150
nix/sources.nix
150
nix/sources.nix
|
@ -6,25 +6,54 @@ let
|
|||
# The fetchers. fetch_<type> fetches specs of type <type>.
|
||||
#
|
||||
|
||||
fetch_file = pkgs: spec:
|
||||
fetch_file = pkgs: name: spec:
|
||||
let
|
||||
name' = sanitizeName name + "-src";
|
||||
in
|
||||
if spec.builtin or true then
|
||||
builtins_fetchurl { inherit (spec) url sha256; }
|
||||
builtins_fetchurl { inherit (spec) url sha256; name = name'; }
|
||||
else
|
||||
pkgs.fetchurl { inherit (spec) url sha256; };
|
||||
pkgs.fetchurl { inherit (spec) url sha256; name = name'; };
|
||||
|
||||
fetch_tarball = pkgs: name: spec:
|
||||
let
|
||||
ok = str: ! builtins.isNull (builtins.match "[a-zA-Z0-9+-._?=]" str);
|
||||
# sanitize the name, though nix will still fail if name starts with period
|
||||
name' = stringAsChars (x: if ! ok x then "-" else x) "${name}-src";
|
||||
name' = sanitizeName name + "-src";
|
||||
in
|
||||
if spec.builtin or true then
|
||||
builtins_fetchTarball { name = name'; inherit (spec) url sha256; }
|
||||
else
|
||||
pkgs.fetchzip { name = name'; inherit (spec) url sha256; };
|
||||
if spec.builtin or true then
|
||||
builtins_fetchTarball { name = name'; inherit (spec) url sha256; }
|
||||
else
|
||||
pkgs.fetchzip { name = name'; inherit (spec) url sha256; };
|
||||
|
||||
fetch_git = spec:
|
||||
builtins.fetchGit { url = spec.repo; inherit (spec) rev ref; };
|
||||
fetch_git = name: spec:
|
||||
let
|
||||
ref =
|
||||
spec.ref or (
|
||||
if spec ? branch then "refs/heads/${spec.branch}" else
|
||||
if spec ? tag then "refs/tags/${spec.tag}" else
|
||||
abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!"
|
||||
);
|
||||
submodules = spec.submodules or false;
|
||||
submoduleArg =
|
||||
let
|
||||
nixSupportsSubmodules = builtins.compareVersions builtins.nixVersion "2.4" >= 0;
|
||||
emptyArgWithWarning =
|
||||
if submodules
|
||||
then
|
||||
builtins.trace
|
||||
(
|
||||
"The niv input \"${name}\" uses submodules "
|
||||
+ "but your nix's (${builtins.nixVersion}) builtins.fetchGit "
|
||||
+ "does not support them"
|
||||
)
|
||||
{ }
|
||||
else { };
|
||||
in
|
||||
if nixSupportsSubmodules
|
||||
then { inherit submodules; }
|
||||
else emptyArgWithWarning;
|
||||
in
|
||||
builtins.fetchGit
|
||||
({ url = spec.repo; inherit (spec) rev; inherit ref; } // submoduleArg);
|
||||
|
||||
fetch_local = spec: spec.path;
|
||||
|
||||
|
@ -40,33 +69,43 @@ let
|
|||
# Various helpers
|
||||
#
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/pull/83241/files#diff-c6f540a4f3bfa4b0e8b6bafd4cd54e8bR695
|
||||
sanitizeName = name:
|
||||
(
|
||||
concatMapStrings (s: if builtins.isList s then "-" else s)
|
||||
(
|
||||
builtins.split "[^[:alnum:]+._?=-]+"
|
||||
((x: builtins.elemAt (builtins.match "\\.*(.*)" x) 0) name)
|
||||
)
|
||||
);
|
||||
|
||||
# The set of packages used when specs are fetched using non-builtins.
|
||||
mkPkgs = sources:
|
||||
mkPkgs = sources: system:
|
||||
let
|
||||
sourcesNixpkgs =
|
||||
import (builtins_fetchTarball { inherit (sources.nixpkgs) url sha256; }) {};
|
||||
import (builtins_fetchTarball { inherit (sources.nixpkgs) url sha256; }) { inherit system; };
|
||||
hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath;
|
||||
hasThisAsNixpkgsPath = <nixpkgs> == ./.;
|
||||
in
|
||||
if builtins.hasAttr "nixpkgs" sources
|
||||
then sourcesNixpkgs
|
||||
else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then
|
||||
import <nixpkgs> {}
|
||||
else
|
||||
abort
|
||||
''
|
||||
Please specify either <nixpkgs> (through -I or NIX_PATH=nixpkgs=...) or
|
||||
add a package called "nixpkgs" to your sources.json.
|
||||
'';
|
||||
if builtins.hasAttr "nixpkgs" sources
|
||||
then sourcesNixpkgs
|
||||
else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then
|
||||
import <nixpkgs> { }
|
||||
else
|
||||
abort
|
||||
''
|
||||
Please specify either <nixpkgs> (through -I or NIX_PATH=nixpkgs=...) or
|
||||
add a package called "nixpkgs" to your sources.json.
|
||||
'';
|
||||
|
||||
# The actual fetching function.
|
||||
fetch = pkgs: name: spec:
|
||||
|
||||
if ! builtins.hasAttr "type" spec then
|
||||
abort "ERROR: niv spec ${name} does not have a 'type' attribute"
|
||||
else if spec.type == "file" then fetch_file pkgs spec
|
||||
else if spec.type == "file" then fetch_file pkgs name spec
|
||||
else if spec.type == "tarball" then fetch_tarball pkgs name spec
|
||||
else if spec.type == "git" then fetch_git spec
|
||||
else if spec.type == "git" then fetch_git name spec
|
||||
else if spec.type == "local" then fetch_local spec
|
||||
else if spec.type == "builtin-tarball" then fetch_builtin-tarball name
|
||||
else if spec.type == "builtin-url" then fetch_builtin-url name
|
||||
|
@ -77,10 +116,13 @@ let
|
|||
# the path directly as opposed to the fetched source.
|
||||
replace = name: drv:
|
||||
let
|
||||
saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name;
|
||||
saneName = stringAsChars (c: if (builtins.match "[a-zA-Z0-9]" c) == null then "_" else c) name;
|
||||
ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}";
|
||||
in
|
||||
if ersatz == "" then drv else ersatz;
|
||||
if ersatz == "" then drv else
|
||||
# this turns the string into an actual Nix path (for both absolute and
|
||||
# relative paths)
|
||||
if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}";
|
||||
|
||||
# Ports of functions for older nix versions
|
||||
|
||||
|
@ -91,51 +133,59 @@ let
|
|||
);
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295
|
||||
range = first: last: if first > last then [] else builtins.genList (n: first + n) (last - first + 1);
|
||||
range = first: last: if first > last then [ ] else builtins.genList (n: first + n) (last - first + 1);
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257
|
||||
stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1));
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269
|
||||
stringAsChars = f: s: concatStrings (map f (stringToCharacters s));
|
||||
concatMapStrings = f: list: concatStrings (map f list);
|
||||
concatStrings = builtins.concatStringsSep "";
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331
|
||||
optionalAttrs = cond: as: if cond then as else { };
|
||||
|
||||
# fetchTarball version that is compatible between all the versions of Nix
|
||||
builtins_fetchTarball = { url, name, sha256 }@attrs:
|
||||
builtins_fetchTarball = { url, name ? null, sha256 }@attrs:
|
||||
let
|
||||
inherit (builtins) lessThan nixVersion fetchTarball;
|
||||
in
|
||||
if lessThan nixVersion "1.12" then
|
||||
fetchTarball { inherit name url; }
|
||||
else
|
||||
fetchTarball attrs;
|
||||
if lessThan nixVersion "1.12" then
|
||||
fetchTarball ({ inherit url; } // (optionalAttrs (name != null) { inherit name; }))
|
||||
else
|
||||
fetchTarball attrs;
|
||||
|
||||
# fetchurl version that is compatible between all the versions of Nix
|
||||
builtins_fetchurl = { url, sha256 }@attrs:
|
||||
builtins_fetchurl = { url, name ? null, sha256 }@attrs:
|
||||
let
|
||||
inherit (builtins) lessThan nixVersion fetchurl;
|
||||
in
|
||||
if lessThan nixVersion "1.12" then
|
||||
fetchurl { inherit url; }
|
||||
else
|
||||
fetchurl attrs;
|
||||
if lessThan nixVersion "1.12" then
|
||||
fetchurl ({ inherit url; } // (optionalAttrs (name != null) { inherit name; }))
|
||||
else
|
||||
fetchurl attrs;
|
||||
|
||||
# Create the final "sources" from the config
|
||||
mkSources = config:
|
||||
mapAttrs (
|
||||
name: spec:
|
||||
if builtins.hasAttr "outPath" spec
|
||||
then abort
|
||||
"The values in sources.json should not have an 'outPath' attribute"
|
||||
else
|
||||
spec // { outPath = replace name (fetch config.pkgs name spec); }
|
||||
) config.sources;
|
||||
mapAttrs
|
||||
(
|
||||
name: spec:
|
||||
if builtins.hasAttr "outPath" spec
|
||||
then
|
||||
abort
|
||||
"The values in sources.json should not have an 'outPath' attribute"
|
||||
else
|
||||
spec // { outPath = replace name (fetch config.pkgs name spec); }
|
||||
)
|
||||
config.sources;
|
||||
|
||||
# The "config" used by the fetchers
|
||||
mkConfig =
|
||||
{ sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null
|
||||
, sources ? if isNull sourcesFile then {} else builtins.fromJSON (builtins.readFile sourcesFile)
|
||||
, pkgs ? mkPkgs sources
|
||||
, sources ? if sourcesFile == null then { } else builtins.fromJSON (builtins.readFile sourcesFile)
|
||||
, system ? builtins.currentSystem
|
||||
, pkgs ? mkPkgs sources system
|
||||
}: rec {
|
||||
# The sources, i.e. the attribute set of spec name to spec
|
||||
inherit sources;
|
||||
|
@ -145,4 +195,4 @@ let
|
|||
};
|
||||
|
||||
in
|
||||
mkSources (mkConfig {}) // { __functor = _: settings: mkSources (mkConfig settings); }
|
||||
mkSources (mkConfig { }) // { __functor = _: settings: mkSources (mkConfig settings); }
|
||||
|
|
13
shell.nix
13
shell.nix
|
@ -1,14 +1,8 @@
|
|||
let
|
||||
sources = import ./nix/sources.nix;
|
||||
pkgs = import sources.nixpkgs {};
|
||||
pkgs1909 = import (fetchTarball https://github.com/NixOS/nixpkgs/archive/19.09.tar.gz) {};
|
||||
haskellDeps = ps : with ps; [
|
||||
shake
|
||||
pandoc
|
||||
data-default
|
||||
protolude
|
||||
pkgs1909.haskellPackages.sws
|
||||
stache
|
||||
turtle
|
||||
ansi-terminal
|
||||
];
|
||||
|
@ -19,7 +13,8 @@ pkgs.mkShell {
|
|||
[ cacert
|
||||
coreutils
|
||||
entr
|
||||
html-xml-utils
|
||||
pandoc
|
||||
html-xml-utils # hxselect
|
||||
zsh
|
||||
perl
|
||||
perlPackages.URI
|
||||
|
@ -28,9 +23,11 @@ pkgs.mkShell {
|
|||
git
|
||||
direnv
|
||||
ghc
|
||||
haskellPackages.shake
|
||||
tmux
|
||||
libwebp
|
||||
# for emacs dev
|
||||
ripgrep
|
||||
nodePackages.http-server
|
||||
lighttpd
|
||||
];
|
||||
}
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
<title>YBlog - About</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../pubkey.txt">
|
||||
|
@ -24,7 +24,7 @@
|
|||
<div id="header">
|
||||
<div id="choix">
|
||||
<div id="choixlang">
|
||||
<a href="../../../Scratch/fr/about/">French</a>
|
||||
<a href="/about-me.html/">French</a>
|
||||
</div>
|
||||
<div class="flush"></div>
|
||||
</div>
|
||||
|
@ -35,7 +35,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -52,12 +52,6 @@
|
|||
<a href="http://pinboard.in/u:yogsototh"><img src="../../../Scratch/img/pinboard.png" class="simple" style="height: 16px" /> yogsototh</a><br />
|
||||
<a href="http://github.com/yogsototh"><img src="../../../Scratch/img/GitHub-Mark-32px.png" class="simple" style="height: 16px" /> yogsototh</a><br />
|
||||
<a href="http://stackoverflow.com/users/40569/yogsototh"><img src="../../../Scratch/img/stackoverflow-logo.png" class="simple" style="height: 16px" /> yogsototh</a></p>
|
||||
<hr style="clear:both" />
|
||||
<p><a href="https://cardanohub.org"><img src="../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px; border-radius: 50%;" /> ADA:</a> <code style="display:inline-block; word-wrap:break-word; text-align: left; vertical-align: top; max-width: 85%;"> DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp </code></p>
|
||||
<h2 id="one-photo">One photo</h2>
|
||||
<figure>
|
||||
<img src="../../../Scratch/img/about/yann1.jpg" alt="I look like this" /><figcaption>I look like this</figcaption>
|
||||
</figure>
|
||||
<h2 id="shortly">Shortly</h2>
|
||||
<p>I am a Senior Software Engineer (Clojurist) for <a href="http://cisco.com">Cisco</a>, Threatgrid team.</p>
|
||||
<p>I was a Machine Learning expert and Software Engineer for Vigiglobe.</p>
|
||||
|
@ -91,7 +85,7 @@
|
|||
<li><a href="http://www.latex-project.org"><span style="text-transform: uppercase">L<sup style="vertical-align: 0.15em; margin-left: -0.36em; margin-right: -0.15em; font-size: .85em">a</sup>T<sub style="vertical-align: -0.5ex; margin-left: -0.1667em; margin-right: -0.125em; font-size: 1em">e</sub>X</span></a>,</li>
|
||||
<li><a href="http://www.tug.org/metapost.html">metapost</a>,</li>
|
||||
</ul>
|
||||
<p><a href="../../../Scratch/files/resume/resume.html">My full resume»</a></p>
|
||||
<p><a href="/files/yann-esposito-resume.pdf">My full resume»</a></p>
|
||||
<h2 id="old-stuff">Old stuff</h2>
|
||||
<ul>
|
||||
<li><a href="http://ypassword.espozito.com">Official YPassword website ✞</a></li>
|
||||
|
@ -103,7 +97,7 @@
|
|||
<div id="afterarticle">
|
||||
<div id="bottom">
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
Yann Esposito©
|
||||
|
@ -116,23 +110,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><span class="strike">nanoc</span></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
<title>YBlog - Nanoc</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -46,7 +46,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/01_nanoc/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -61,7 +61,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -69,7 +69,7 @@
|
|||
Published on 2008-10-10
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -83,23 +83,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
<title>YBlog - Better than Grep</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -63,7 +63,7 @@ if (m/([^:]*)(:.*)('$1')(.*)/) {
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/02_ackgrep/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -78,7 +78,7 @@ if (m/([^:]*)(:.*)('$1')(.*)/) {
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -86,7 +86,7 @@ if (m/([^:]*)(:.*)('$1')(.*)/) {
|
|||
Published on 2009-07-22
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -100,23 +100,7 @@ if (m/([^:]*)(:.*)('$1')(.*)/) {
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="movie, David Lynch, Lost Highway, alternate reality" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -126,7 +126,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/03_losthighway/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -141,7 +141,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -149,7 +149,7 @@
|
|||
Published on 2009-08-04
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -163,23 +163,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="drm, protection, iTunes, Apple" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -55,7 +55,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/04_drm/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -70,7 +70,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -78,7 +78,7 @@
|
|||
Published on 2009-08-15
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -92,23 +92,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="git, branch, local, remote" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -59,7 +59,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/05_git_create_remote_branch/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -74,7 +74,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -82,7 +82,7 @@
|
|||
Published on 2009-08-17
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -96,23 +96,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="git, svn, workflow" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -150,7 +150,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/06_How_I_use_git/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -165,7 +165,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -173,7 +173,7 @@
|
|||
Published on 2009-08-18
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -187,23 +187,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="screensaver, Apple, mac, Xcode" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -50,7 +50,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -65,7 +65,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -73,7 +73,7 @@
|
|||
Published on 2009-09-06
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -87,23 +87,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="Apple, mac, ssh, security" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -97,7 +97,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -112,7 +112,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -120,7 +120,7 @@
|
|||
Published on 2009-09-07
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -134,23 +134,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="analytics, web" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -52,7 +52,7 @@ Google Analytics <big><strong>></strong></big> Who’s Amung Us
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -67,7 +67,7 @@ Google Analytics <big><strong>></strong></big> Who’s Amung Us
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -75,7 +75,7 @@ Google Analytics <big><strong>></strong></big> Who’s Amung Us
|
|||
Published on 2009-09-11
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -89,23 +89,7 @@ Google Analytics <big><strong>></strong></big> Who’s Amung Us
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="Apple, mobileme, WebDav, synchronisation, zsh, script" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -268,7 +268,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -283,7 +283,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -291,7 +291,7 @@
|
|||
Published on 2009-09-11
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -305,23 +305,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="disqus, web, javascript, intense debate, comments" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -77,7 +77,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -92,7 +92,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -100,7 +100,7 @@
|
|||
Published on 2009-09-17
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -114,23 +114,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="disqus, intense debate, web, blog" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -64,7 +64,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -79,7 +79,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -87,7 +87,7 @@
|
|||
Published on 2009-09-28
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -101,23 +101,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="jQuery, javascript, web, ruby" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -225,7 +225,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -240,7 +240,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -248,7 +248,7 @@
|
|||
Published on 2009-09-23
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -262,23 +262,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="ruby, regexp, regular expression" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -106,7 +106,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -121,7 +121,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -129,7 +129,7 @@
|
|||
Published on 2009-09-22
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -143,23 +143,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="Apple, mobileme, WebDav, synchronisation, zsh, script" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -111,7 +111,7 @@ if [[ “$1” = “-s” ]]; then swap else if [[ “$1” = “-d” ]]; then
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -126,7 +126,7 @@ if [[ “$1” = “-s” ]]; then swap else if [[ “$1” = “-d” ]]; then
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -134,7 +134,7 @@ if [[ “$1” = “-s” ]]; then swap else if [[ “$1” = “-d” ]]; then
|
|||
Published on 2009-10-28
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -148,23 +148,7 @@ if [[ “$1” = “-s” ]]; then swap else if [[ “$1” = “-d” ]]; then
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="web, webdesign, jQuery" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -66,7 +66,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -81,7 +81,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -89,7 +89,7 @@
|
|||
Published on 2009-10-30
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -103,23 +103,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="jQuery, design, web" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -87,7 +87,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -102,7 +102,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -110,7 +110,7 @@
|
|||
Published on 2009-10-22
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -124,23 +124,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="web, jQuery, webdesign" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -107,7 +107,7 @@ $(document).ready(function(){
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -122,7 +122,7 @@ $(document).ready(function(){
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -130,7 +130,7 @@ $(document).ready(function(){
|
|||
Published on 2009-10-03
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -144,23 +144,7 @@ $(document).ready(function(){
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="jQuery, web, javascript, design" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -107,7 +107,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -122,7 +122,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -130,7 +130,7 @@
|
|||
Published on 2009-10-26
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -144,23 +144,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="zsh, shell, script, tip" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -47,7 +47,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -62,7 +62,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -70,7 +70,7 @@
|
|||
Published on 2009-10-23
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -84,23 +84,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="git, dcvs, programming" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -166,7 +166,7 @@ OK
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -181,7 +181,7 @@ OK
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -189,7 +189,7 @@ OK
|
|||
Published on 2009-10-13
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -203,23 +203,7 @@ OK
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="git" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -405,7 +405,7 @@ Zoot <span class="Constant"><strong>the not so pure</strong></span>
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -420,7 +420,7 @@ Zoot <span class="Constant"><strong>the not so pure</strong></span>
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -428,7 +428,7 @@ Zoot <span class="Constant"><strong>the not so pure</strong></span>
|
|||
Published on 2009-11-12
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -442,23 +442,7 @@ Zoot <span class="Constant"><strong>the not so pure</strong></span>
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="iPhone, Apple, filter, blacklist" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -44,7 +44,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -59,7 +59,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -67,7 +67,7 @@
|
|||
Published on 2009-12-06
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -81,23 +81,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="git, bzr, DCVS, Bazaar" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -104,7 +104,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -119,7 +119,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -127,7 +127,7 @@
|
|||
Published on 2009-12-14
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -141,23 +141,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="Apple, Mac, OS X" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -46,7 +46,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -61,7 +61,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -69,7 +69,7 @@
|
|||
Published on 2010-01-04
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -83,23 +83,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="Linux, Ubuntu, Fonts" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -101,7 +101,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -116,7 +116,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -124,7 +124,7 @@
|
|||
Published on 2010-01-12
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -138,23 +138,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="regex, regexp, regular expression, negate" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -73,7 +73,7 @@ Notice this method is not always the best. For example try to write a regular ex
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -88,7 +88,7 @@ Notice this method is not always the best. For example try to write a regular ex
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -96,7 +96,7 @@ Notice this method is not always the best. For example try to write a regular ex
|
|||
Published on 2010-02-15
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -110,23 +110,7 @@ Notice this method is not always the best. For example try to write a regular ex
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="regexp, regular expression" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -98,7 +98,7 @@ a.....<strong class="blue">a......b</strong>..b..a....<strong class="blue">a....
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -113,7 +113,7 @@ a.....<strong class="blue">a......b</strong>..b..a....<strong class="blue">a....
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -121,7 +121,7 @@ a.....<strong class="blue">a......b</strong>..b..a....<strong class="blue">a....
|
|||
Published on 2010-02-16
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -135,23 +135,7 @@ a.....<strong class="blue">a......b</strong>..b..a....<strong class="blue">a....
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="awk, shell, script" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -54,7 +54,7 @@ Mon Dec 7 10:32:30 UTC 2009
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -69,7 +69,7 @@ Mon Dec 7 10:32:30 UTC 2009
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -77,7 +77,7 @@ Mon Dec 7 10:32:30 UTC 2009
|
|||
Published on 2010-02-18
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -91,23 +91,7 @@ Mon Dec 7 10:32:30 UTC 2009
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="programming, regexp, regular expression, extension, file" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -79,7 +79,7 @@ chomp: 0.820000 0.040000 0.860000 ( 0.947432)
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -94,7 +94,7 @@ chomp: 0.820000 0.040000 0.860000 ( 0.947432)
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -102,7 +102,7 @@ chomp: 0.820000 0.040000 0.860000 ( 0.947432)
|
|||
Published on 2010-02-23
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -116,23 +116,7 @@ chomp: 0.820000 0.040000 0.860000 ( 0.947432)
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="git, tip" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -67,7 +67,7 @@ $ zsh $ cd project $ for br in $( git br -a ); do case $br in remotes/<em>) prin
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -82,7 +82,7 @@ $ zsh $ cd project $ for br in $( git br -a ); do case $br in remotes/<em>) prin
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -90,7 +90,7 @@ $ zsh $ cd project $ for br in $( git br -a ); do case $br in remotes/<em>) prin
|
|||
Published on 2010-03-22
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -104,23 +104,7 @@ $ zsh $ cd project $ for br in $( git br -a ); do case $br in remotes/<em>) prin
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="git, protection, branches, diverged" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -95,7 +95,7 @@ case ARGV[0] when ‘allmerges’ then do_all_merges when ‘merge’ then do_me
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -110,7 +110,7 @@ case ARGV[0] when ‘allmerges’ then do_all_merges when ‘merge’ then do_me
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -118,7 +118,7 @@ case ARGV[0] when ‘allmerges’ then do_all_merges when ‘merge’ then do_me
|
|||
Published on 2010-03-23
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -132,23 +132,7 @@ case ARGV[0] when ‘allmerges’ then do_all_merges when ‘merge’ then do_me
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="blog" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -64,7 +64,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -79,7 +79,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -87,7 +87,7 @@
|
|||
Published on 2010-05-17
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -101,23 +101,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="tree, HTML, script, ruby" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -109,7 +109,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -124,7 +124,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -132,7 +132,7 @@
|
|||
Published on 2010-05-19
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -146,23 +146,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="XML, Perl, programming, tree, theory, mathematics, regexp, script" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -134,9 +134,9 @@ Let’s begin to write code</p>
|
|||
<h2 id="think">Think</h2>
|
||||
<p>After some times, I just stopped to work. Tell myself <em>“it is enough, now, I must finish it!”</em>. I took a sheet of paper, a pen and began to draw some trees.</p>
|
||||
<p>I began by make by removing most of the verbosity. I first renamed <code><item name="Menu"></code> by simpler name <code>M</code> for example. I obtained something like:</p>
|
||||
<p><img src="code/The_source_tree.png" alt="The source tree" /></p>
|
||||
<img src="code/The_source_tree.png" alt="The source tree" />
|
||||
<p>and</p>
|
||||
<p><img src="code/The_destination_tree.png" alt="The destination tree" /></p>
|
||||
<img src="code/The_destination_tree.png" alt="The destination tree" />
|
||||
<p>Then I made myself the following reflexion:</p>
|
||||
<p>Considering Tree Edit Distance, each unitary transformation of tree correspond to a simple search and replace on my <sc>xml</sc> source<a href="#fn2" class="footnote-ref" id="fnref2"><sup>2</sup></a>. We consider three atomic transformations on trees:</p>
|
||||
<ul>
|
||||
|
@ -232,7 +232,7 @@ R -> V</p>
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -247,7 +247,7 @@ R -> V</p>
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -255,7 +255,7 @@ R -> V</p>
|
|||
Published on 2010-05-24
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -269,23 +269,7 @@ R -> V</p>
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="multilanguage, blog" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -68,7 +68,7 @@ here is an example of english text.
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -83,7 +83,7 @@ here is an example of english text.
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -91,7 +91,7 @@ here is an example of english text.
|
|||
Published on 2010-06-14
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -105,23 +105,7 @@ here is an example of english text.
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="blog, nanoc" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -103,7 +103,7 @@ multi/blog/2010-06-01-the-title/third_part.md
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -118,7 +118,7 @@ multi/blog/2010-06-01-the-title/third_part.md
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -126,7 +126,7 @@ multi/blog/2010-06-01-the-title/third_part.md
|
|||
Published on 2010-06-15
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -140,23 +140,7 @@ multi/blog/2010-06-01-the-title/third_part.md
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="analytics, statistics, hide, blog, jQuery, javascript" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -94,7 +94,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -109,7 +109,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -117,7 +117,7 @@
|
|||
Published on 2010-06-17
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -131,23 +131,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="blog, javascript, jQuery, Google, analytics, analyser, User, Asynchronous" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -99,7 +99,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -114,7 +114,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -122,7 +122,7 @@
|
|||
Published on 2010-06-17
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -136,23 +136,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="jQuery, javascript, popup, blog, web" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -68,7 +68,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -83,7 +83,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -91,7 +91,7 @@
|
|||
Published on 2010-06-19
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -105,23 +105,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="Cappuccino, iPhone, web, javascript, jQuery, Cocoa, programming" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -127,7 +127,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -142,7 +142,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -150,7 +150,7 @@
|
|||
Published on 2010-07-05
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -164,23 +164,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="CSS, web, programming, Chrome, Safari, Firefox" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -57,7 +57,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -72,7 +72,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -80,7 +80,7 @@
|
|||
Published on 2010-07-07
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -94,23 +94,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="mathematics, science, philosophy, indecidability" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -138,7 +138,7 @@ Q(x) :
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -153,7 +153,7 @@ Q(x) :
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -161,7 +161,7 @@ Q(x) :
|
|||
Published on 2010-08-11
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -175,23 +175,7 @@ Q(x) :
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="CSS, web, design" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -44,7 +44,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -59,7 +59,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -67,7 +67,7 @@
|
|||
Published on 2010-07-31
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -81,23 +81,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="blog" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -105,7 +105,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -120,7 +120,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -128,7 +128,7 @@
|
|||
Published on 2010-08-23
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -142,23 +142,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="email, shell, web" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -79,7 +79,7 @@ H4sICB6Ke0wAA2Rjcl93aXRob3V0X2tleXdvcmQuY3N2ANSdW5ubOJPH7/e7
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -94,7 +94,7 @@ H4sICB6Ke0wAA2Rjcl93aXRob3V0X2tleXdvcmQuY3N2ANSdW5ubOJPH7/e7
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -102,7 +102,7 @@ H4sICB6Ke0wAA2Rjcl93aXRob3V0X2tleXdvcmQuY3N2ANSdW5ubOJPH7/e7
|
|||
Published on 2010-08-31
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -116,23 +116,7 @@ H4sICB6Ke0wAA2Rjcl93aXRob3V0X2tleXdvcmQuY3N2ANSdW5ubOJPH7/e7
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="nanoc, web, git" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -60,7 +60,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -75,7 +75,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -83,7 +83,7 @@
|
|||
Published on 2010-09-02
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -97,23 +97,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="iPhone, ObjectiveC, programming" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -92,7 +92,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -107,7 +107,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -115,7 +115,7 @@
|
|||
Published on 2010-09-02
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -129,23 +129,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="programming, blog" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -49,7 +49,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -64,7 +64,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -72,7 +72,7 @@
|
|||
Published on 2010-10-06
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -86,23 +86,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="security, S/MIME, email, mac" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -71,7 +71,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -86,7 +86,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -94,7 +94,7 @@
|
|||
Published on 2010-10-10
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -108,23 +108,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="wav, C, format, programming" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -288,7 +288,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -303,7 +303,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -311,7 +311,7 @@
|
|||
Published on 2010-10-14
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -325,23 +325,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="LaTeX, macros, markdown, nanoc, ruby" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -97,7 +97,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -112,7 +112,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -120,7 +120,7 @@
|
|||
Published on 2010-10-26
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -134,23 +134,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
<title>YBlog - Happy New Year</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -46,7 +46,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -61,7 +61,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -69,7 +69,7 @@
|
|||
Published on 2011-01-01
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -83,23 +83,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="Coffeescript" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -116,7 +116,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -131,7 +131,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -139,7 +139,7 @@
|
|||
Published on 2011-01-03
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -153,23 +153,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
<title>YBlog - Now hosted on github</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -45,7 +45,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -60,7 +60,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -68,7 +68,7 @@
|
|||
Published on 2011-04-20
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -82,23 +82,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
<meta name="keywords" content="diff, git, colors" />
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="../../../../Scratch/img/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/brutalist.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../../Scratch/css/pandoc-solarized.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="../../../../Scratch/en/blog/feed/feed.xml" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/y.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/legacy.css" />
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="apple-touch-icon" href="../../../../Scratch/img/about/FlatAvatar@2x.png" />
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
|
||||
<![endif]-->
|
||||
<!-- IndieAuth -->
|
||||
<link href="https://twitter.com/yogsototh" rel="me">
|
||||
<link href="https://ieji.de/@yogsototh" rel="me">
|
||||
<link href="https://github.com/yogsototh" rel="me">
|
||||
<link href="mailto:yann.esposito@gmail.com" rel="me">
|
||||
<link rel="pgpkey" href="../../../../pubkey.txt">
|
||||
|
@ -67,7 +67,7 @@
|
|||
</div>
|
||||
<div id="afterarticle">
|
||||
<div id="social">
|
||||
<a href="../../../../Scratch/en/blog/feed/feed.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
<a href="/rss.xml" target="_blank" rel="noopener noreferrer nofollow" class="social">RSS</a>
|
||||
·
|
||||
<a href="https://twitter.com/home?status=http%3A%2F%2Fyannesposito.com/Scratch/en/blog/A-more-convenient-diff/%20via%20@yogsototh" target="_blank" rel="noopener noreferrer nofollow" class="social">Tweet</a>
|
||||
·
|
||||
|
@ -82,7 +82,7 @@
|
|||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/softwares">Softwares</a>
|
||||
<span class="sep">¦</span>
|
||||
<a href="../../../../Scratch/en/about">About</a>
|
||||
<a href="/about-me.html">About</a>
|
||||
</div>
|
||||
<div id="totop"><a href="#header">↑ Top ↑</a></div>
|
||||
<div id="bottom">
|
||||
|
@ -90,7 +90,7 @@
|
|||
Published on 2011-08-17
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
|
||||
<a href="https://ieji.de/@yogsototh">Follow @yogsototh@ieji.de</a>
|
||||
</div>
|
||||
<div>
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Yann Esposito©</a>
|
||||
|
@ -104,23 +104,7 @@
|
|||
<a href="http://nanoc.ws" target="_blank" rel="noopener noreferrer nofollow"><strike>nanoc</strike></a>
|
||||
<a href="http://jaspervdj.be/hakyll" target="_blank" rel="noopener noreferrer nofollow">Hakyll</a>
|
||||
</div>
|
||||
<hr />
|
||||
<div style="max-width: 100%">
|
||||
<a href="https://cardanohub.org">
|
||||
<img src="../../../../Scratch/img/ada-logo.png" class="simple" style="height: 16px;
|
||||
border-radius: 50%;
|
||||
vertical-align:middle;
|
||||
display:inline-block;" />
|
||||
ADA:
|
||||
</a>
|
||||
<code style="display:inline-block;
|
||||
word-wrap:break-word;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
max-width: 85%;">
|
||||
DdzFFzCqrhtAvdkmATx5Fm8NPJViDy85ZBw13p4XcNzVzvQg8e3vWLXq23JQWFxPEXK6Kvhaxxe7oJt4VMYHxpA2vtCFiP8fziohN6Yp
|
||||
</code>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue