From 4977420f9efc188e7af7556bc6cd95e7264c1964 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=ABl=20Matelli?= Date: Mon, 28 Sep 2020 02:27:15 +0200 Subject: [PATCH] Update to latest version (#1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Persian quotation instead of ugly double quotation * Persian quotation instead of ugly double quotation * Added German translation file * german translation for the home page * fixed copy paste error * fixed lines Fixed missing lines according to the english original to maintain documents readability * 初步校验,未完成,回去继续 * started translation for position * translated float and position Translated Chapters "position" and "float" to german * ok, that's all! * add new stuff * 修改一些语句 * add sunnylost into index.translator * translated float layout example * translated chapter percent width to german Signed-off-by: g12n * Localize table of contents label on toc.html template * initial ads implementation * branding ads with learn layout and bocoup * ads and styling to accomodate * a bunch of stuff * closes #41 * Portuguese translation (pt_PT) * Updated "Sie" to "Du" for the beginning part (rest was directly translated into informa "Du") * Brazilian Portuguese translation completed (pt_BR) * closes #62 * started adding german and french * dont show german link just yet, its not done * make sure فارسی is correct in every translation * Implementation of a Dutch translated version of this site * Removed unneeded comments * dutch and g+ button closes #68 * closes #63 * closes #50 * closes #30 * adds info about what inline-block is. closes #21 * closes #19 * page progression markers closes #14 * translation latest * track subdomains too you dummy * revision of translation pt-br * Fixed a few typos, replaced … with real ellipsis * German translation of media queries chapter * German translation of inline-block chapter * German translation of inline-block layout chapter * updated jekyll-localize, moving language names to new defaults.yaml file * translation finished! It surely would profit from some proofreading but at least it's all translated now. I don't know the real name of mi1980ge who did a lot of work. * add german to language picker * improved display of language links * korean! * lets make the default english * Update ko.yaml the title, 'CSS를 배웁시다' should be 'CSS 레이아웃을 배웁시다'. * I think '한국어' is more common * dont need br in language list anymore * remove whitespace from between inline-block elements * French typo pointed out on Twitter https://twitter.com/laurentolivares/status/405289740582129664 * Fixing pt-BR translation There were many errors in the pt-BR translation, so I fixed the translation for: - semantics - grammar - missing sentences - broken code (html inside the strings) - etc * update build process for latest jekyll * Readme update Setting npm install to install package dependencies Setting new grunt serve and default commands * Changed a few words in Persian, Fixed a few writing styles. * better handling of code in rtl languages * Update README.textile * Update README.textile * pt-BR review * Line 72 - Replacing "vão" with "espaço" * Line 74 - Adding character "<" missing * Line 125 - General review * Line 127 - Replacing "veja mais na" with "consulte a" * Line 139 - Replacing "o inline-block ativa algo chamado" with "o inline-block ativando algo chamado" * Line 143 - Added ";" * Line 144 - Added ";" * Line 145 - Replacing "haja" with "exista" * Line 153 - Adding character "<" missing * Line 154 - Replacing "desatualizaos" with "desatualizados" * Line 155 - General review * Line 167 - Replacing "Assim como layout em CSS é complicado" with "Criar layouts com CSS pode ser um pouco complicado, entretanto," * Line 167 - Replacing "Não há substituto para entender como o CSS funciona." with "Mas eles não substituem o conhecimento sobre o funcionamento do CSS." * italian translation 2/19 * italian translation 3-4/19 * italian translation 5/19 * italian translation 6/19 * italian translation 7/19 * italian translation 8/19 * italian translation 9/19 * italian translation: cleaning labels for page 9 * italian translation 10/19 * add semantic ui framework with image * italian translation 11/19 * italian translation 12/19 * italian translation 13/19 * italian translation 14/19 * italian translation 15/19 * italian translation 16/19 * italian translation 17/19 * italian translation 18/19 * italian translation 19/19 and about page * typos, minor style changes to make it more fluid * reverted default lang to english * start creating armenian translation based on #99 * added italian translators credits * Fixing a bunch of typos and slightly off wording in german translation * move italian next to other european languages in translation list * Fix a few more typos in german translation * Add Traditional Chinese translation. * Fixed a translation error in Trad. Chinese Fixed for position.absolute.1 * Fine tune for Trad. Chinese translation * fix typo * Update pt-br.yaml utilziar -> utilizar * Update pt-br.yaml O elemento vai ocupar a largura especificada, então o espaço restante será dividido igualmente entre as duas margens. * Update pt-br.yaml navegadore->navegador * Update pt-br.yaml faze-lo -> fazê-lo * Update README.textile * Update README.textile * Fix some typos in pt-br translation. * Add a japanese version as draft. * Fix a position part * Fix a percent width part * Fix flexbox and column parts. * Add a newline character * rearrange languages a bit, loosely sorted by character set * ru.yaml Learn CSS Layout |RU| by daGo * finish russian translation * russian translation credit and tweaks * Really LATEST update for ru.yaml Upgrade please * Ads: Switch to Bocoup's Revive ad server tag * fix alignment for new ad provider * Some upgrades for yaml.ru Fix some little things |16 september 2014| * start on deploy task * change russian site title * grammar fix in russian title * update vertical centering flexbox example to work in IE11 * deploy all languages at once * added purecss.io to frameworks * Update Bocoup ad zone id * add ftp-deploy to dependencies * add grunt-ftp-deploy to dependencies * Translated word 'Errors' * fixes #122 * Being kinder to math * Being kinder to math * Update to work with latest jekyll + pygments * fix textile sub-bullets * Fixed typo * Fix spanish traslations * // fix a chinese translation problem * fix typo fix typo * Fix italian typo * Fix typo Fixes Issue #125 * Local changes Worded a sentence better. Also added some padding to the #share section. * modified some CHS translation * Fixed some typos in Spanish translation * arabic * work on ar * ar3 * ar-translator * remove dead frameworks * Update README.textile * Update README.textile * Remove "screen and" from media query examples Per email discussion, sending as a pull request. Co-authored-by: Mostafa Shahverdy Co-authored-by: g12n Co-authored-by: sunzhidong Co-authored-by: mzhou Co-authored-by: Gustavo Cunha Co-authored-by: Greg Co-authored-by: Boaz Sender Co-authored-by: Tiago Fernandes Co-authored-by: Christian Zumbrunnen Co-authored-by: Beto Muniz Co-authored-by: mstalfoort Co-authored-by: Kristina Schneider Co-authored-by: leedaeyeop Co-authored-by: Ephemera Co-authored-by: Leonardo Balter Co-authored-by: Greg Smith Co-authored-by: eliezerb Co-authored-by: NKjoep Co-authored-by: Francesco Serra Co-authored-by: William Ghelfi Co-authored-by: Kristina Schneider Co-authored-by: Will Co-authored-by: Johnathan Douglas de Souza Santos Co-authored-by: Marcel dos Santos Co-authored-by: Maru Co-authored-by: dagolinuxoid Co-authored-by: adam j. sontag Co-authored-by: Gregor G Co-authored-by: Rodrigo Prado Co-authored-by: Ryo Narita Co-authored-by: Greg Co-authored-by: Luis Carlos Martinez Co-authored-by: benniks Co-authored-by: isdh Co-authored-by: Santhosh Kumar Srinivasan Co-authored-by: Hamza Suwae Co-authored-by: edwardwang0302 Co-authored-by: Pablo Castellano Co-authored-by: Jonathan Berger --- .gitignore | 6 +- Gruntfile.js | 101 ++++++++------ README.textile | 21 ++- _plugins/localize.rb | 12 +- deploy-all.sh | 16 +++ package.json | 9 +- templates/_config.yml | 1 - templates/_layouts/default.html | 70 ++++++++-- templates/about.html | 7 + templates/box-model.html | 5 +- templates/box-sizing.html | 1 + templates/clear.html | 1 + templates/clearfix.html | 1 + templates/column.html | 3 +- templates/css/style.css | 69 ++++++++-- templates/display.html | 1 + templates/flexbox.html | 25 ++-- templates/float-layout.html | 1 + templates/float.html | 1 + templates/frameworks.html | 7 +- templates/images/960.jpg | Bin 3199 -> 0 bytes templates/images/elasticss.jpg | Bin 4869 -> 0 bytes templates/images/gumby.jpg | Bin 5581 -> 0 bytes templates/images/logo_pure.png | Bin 0 -> 1438 bytes templates/images/semantic_ui.png | Bin 0 -> 22908 bytes templates/images/unsemantic.png | Bin 0 -> 11225 bytes templates/index.html | 20 ++- templates/inline-block-layout.html | 1 + templates/inline-block.html | 14 +- templates/margin-auto.html | 1 + templates/max-width.html | 1 + templates/media-queries.html | 11 +- templates/no-layout.html | 1 + templates/percent.html | 1 + templates/position-example.html | 1 + templates/position.html | 1 + templates/toc.html | 3 +- translations/ar.yaml | 173 ++++++++++++++++++++++++ translations/de.yaml | 203 +++++++++++++++-------------- translations/defaults.yaml | 15 +++ translations/en.yaml | 17 +-- translations/es.yaml | 55 ++++---- translations/fa.yaml | 158 +++++++++++----------- translations/fr.yaml | 8 +- translations/{pt.yaml => hy.yaml} | 81 ++++++------ translations/it.yaml | 173 ++++++++++++++++++++++++ translations/ja.yaml | 171 ++++++++++++++++++++++++ translations/ko.yaml | 167 ++++++++++++++++++++++++ translations/nl.yaml | 171 ++++++++++++++++++++++++ translations/pt-br.yaml | 172 ++++++++++++++++++++++++ translations/pt-pt.yaml | 171 ++++++++++++++++++++++++ translations/ru.yaml | 172 ++++++++++++++++++++++++ translations/zh-tw.yaml | 173 ++++++++++++++++++++++++ translations/zh.yaml | 130 +++++++++--------- 54 files changed, 2184 insertions(+), 439 deletions(-) create mode 100755 deploy-all.sh delete mode 100644 templates/_config.yml delete mode 100644 templates/images/960.jpg delete mode 100644 templates/images/elasticss.jpg delete mode 100644 templates/images/gumby.jpg create mode 100644 templates/images/logo_pure.png create mode 100644 templates/images/semantic_ui.png create mode 100644 templates/images/unsemantic.png create mode 100644 translations/ar.yaml create mode 100644 translations/defaults.yaml rename translations/{pt.yaml => hy.yaml} (71%) create mode 100644 translations/it.yaml create mode 100644 translations/ja.yaml create mode 100644 translations/ko.yaml create mode 100644 translations/nl.yaml create mode 100644 translations/pt-br.yaml create mode 100644 translations/pt-pt.yaml create mode 100644 translations/ru.yaml create mode 100644 translations/zh-tw.yaml diff --git a/.gitignore b/.gitignore index 5acba00..d07a3fa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ .DS_Store -dev -prod -node_modules \ No newline at end of file +_site +node_modules +.ftppass diff --git a/Gruntfile.js b/Gruntfile.js index 4fae314..3515ea1 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,44 +1,71 @@ -// Sample grunt-jekyll grunt.js file -// https://github.com/dannygarcia/grunt-jekyll +/* jshint node:true, camelcase:false */ + +var fs = require('fs'); -/*global module:false*/ module.exports = function(grunt) { - // Project configuration. - grunt.initConfig({ - - jekyll: { - server : { - src : 'templates', - dest: 'dev', - server : true, - server_port : 8000, - auto : true, - pygments: true - }, - dev: { - src: 'templates', - dest: 'dev', - pygments: true - }, - prod: { - src: 'templates', - dest: 'prod', - pygments: true - } - }, + // params + var lang = grunt.option('lang') || 'en'; + var ftpDir = 'learnlayout'; + if (lang !== 'en') { + ftpDir += '_' + lang; + } + + // test for valid language + try { + fs.statSync('translations/' + lang + '.yaml'); + } + catch (e) { + grunt.fail.fatal('Invalid language "' + lang + '"'); + } + grunt.log.write('Language: ' + lang); + + // config + grunt.initConfig({ - watch: { // for development run 'grunt watch' - jekyll: { - files: ['templates/*.html'], - tasks: ['jekyll:dev'] - } + jekyll: { + options: { + src: 'templates', + plugins: '_plugins', + dest: '_site', + pygments: true, + raw: 'lang: ' + lang + }, + build: {}, + serve: { + options: { + watch: true, + serve: true } - }); + } + }, + + 'ftp-deploy': { + build: { + auth: { + host: 'startcontinue.com', + port: 21 + }, + src: '_site', + dest: ftpDir, + exclusions: [ + 'Gruntfile.js', + 'package.json', + '.git*', + 'node_modules' + ] + } + } + + }); + + // plugins + grunt.loadNpmTasks('grunt-jekyll'); + grunt.loadNpmTasks('grunt-ftp-deploy'); - // Default task. Run standard jekyll server. - grunt.registerTask('default', 'jekyll:server'); + // tasks + grunt.registerTask('default', ['jekyll:build']); + grunt.registerTask('serve', ['jekyll:serve']); + grunt.registerTask('deploy', ['default', 'ftp-deploy']); - // plugin tasks - grunt.loadNpmTasks('grunt-jekyll'); -}; \ No newline at end of file +}; diff --git a/README.textile b/README.textile index 8e413ed..5df8838 100644 --- a/README.textile +++ b/README.textile @@ -3,11 +3,18 @@ This is the source for "learnlayout.com":http://learnlayout.com in case you're c h2. How to Build * If needed, install "NPM":https://npmjs.org/ -* If needed, install "grunt":http://gruntjs.com +** Last tested version was 0.12.7 +* If needed, install "grunt":http://gruntjs.com @npm install -g grunt-cli@ +** Last tested grunt-cli version was 0.1.10 +** Last tested grunt version was 0.4.5 +* If needed, do a @npm install@ * If needed, install jekyll @sudo gem install jekyll@ -* If needed, install "pygments":http://pygments.org/docs/installation/ -* Build + run test server with @grunt jekyll@ -* or build only with @grunt jekyll:dev@ or @grunt jekyll:prod@ +** Last tested version was 3.0.1 +* If needed, install "pygments":http://pygments.org/download/ +** I have used `sudo easy_install pygments` on Mac +** Last tested version was 2.0.2 +* Build + run test server with @grunt serve@ +* or build only with @grunt@ h2. How to Translate @@ -17,4 +24,8 @@ If you're not familiar with YAML, it's a very simple human-readable data format. To contribute to a translation, start with "en.yaml":https://github.com/incompl/csslayoutsite/blob/master/translations/en.yaml and either "email me":mailto:gsmith@incompl.com translated YAML files or make pull requests against this repository if you know how. -To test a translation, change the @lang@ property in "_config.yml":https://github.com/incompl/csslayoutsite/blob/master/templates/_config.yml before you build. \ No newline at end of file +To test a translation, change the @lang@ property in "_config.yml":https://github.com/incompl/csslayoutsite/blob/master/templates/_config.yml before you build. If you choose an RTL language you need to add the line @rtl: true@ to the config. + +h2. License + +"Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)":https://creativecommons.org/licenses/by-nc/4.0/ diff --git a/_plugins/localize.rb b/_plugins/localize.rb index 5b97fb3..f738599 100644 --- a/_plugins/localize.rb +++ b/_plugins/localize.rb @@ -8,8 +8,12 @@ def initialize(tag_name, key, tokens) end def render(context) + defaultsPath = "translations/defaults.yaml" @lang = context.registers[:site].config['lang'] @translations = YAML::load(File.open("translations/#{@lang}.yaml")) + if File.exist? defaultsPath + @defaults = YAML::load(File.open(defaultsPath)) + end @init = true if @key[0..3] == 'page' @@ -23,13 +27,19 @@ def render(context) result = @translations[@key] + if result.nil? and defined? @defaults + result = @defaults[@key] + end + "#{result}" end end class RtlTag < Liquid::Tag def render(context) - rtl = context.registers[:site].config['rtl'] + @lang = context.registers[:site].config['lang'] + @translations = YAML::load(File.open("translations/#{@lang}.yaml")) + rtl = @translations['rtl'] if rtl == true "rtl" else diff --git a/deploy-all.sh b/deploy-all.sh new file mode 100755 index 0000000..c27b9fe --- /dev/null +++ b/deploy-all.sh @@ -0,0 +1,16 @@ +grunt deploy --lang=en +grunt deploy --lang=de +grunt deploy --lang=es +grunt deploy --lang=fa +grunt deploy --lang=fr +grunt deploy --lang=hy +grunt deploy --lang=it +grunt deploy --lang=ja +grunt deploy --lang=ko +grunt deploy --lang=nl +grunt deploy --lang=pt-br +grunt deploy --lang=pt-pt +grunt deploy --lang=ru +grunt deploy --lang=zh +grunt deploy --lang=zh-tw +grunt deploy --lang=ar \ No newline at end of file diff --git a/package.json b/package.json index 823acd2..a765171 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,9 @@ { "name": "learn-css-layout", - "version": "1.0.0", + "version": "1.1.0", "devDependencies": { - "grunt": "~0.4.0", - "grunt-jekyll": "0.2.2" + "grunt": "~0.4.2", + "grunt-ftp-deploy": "^0.1.10", + "grunt-jekyll": "~0.4.2" } -} \ No newline at end of file +} diff --git a/templates/_config.yml b/templates/_config.yml deleted file mode 100644 index 77b835b..0000000 --- a/templates/_config.yml +++ /dev/null @@ -1 +0,0 @@ -lang: es \ No newline at end of file diff --git a/templates/_layouts/default.html b/templates/_layouts/default.html index 425d4e4..fefa9e2 100644 --- a/templates/_layouts/default.html +++ b/templates/_layouts/default.html @@ -16,6 +16,7 @@ var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-35945753-1']); + _gaq.push(['_setDomainName', 'learnlayout.com']); _gaq.push(['_trackPageview']); (function() { @@ -42,38 +43,83 @@
-

{% localize page.title %}

+ {% if page.title %} +

{% localize page.title %}

+ {% endif %} {{ content }} - + + {% endif %} {% if page.noFooter != true %} {% endif %}
+ +
  • + + +
  • +
  • +
  • - - +
    +
  • + +
  • + Creative Commons License +
  • + +
    +
    + Ads by Bocoup +
    + + +
    diff --git a/templates/about.html b/templates/about.html index 39040e6..a97ad53 100644 --- a/templates/about.html +++ b/templates/about.html @@ -1,6 +1,7 @@ --- layout: default title: about.title +noFooter: true --- {% highlight css %} .vertical-container { - display: -webkit-flex; - display: flex; height: 300px; -} -.vertically-centered { - margin: auto; + display: -webkit-flex; + display: flex; + -webkit-align-items: center; + align-items: center; + -webkit-justify-content: center; + justify-content: center; } {% endhighlight %}
    <div class="vertical-container"> -
    - <div class="vertically-centered"> +
    + <div>

    {% localize flexbox.centering.1 %}

    diff --git a/templates/float-layout.html b/templates/float-layout.html index 0d7e25a..8a79843 100644 --- a/templates/float-layout.html +++ b/templates/float-layout.html @@ -3,6 +3,7 @@ title: float_layout.title next: percent prev: clearfix +num: 12 ---

    diff --git a/templates/float.html b/templates/float.html index 6e0c9c3..7e092d3 100644 --- a/templates/float.html +++ b/templates/float.html @@ -3,6 +3,7 @@ title: float.title next: clear prev: position-example +num: 9 ---

    diff --git a/templates/frameworks.html b/templates/frameworks.html index 27e893e..aa66c08 100644 --- a/templates/frameworks.html +++ b/templates/frameworks.html @@ -3,6 +3,7 @@ title: frameworks.title next: about prev: flexbox +num: 19 ---

    @@ -35,15 +36,15 @@

    blueprint - 960 + unsemantic bluetrip - elasticss bootstrap - gumby susy foundation kube groundwork + semantic ui + Purecss

    diff --git a/templates/images/960.jpg b/templates/images/960.jpg deleted file mode 100644 index 520d2c47168c83464f8f8f4bcca521fd72efad4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3199 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 WD_&CCw4vnIsb`a4=GKAmhyMeo#7)%z diff --git a/templates/images/elasticss.jpg b/templates/images/elasticss.jpg deleted file mode 100644 index 7d41cf4e7205ecfd71509911fd27d6377d70ed5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4869 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 literal 0 HcmV?d00001 diff --git a/templates/images/semantic_ui.png b/templates/images/semantic_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..444a6babf659e94b4b9d603ffdbbee71b8636be7 GIT binary patch literal 22908 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

  • @b_!ZOKvlAOjC!tP8lJ~LAwd?9s4Md}A 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 literal 0 HcmV?d00001 diff --git a/templates/images/unsemantic.png b/templates/images/unsemantic.png new file mode 100644 index 0000000000000000000000000000000000000000..4de6555bbaa6c37af8d3a89ef572fbcafde1802f GIT binary patch literal 11225 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 literal 0 HcmV?d00001 diff --git a/templates/index.html b/templates/index.html index 8ae7220..d1388ca 100644 --- a/templates/index.html +++ b/templates/index.html @@ -6,7 +6,7 @@ @@ -30,8 +30,18 @@ \ No newline at end of file + {% localize index.french %} + {% localize index.german %} + {% localize index.dutch %} + {% localize index.italian %} + {% localize index.pt-br %} + {% localize index.pt-pt %} + {% localize index.russian %} + {% localize index.persian %} + {% localize index.arabic %} + {% localize index.chinese %} + {% localize index.tradchinese %} + {% localize index.korean %} + {% localize index.japanese %} +
  • diff --git a/templates/inline-block-layout.html b/templates/inline-block-layout.html index 1d077c8..9ce4717 100644 --- a/templates/inline-block-layout.html +++ b/templates/inline-block-layout.html @@ -3,6 +3,7 @@ title: inline_block_layout.title next: column prev: inline-block +num: 16 ---
    diff --git a/templates/inline-block.html b/templates/inline-block.html index a06ab74..a3676f6 100644 --- a/templates/inline-block.html +++ b/templates/inline-block.html @@ -3,6 +3,7 @@ title: inline_block.title next: inline-block-layout prev: media-queries +num: 15 ---

    @@ -83,15 +84,10 @@

    {% localize inline_block.easy_way.title %}

    {% endhighlight %}

    - {% for i in (1..11) %} -

    - <div class="box2"> -

    - {% localize inline_block.easy_way.box %} -

    - </div> -
    - {% endfor %} + +
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div class="box2">

    {% localize inline_block.easy_way.box %}

    </div>
    <div> diff --git a/templates/margin-auto.html b/templates/margin-auto.html index df998b6..07946ae 100644 --- a/templates/margin-auto.html +++ b/templates/margin-auto.html @@ -3,6 +3,7 @@ title: margin_auto.title next: max-width prev: display +num: 3 --- {% highlight css %} -@media screen and (min-width:600px) { +@media (min-width:600px) { nav { float: left; width: 25%; @@ -40,7 +41,7 @@ margin-left: 25%; } } -@media screen and (max-width:599px) { +@media (max-width:599px) { nav li { display: inline; } @@ -102,4 +103,4 @@

    {% localize util.extra_credit %}

    {% localize media_queries.5 %}

    -
    \ No newline at end of file + diff --git a/templates/no-layout.html b/templates/no-layout.html index 01f38bc..8f1bbb4 100644 --- a/templates/no-layout.html +++ b/templates/no-layout.html @@ -3,6 +3,7 @@ title: no_layout.title next: display prev: index +num: 1 ---

    diff --git a/templates/percent.html b/templates/percent.html index 0f95e10..e7c43e8 100644 --- a/templates/percent.html +++ b/templates/percent.html @@ -3,6 +3,7 @@ title: percent.title next: media-queries prev: float-layout +num: 13 ---

    diff --git a/templates/position-example.html b/templates/position-example.html index da87d1e..6f5c6c5 100644 --- a/templates/position-example.html +++ b/templates/position-example.html @@ -3,6 +3,7 @@ title: position_example.title next: float prev: position +num: 8 ---

    diff --git a/templates/position.html b/templates/position.html index 8c00b91..3576efb 100644 --- a/templates/position.html +++ b/templates/position.html @@ -3,6 +3,7 @@ title: position.title next: position-example prev: box-sizing +num: 7 ---

    diff --git a/templates/toc.html b/templates/toc.html index 6a6abba..c9e7323 100644 --- a/templates/toc.html +++ b/templates/toc.html @@ -1,5 +1,6 @@ --- layout: default +noFooter: true ---