Blog v0.1
This commit is contained in:
parent
5e97124618
commit
be2d382c0b
9 changed files with 438 additions and 25 deletions
98
source/_static/CC0_button.svg
Normal file
98
source/_static/CC0_button.svg
Normal file
|
@ -0,0 +1,98 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="88px" height="31px" viewBox="-0.5 -0.101 88 31" enable-background="new -0.5 -0.101 88 31" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M1.803,0.482L84.93,0.631c1.161,0,2.198-0.173,2.198,2.333L87.025,30.52h-87.32V2.862
|
||||
C-0.295,1.626-0.177,0.482,1.803,0.482z"/>
|
||||
<g>
|
||||
<ellipse fill="#FFFFFF" cx="13.887" cy="15.502" rx="11.101" ry="11.174"/>
|
||||
</g>
|
||||
<path d="M23.271,4.061c3.484,2.592,5.754,6.744,5.755,11.44c-0.001,4.272-1.88,8.095-4.842,10.705h62.853V4.061H23.271z"/>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M35.739,7.559c0.392,0,0.728,0.059,1.002,0.173c0.276,0.116,0.5,0.268,0.674,0.456
|
||||
c0.173,0.189,0.299,0.405,0.379,0.647c0.079,0.242,0.118,0.494,0.118,0.753c0,0.253-0.039,0.503-0.118,0.749
|
||||
c-0.08,0.244-0.206,0.462-0.379,0.65c-0.174,0.189-0.397,0.341-0.674,0.456c-0.274,0.114-0.61,0.173-1.002,0.173h-1.452v2.267
|
||||
h-1.382V7.559H35.739z M35.36,10.535c0.158,0,0.312-0.012,0.457-0.035c0.147-0.023,0.276-0.069,0.388-0.137
|
||||
c0.112-0.068,0.201-0.164,0.269-0.288s0.101-0.287,0.101-0.487c0-0.2-0.033-0.362-0.101-0.487
|
||||
c-0.067-0.124-0.157-0.221-0.269-0.287c-0.111-0.068-0.24-0.114-0.388-0.138C35.671,8.652,35.518,8.64,35.36,8.64h-1.073v1.896
|
||||
L35.36,10.535L35.36,10.535z"/>
|
||||
<path fill="#FFFFFF" d="M43.751,13.4c-0.476,0.417-1.133,0.625-1.972,0.625c-0.851,0-1.509-0.207-1.976-0.62
|
||||
c-0.466-0.412-0.699-1.052-0.699-1.913V7.559h1.381v3.934c0,0.171,0.016,0.338,0.045,0.505c0.029,0.165,0.091,0.311,0.185,0.439
|
||||
c0.094,0.126,0.225,0.229,0.392,0.309c0.167,0.081,0.392,0.12,0.673,0.12c0.493,0,0.833-0.11,1.021-0.332
|
||||
c0.188-0.222,0.282-0.568,0.282-1.04V7.559h1.382v3.934C44.464,12.348,44.227,12.983,43.751,13.4z"/>
|
||||
<path fill="#FFFFFF" d="M49.07,7.559c0.3,0,0.572,0.027,0.818,0.081c0.244,0.054,0.457,0.14,0.633,0.261
|
||||
c0.177,0.121,0.312,0.282,0.41,0.482c0.096,0.201,0.146,0.45,0.146,0.745c0,0.318-0.072,0.584-0.216,0.796
|
||||
c-0.146,0.212-0.357,0.388-0.639,0.523c0.387,0.112,0.676,0.31,0.865,0.589c0.189,0.281,0.286,0.62,0.286,1.015
|
||||
c0,0.319-0.062,0.595-0.187,0.828c-0.123,0.232-0.289,0.423-0.496,0.571c-0.209,0.148-0.445,0.257-0.713,0.327
|
||||
c-0.269,0.07-0.541,0.105-0.822,0.105h-3.047V7.559H49.07z M48.895,10.119c0.246,0,0.448-0.059,0.607-0.178
|
||||
c0.158-0.118,0.236-0.309,0.236-0.576c0-0.147-0.025-0.269-0.078-0.363c-0.053-0.093-0.123-0.168-0.211-0.221
|
||||
c-0.09-0.053-0.189-0.091-0.305-0.109C49.029,8.65,48.912,8.64,48.789,8.64h-1.294v1.48L48.895,10.119L48.895,10.119
|
||||
L48.895,10.119z M48.975,12.804c0.135,0,0.264-0.014,0.387-0.04c0.123-0.026,0.23-0.072,0.326-0.133
|
||||
c0.092-0.062,0.168-0.147,0.226-0.254c0.056-0.104,0.083-0.241,0.083-0.406c0-0.324-0.092-0.557-0.271-0.695
|
||||
c-0.182-0.138-0.424-0.208-0.723-0.208h-1.505v1.738h1.479v-0.002H48.975z"/>
|
||||
<path fill="#FFFFFF" d="M54.143,7.559v5.156h3.062v1.168H52.76V7.559H54.143z"/>
|
||||
<path fill="#FFFFFF" d="M59.748,7.559v6.324h-1.382V7.559H59.748z"/>
|
||||
<path fill="#FFFFFF" d="M65.451,9.247c-0.082-0.132-0.186-0.249-0.309-0.349c-0.123-0.102-0.263-0.18-0.418-0.236
|
||||
c-0.156-0.057-0.316-0.084-0.488-0.084c-0.312,0-0.574,0.062-0.793,0.183c-0.217,0.12-0.394,0.283-0.525,0.486
|
||||
c-0.136,0.204-0.232,0.436-0.296,0.695c-0.062,0.259-0.093,0.528-0.093,0.806c0,0.267,0.031,0.524,0.093,0.776
|
||||
c0.062,0.251,0.16,0.477,0.296,0.678c0.134,0.201,0.312,0.361,0.525,0.483c0.219,0.12,0.481,0.181,0.793,0.181
|
||||
c0.424,0,0.752-0.13,0.99-0.389c0.236-0.26,0.383-0.602,0.437-1.028H67c-0.034,0.396-0.126,0.753-0.271,1.072
|
||||
c-0.146,0.318-0.342,0.591-0.582,0.815c-0.238,0.225-0.521,0.396-0.845,0.513c-0.323,0.119-0.678,0.178-1.065,0.178
|
||||
c-0.479,0-0.914-0.084-1.297-0.252c-0.385-0.169-0.709-0.398-0.973-0.695c-0.265-0.295-0.468-0.642-0.607-1.04
|
||||
c-0.142-0.399-0.211-0.829-0.211-1.289c0-0.473,0.069-0.911,0.211-1.316c0.141-0.404,0.344-0.758,0.607-1.059
|
||||
c0.264-0.302,0.588-0.536,0.973-0.708c0.384-0.172,0.815-0.258,1.297-0.258c0.348,0,0.676,0.051,0.981,0.15
|
||||
c0.308,0.102,0.583,0.248,0.827,0.44c0.243,0.191,0.443,0.43,0.604,0.712c0.158,0.283,0.259,0.608,0.301,0.975h-1.34
|
||||
C65.586,9.524,65.533,9.377,65.451,9.247z"/>
|
||||
<path fill="#FFFFFF" d="M35.615,16.418c0.405,0,0.782,0.062,1.131,0.192c0.35,0.13,0.651,0.324,0.906,0.585
|
||||
c0.255,0.26,0.455,0.586,0.599,0.975c0.144,0.391,0.216,0.849,0.216,1.371c0,0.463-0.059,0.888-0.176,1.277
|
||||
c-0.118,0.391-0.295,0.727-0.532,1.012c-0.238,0.281-0.534,0.504-0.89,0.668c-0.354,0.16-0.772,0.242-1.254,0.242h-2.71v-6.322
|
||||
H35.615z M35.519,21.572c0.199,0,0.393-0.031,0.581-0.098c0.188-0.062,0.354-0.173,0.502-0.323
|
||||
c0.146-0.151,0.264-0.347,0.352-0.59c0.088-0.241,0.132-0.536,0.132-0.886c0-0.317-0.031-0.606-0.093-0.863
|
||||
c-0.062-0.256-0.162-0.479-0.304-0.659c-0.141-0.183-0.326-0.323-0.559-0.421c-0.231-0.098-0.517-0.146-0.858-0.146h-0.984v3.986
|
||||
H35.519z"/>
|
||||
<path fill="#FFFFFF" d="M39.8,18.289c0.141-0.403,0.344-0.756,0.606-1.059c0.265-0.303,0.589-0.538,0.973-0.709
|
||||
c0.385-0.171,0.816-0.257,1.298-0.257c0.487,0,0.921,0.086,1.303,0.257c0.381,0.171,0.704,0.406,0.969,0.709
|
||||
c0.264,0.303,0.466,0.652,0.605,1.059c0.143,0.404,0.213,0.845,0.213,1.316c0,0.46-0.07,0.891-0.213,1.288
|
||||
c-0.142,0.397-0.344,0.744-0.605,1.04c-0.266,0.295-0.588,0.525-0.969,0.695c-0.382,0.166-0.815,0.252-1.303,0.252
|
||||
c-0.481,0-0.913-0.086-1.298-0.252c-0.384-0.17-0.708-0.4-0.973-0.695c-0.263-0.296-0.466-0.645-0.606-1.04
|
||||
c-0.14-0.397-0.211-0.828-0.211-1.288C39.589,19.134,39.659,18.694,39.8,18.289z M41.062,20.379
|
||||
c0.062,0.252,0.16,0.479,0.295,0.68c0.135,0.2,0.312,0.359,0.527,0.482c0.218,0.121,0.481,0.183,0.792,0.183
|
||||
c0.312,0,0.576-0.062,0.792-0.183c0.218-0.121,0.394-0.281,0.529-0.482c0.134-0.2,0.231-0.428,0.295-0.68
|
||||
c0.062-0.25,0.092-0.508,0.092-0.774c0-0.276-0.03-0.547-0.092-0.806c-0.062-0.262-0.161-0.492-0.295-0.696
|
||||
c-0.136-0.201-0.312-0.365-0.529-0.485c-0.216-0.121-0.48-0.184-0.792-0.184c-0.311,0-0.574,0.062-0.792,0.184
|
||||
c-0.216,0.12-0.393,0.284-0.527,0.485c-0.135,0.204-0.233,0.437-0.295,0.696c-0.062,0.259-0.093,0.527-0.093,0.806
|
||||
C40.97,19.871,41.001,20.129,41.062,20.379z"/>
|
||||
<path fill="#FFFFFF" d="M49.092,16.418l1.471,4.348h0.02l1.393-4.348h1.942v6.322h-1.294v-4.48h-0.02l-1.539,4.48H50l-1.54-4.437
|
||||
h-0.019v4.437h-1.293v-6.322H49.092z"/>
|
||||
<path fill="#FFFFFF" d="M58.764,16.418l2.35,6.322H59.68l-0.476-1.408h-2.351l-0.492,1.408h-1.391l2.377-6.322H58.764z
|
||||
M58.844,20.297l-0.793-2.322h-0.018l-0.817,2.322H58.844z"/>
|
||||
<path fill="#FFFFFF" d="M63.547,16.418v6.322h-1.382v-6.322H63.547z"/>
|
||||
<path fill="#FFFFFF" d="M66.604,16.418l2.623,4.242h0.018v-4.242h1.294v6.322h-1.384l-2.611-4.234h-0.02v4.234H65.23v-6.322
|
||||
H66.604z"/>
|
||||
</g>
|
||||
<path d="M85.852,0H1.147C0.239,0-0.5,0.744-0.5,1.658v28.969C-0.5,30.834-0.333,31-0.128,31h87.256
|
||||
c0.205,0,0.372-0.166,0.372-0.373V1.658C87.5,0.744,86.762,0,85.852,0z M1.147,0.75h84.705c0.498,0,0.902,0.406,0.902,0.908
|
||||
c0,0,0,20.121,0,28.557H0.245v-8.426c0-8.435,0-20.131,0-20.131C0.245,1.157,0.65,0.75,1.147,0.75z"/>
|
||||
<g>
|
||||
<ellipse fill="#FFFFFF" cx="14.156" cy="15.661" rx="11.004" ry="11.076"/>
|
||||
<path id="text2809_4_" d="M14.22,8.746c-3.862,0-4.834,3.669-4.834,6.779c0,3.111,0.971,6.779,4.834,6.779
|
||||
c3.863,0,4.834-3.67,4.834-6.779C19.054,12.414,18.083,8.746,14.22,8.746z M14.22,11.301c0.157,0,0.3,0.024,0.435,0.06
|
||||
c0.278,0.24,0.414,0.573,0.147,1.038l-2.572,4.76c-0.079-0.603-0.091-1.195-0.091-1.634C12.139,14.155,12.233,11.301,14.22,11.301
|
||||
z M16.146,13.494c0.137,0.731,0.155,1.493,0.155,2.03c0,1.37-0.094,4.223-2.08,4.223c-0.156,0-0.301-0.017-0.435-0.049
|
||||
c-0.025-0.01-0.049-0.019-0.074-0.025c-0.04-0.012-0.084-0.024-0.122-0.041c-0.442-0.188-0.721-0.531-0.319-1.139L16.146,13.494z"
|
||||
/>
|
||||
<path id="path2815_4_" d="M14.195,3.748c-3.245,0-5.98,1.137-8.21,3.422c-1.128,1.135-1.99,2.431-2.589,3.876
|
||||
c-0.585,1.43-0.876,2.921-0.876,4.478c0,1.57,0.291,3.062,0.876,4.479s1.434,2.69,2.548,3.826
|
||||
c1.128,1.121,2.395,1.985,3.802,2.588c1.421,0.59,2.903,0.884,4.449,0.884c1.547,0,3.05-0.304,4.499-0.907
|
||||
c1.448-0.604,2.74-1.471,3.883-2.605c1.101-1.078,1.934-2.317,2.49-3.719c0.571-1.415,0.853-2.932,0.853-4.544
|
||||
c0-1.598-0.281-3.112-0.852-4.528c-0.571-1.429-1.407-2.693-2.507-3.801C20.263,4.895,17.469,3.748,14.195,3.748z M14.244,5.867
|
||||
c2.646,0,4.904,0.944,6.784,2.836c0.906,0.912,1.6,1.954,2.073,3.119c0.473,1.164,0.713,2.398,0.713,3.703
|
||||
c0,2.707-0.92,4.952-2.744,6.746c-0.948,0.927-2.012,1.638-3.196,2.128c-1.17,0.489-2.375,0.732-3.63,0.732
|
||||
c-1.268,0-2.481-0.239-3.638-0.717c-1.156-0.489-2.193-1.191-3.113-2.104c-0.92-0.925-1.629-1.97-2.13-3.135
|
||||
c-0.487-1.178-0.738-2.391-0.738-3.653c0-1.276,0.251-2.497,0.738-3.662c0.501-1.178,1.211-2.235,2.13-3.175
|
||||
C9.317,6.809,11.57,5.867,14.244,5.867z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 8.8 KiB |
71
source/_static/custom.css
Normal file
71
source/_static/custom.css
Normal file
|
@ -0,0 +1,71 @@
|
|||
@font-face {
|
||||
font-family: andale;
|
||||
src: url("fonts/ANDALEMO.TTF");
|
||||
}
|
||||
|
||||
.yue h1, .yue h2, .yue h3, .yue h4, .yue h5,
|
||||
.t-sidebar h1, .t-sidebar h2, .t-sidebar h3 {
|
||||
font-family: andale;
|
||||
letter-spacing: -2px;
|
||||
}
|
||||
.yue h1 {
|
||||
background: #111111;
|
||||
color: #efefef;
|
||||
padding-left: 20px;
|
||||
margin-left: -20px;
|
||||
letter-spacing: 0px;
|
||||
}
|
||||
|
||||
.t-sidebar {
|
||||
background: #111111;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.t-sidebar .inner {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.yue pre {
|
||||
font-family: andale;
|
||||
}
|
||||
|
||||
.t-sidebar a, .t-sidebar li > a {
|
||||
color: #a9e35a;
|
||||
}
|
||||
.t-sidebar h1, .t-sidebar h2, .t-sidebar h3,
|
||||
.t-sidebar h1 > a, .t-sidebar h2 > a, .t-sidebar h3 > a,
|
||||
.yue h1 a {
|
||||
color: #efefef;
|
||||
}
|
||||
|
||||
.t-sidebar a:hover, .t-sidebar li > a:hover {
|
||||
color: #efefef;
|
||||
}
|
||||
|
||||
#searchbox .input-group > button {
|
||||
background-color: #dd4444;
|
||||
}
|
||||
|
||||
.caption-text {
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
font-family: andale;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.cc0 {
|
||||
display:inline-block;
|
||||
padding: 10px 40px;
|
||||
background-image: url("CC0_button.svg");
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
a.atom {
|
||||
color: #dd6644;
|
||||
font-weight: bold;
|
||||
}
|
||||
.atom img {
|
||||
width: 30px;
|
||||
font-family: andale;
|
||||
}
|
BIN
source/_static/fonts/ANDALEMO.TTF
Normal file
BIN
source/_static/fonts/ANDALEMO.TTF
Normal file
Binary file not shown.
48
source/_static/rss-icon.svg
Normal file
48
source/_static/rss-icon.svg
Normal file
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="256" height="256" id="svg2" sodipodi:version="0.32" inkscape:version="0.47 r22583" sodipodi:docname="rss-feed.svg" version="1.0" inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs id="defs4">
|
||||
<linearGradient inkscape:collect="always" id="linearGradient2555">
|
||||
<stop style="stop-color: rgb(255, 255, 255); stop-opacity: 1;" offset="0" id="stop2557"/>
|
||||
<stop style="stop-color: rgb(255, 255, 255); stop-opacity: 0;" offset="1" id="stop2559"/>
|
||||
</linearGradient>
|
||||
<linearGradient inkscape:collect="always" xlink:href="#linearGradient2555" id="linearGradient2449" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.5914583,0,0,0.5914584,210.0216,142.2324)" x1="-344.15295" y1="274.711" x2="-395.84943" y2="425.39993"/>
|
||||
</defs>
|
||||
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.35" inkscape:cx="430.42472" inkscape:cy="131.48311" inkscape:document-units="px" inkscape:current-layer="layer1" inkscape:window-width="782" inkscape:window-height="674" inkscape:window-x="1" inkscape:window-y="281" showgrid="false" inkscape:window-maximized="0"/>
|
||||
<metadata id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||
<dc:title/>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title/>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:subject>
|
||||
<rdf:Bag/>
|
||||
</dc:subject>
|
||||
<cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/>
|
||||
<dc:description/>
|
||||
<dc:contributor>
|
||||
<cc:Agent>
|
||||
<dc:title/>
|
||||
</cc:Agent>
|
||||
</dc:contributor>
|
||||
</cc:Work>
|
||||
<cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/">
|
||||
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
|
||||
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
|
||||
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-373.642,-318.344)">
|
||||
<rect inkscape:export-ydpi="7.7063322" inkscape:export-xdpi="7.7063322" inkscape:export-filename="C:\Documents and Settings\Molumen\Desktop\path3511111.png" transform="scale(-1,1)" ry="35.487503" rx="35.487503" y="328.84921" x="-619.14587" height="234.98955" width="235.00784" id="rect1942" style="fill:#e15a00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.87500000000000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.87500000000000000, 1.75000000000000000;stroke-dashoffset:0;stroke-opacity:1"/>
|
||||
<path inkscape:export-ydpi="7.7063322" inkscape:export-xdpi="7.7063322" inkscape:export-filename="C:\Documents and Settings\Molumen\Desktop\path3511111.png" sodipodi:nodetypes="ccccsssc" id="path1950" d="M 557.05665,338.89518 L 446.22721,338.89518 C 416.89033,338.89518 393.27256,362.70492 393.27256,392.28025 L 393.27256,500.40761 C 394.22216,523.49366 397.87485,508.89915 404.82758,483.3329 C 412.90814,453.61975 439.22406,427.65003 471.27219,408.1872 C 495.73352,393.33195 523.11328,383.84595 572.95174,382.94353 C 601.21656,382.43177 598.72124,346.26062 557.05665,338.89518 z" style="opacity:0.60747664;fill:url(#linearGradient2449);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.87500000000000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.87500000000000000, 1.75000000000000000;stroke-dashoffset:0;stroke-opacity:1"/>
|
||||
<path sodipodi:type="arc" style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:12;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="path5270" sodipodi:cx="360.35715" sodipodi:cy="200.64285" sodipodi:rx="24.642859" sodipodi:ry="23.928572" d="m 385.00001,200.64285 c 0,13.21539 -11.03299,23.92857 -24.64286,23.92857 -13.60988,0 -24.64286,-10.71318 -24.64286,-23.92857 0,-13.21538 11.03298,-23.92857 24.64286,-23.92857 13.60987,0 24.64286,10.71319 24.64286,23.92857 z" transform="matrix(0.8699574,0,0,0.8699574,135.15631,330.52863)"/>
|
||||
<path style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 427.83482,455.05681 L 427.76203,424.78365 C 492.4681,428.1591 528.38081,474.45682 529.26224,526.72326 L 498.944,526.72326 C 498.44099,480.78249 467.20335,456.72804 427.83482,455.05681 z" id="path5805" sodipodi:nodetypes="ccccc"/>
|
||||
<path style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 428.20143,404.57149 L 427.32264,373.81385 C 526.75104,378.43011 580.00028,450.58197 580.67143,526.72326 L 549.4744,526.28386 C 550.83932,477.58037 514.80871,406.01731 428.20143,404.57149 z" id="path5807" sodipodi:nodetypes="ccccc"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.5 KiB |
155
source/blog/automaticcrm-iso.rst
Normal file
155
source/blog/automaticcrm-iso.rst
Normal file
|
@ -0,0 +1,155 @@
|
|||
.. post:: 2019.08.10
|
||||
:tags: howto,ubuntu,gnu/linux,installation
|
||||
:category: gnu/linux
|
||||
:author: vladan
|
||||
:location: Belgrade
|
||||
|
||||
===========================
|
||||
AutomaticCRM Ubuntu Desktop
|
||||
===========================
|
||||
|
||||
Below are the steps taken to create the Ubuntu 18.04.2 installer for the needs
|
||||
of AutomaticCRM according to the requirements ...
|
||||
|
||||
Operating system
|
||||
|
||||
* Only one domain is allowed ( dev.automaticcrm.ai ) in network adapter
|
||||
* No print screen functionality
|
||||
* No usb memory functionality
|
||||
* No access to the filesystem
|
||||
* No apps except browser
|
||||
|
||||
|
||||
|
||||
Steps to set up the build environment
|
||||
=====================================
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir disk
|
||||
sudo mount -o ubuntu-18.04.2-desktop-amd64.iso disk
|
||||
rsync --exclude=/casper/filesystem.squashfs -av disk/ livecd/
|
||||
|
||||
|
||||
Set up the rootfs
|
||||
=================
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
unsquashfs disk/casper/filesystem.squashfs
|
||||
sudo systemd-nspawn \
|
||||
--directory squashfs-root/ \
|
||||
--bind ~/dev/automaticcrm/deb:/opt/deb
|
||||
--bind /etc/resolv.conf /bin/bash
|
||||
|
||||
Once in the shell, run these commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
apt-get update
|
||||
apt-get -y purge \
|
||||
usb-creator-common \
|
||||
usb-creator-gtk \
|
||||
thunderbird-gnome-support \
|
||||
thunderbird \
|
||||
remmina-common \
|
||||
remmina \
|
||||
remmina-plugin-rdp \
|
||||
remmina-plugin-vnc \
|
||||
firefox* \
|
||||
libreoffice* \
|
||||
alsa* \
|
||||
cups* \
|
||||
gnome-screenshot \
|
||||
evince \
|
||||
gedit
|
||||
|
||||
dpkg -i /opt/deb/google-chrome-stable_current_amd64.deb
|
||||
|
||||
|
||||
Restrict domains
|
||||
================
|
||||
|
||||
To redirect all domains to localhost, except dev.automaticcrm.ai, create the
|
||||
file ``/etc/dnsmasq.d/autocrm.conf`` with these lines:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
address=/#/127.0.0.1
|
||||
server=/dev.automaticcrm.ai/8.8.8.8
|
||||
|
||||
Add this line to /etc/dnsmasq.conf
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
conf-dir=/etc/dnsmasq.d
|
||||
|
||||
|
||||
Run Chrome ONLY
|
||||
===============
|
||||
|
||||
Override the path for all users.
|
||||
|
||||
Edit the desktop entry in ``/usr/share/xsessions/ubuntu.desktop`` so it starts
|
||||
Chrome in fullscreen mode:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[Desktop Entry]
|
||||
Name=Ubuntu
|
||||
Comment=This session logs you into Ubuntu
|
||||
Exec=env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/google-chrome --kiosk https://dev.automaticcrm.ai
|
||||
Type=Application
|
||||
DesktopNames=ubuntu:AutomaticCRM
|
||||
X-Ubuntu-Gettext-Domain=gnome-session-3.0
|
||||
|
||||
.. note::
|
||||
|
||||
If you want to change the domain, edit this file and also enable it in the
|
||||
dnsmqsq config above.
|
||||
|
||||
Remove USB drivers
|
||||
==================
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
printf "\n#AutomaticCRM disabled modules\nblacklist uas\nblacklist usb_storage\n" >> /etc/modprobe.d/blacklist.conf
|
||||
|
||||
|
||||
Create the ISO
|
||||
==============
|
||||
|
||||
Pack the squashfs image and copy it to casper.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mksquashfs squashfs-root/ livecd/casper/filesystem.squashfs
|
||||
|
||||
|
||||
Recreate installation files and pack the ISO.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
printf $(sudo du -sx --block-size=1 squashfs-root | cut -f1) > livecd/casper/filesystem.size
|
||||
sudo systemd-nspawn --directory squashfs-root/ dpkg-query -W --showformat='${Package} ${Version}\n' > livecd/casper/filesystem.manifest
|
||||
sudo cp livecd/casper/filesystem.manifest{,-desktop}
|
||||
sudo rm livecd/md5sum.txt && sudo find livecd/ -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee livecd/md5sum.txt
|
||||
|
||||
mkisofs -r \
|
||||
-V "AutomaticCRM Ubuntu Linux" \
|
||||
-cache-inodes \
|
||||
-J -l -b isolinux/isolinux.bin \
|
||||
-c isolinux/boot.cat -no-emul-boot \
|
||||
-boot-load-size 4 \
|
||||
-boot-info-table \
|
||||
-o automaticcrm-ubuntu-18.04.2.iso livecd/
|
||||
|
||||
Test the installation in a vm
|
||||
=============================
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
rm -f ubuntu.qcow2
|
||||
qemu-img create -f qcow2 ubuntu.qcow2 40G
|
||||
virsh define ./autocrm.xml && virsh start ubuntu18.04
|
|
@ -16,9 +16,8 @@
|
|||
|
||||
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = 'dev notes'
|
||||
copyright = '2019, Vladan Popovic'
|
||||
copyright = 'No Rights Reserved'
|
||||
author = 'Vladan Popovic'
|
||||
|
||||
|
||||
|
@ -28,25 +27,51 @@ author = 'Vladan Popovic'
|
|||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = [
|
||||
'ablog',
|
||||
]
|
||||
import ablog
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
templates_path.append(ablog.get_html_templates_path())
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
# This pattern also affects html_static_path and html_extra_path.
|
||||
exclude_patterns = []
|
||||
|
||||
exclude_patterns = ['cv.rst']
|
||||
|
||||
# -- Options for HTML output -------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
#
|
||||
html_theme = 'alabaster'
|
||||
#html_theme = 'alabaster'
|
||||
html_theme = 'sphinx_typlog_theme'
|
||||
import sphinx_typlog_theme
|
||||
html_theme_path = [sphinx_typlog_theme.get_path()]
|
||||
pygments_style = 'default'
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
html_css_files = [
|
||||
'custom.css',
|
||||
]
|
||||
html_sidebars = {
|
||||
'**': [
|
||||
'localtoc.html',
|
||||
'relations.html',
|
||||
'searchbox.html',
|
||||
'atom.html',
|
||||
]
|
||||
}
|
||||
|
||||
# Blog (ablog) config
|
||||
blog_authors = {
|
||||
'vladan': ('Vladan Popovic', 'https://dev.vp.mk'),
|
||||
}
|
||||
blog_languages = {
|
||||
'en': ('English', None),
|
||||
}
|
||||
blog_baseurl = 'localhost'
|
||||
|
|
12
source/copyright.rst
Normal file
12
source/copyright.rst
Normal file
|
@ -0,0 +1,12 @@
|
|||
No Copyright
|
||||
============
|
||||
|
||||
The person who associated a work with this deed has dedicated the work to the
|
||||
public domain by waiving all of his or her rights to the work worldwide under
|
||||
copyright law, including all related and neighboring rights, to the extent
|
||||
allowed by law.
|
||||
|
||||
You can copy, modify, distribute and perform the work, even for commercial
|
||||
purposes, all without asking permission. See Other Information below.
|
||||
|
||||
|
|
@ -1,20 +1,19 @@
|
|||
.. dev notes documentation master file, created by
|
||||
sphinx-quickstart on Thu Aug 1 23:13:11 2019.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
================
|
||||
Random dev notes
|
||||
================
|
||||
|
||||
Welcome to dev notes's documentation!
|
||||
=====================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
A pile of random notes while I was debugging, writing things on GNU/Linux,
|
||||
programming in Python, Rust, Emacs, VIM, deploying and experimenting with
|
||||
containers, virual machines and other randomness on various subjects.
|
||||
|
||||
|
||||
Recent posts
|
||||
============
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
.. postlist:: 5
|
||||
:author: vladan
|
||||
:date: %A, %B %d, %Y
|
||||
:format: {title} by {author} on {date}
|
||||
:list-style: circle
|
||||
:excerpts:
|
||||
:sort:
|
||||
|
|
13
tox.ini
13
tox.ini
|
@ -1,11 +1,16 @@
|
|||
[tox]
|
||||
envlist=py3
|
||||
envlist = py3
|
||||
skipsdist = True
|
||||
|
||||
[testenv:blog]
|
||||
deps=sphinx
|
||||
commands = sphinx-build source/ build/
|
||||
deps =
|
||||
sphinx
|
||||
sphinx-autobuild
|
||||
sphinx-typlog-theme
|
||||
ablog
|
||||
commands =
|
||||
sphinx-autobuild -b html source/ build/html/
|
||||
|
||||
[testenv:cv]
|
||||
whitelist_externals=/usr/bin/pandoc
|
||||
whitelist_externals = /usr/bin/pandoc
|
||||
commands = pandoc --from=rst -o build/cv.pdf source/cv.rst
|
||||
|
|
Loading…
Add table
Reference in a new issue