From 11c513d1467a9c8b7f9cd60dce522a6a62e4f1e3 Mon Sep 17 00:00:00 2001 From: royduin Date: Wed, 10 Apr 2013 13:28:37 +0300 Subject: [PATCH 01/13] Update nl_NL.po --- lang/nl_NL.po | 490 ++++++++++++++++++++------------------------------ 1 file changed, 192 insertions(+), 298 deletions(-) diff --git a/lang/nl_NL.po b/lang/nl_NL.po index 4533564..551c615 100755 --- a/lang/nl_NL.po +++ b/lang/nl_NL.po @@ -2,366 +2,260 @@ msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Project-Id-Version: Roots Theme i18n: NL_nl\n" +"Project-Id-Version: Roots Theme\n" "POT-Creation-Date: \n" "PO-Revision-Date: \n" -"Last-Translator: Herko Coomans \n" -"Language-Team: Herko Coomans \n" +"Last-Translator: Roy Duineveld \n" +"Language-Team: Roy Duineveld \n" "MIME-Version: 1.0\n" -"X-Poedit-Language: Dutch\n" -"X-Poedit-Country: NETHERLANDS\n" +"X-Generator: Poedit 1.5.5\n" +"Language: Dutch\n" +"X-Poedit-SourceCharset: UTF-8\n" -#. Text in echo -#: comments.php:80 -#: comments.php:84 -msgid " (required)" -msgstr "(verplicht)" +#: 404.php:4 +msgid "Sorry, but the page you were trying to view does not exist." +msgstr "Sorry, de pagina die je probeert te bezoeken bestaat niet." -#. Text in echo -#: inc/roots-options.php:127 -#: inc/roots-options.php:129 -msgid "#main CSS Classes" -msgstr "#main CSS klassen" +#: 404.php:7 +msgid "It looks like this was the result of either:" +msgstr "Het lijkt dat er een resultaat is of anders:" -#. Text in echo -#: inc/roots-options.php:137 -#: inc/roots-options.php:139 -msgid "#sidebar CSS Classes" -msgstr "#sidebar CSS klassen" +#: 404.php:9 +msgid "a mistyped address" +msgstr "een verkeerd adres" -#. Text in function -#: comments.php:46 -msgid "% Responses to" -msgstr "% reacties op" +#: 404.php:10 +msgid "an out-of-date link" +msgstr "een verouderde link" -#. Text in function -#: comments.php:8 -msgid "%1$s" -msgstr "%1$s" +#: index.php:5 +msgid "Sorry, no results were found." +msgstr "Sorry, geen resultaten gevonden." -#. Text in function -#: inc/roots-options.php:94 -msgid "%s Theme Options" -msgstr "%s Thema Opties" - -#. Text in function -#: comments.php:53 -msgid "← Older comments" -msgstr "← Oudere reacties" - -#. Text in function -#: loop-search.php:33 -#: loop.php:37 +#: index.php:17 msgid "← Older posts" msgstr "← Oudere berichten" -#. Text in function -#: comments.php:9 -msgid "(Edit)" -msgstr "(Bewerk)" +#: index.php:18 +msgid "Newer posts →" +msgstr "Nieuwste berichten →" -#. Text in function -#: inc/roots-options.php:1 -msgid "1140" -msgstr "1140" +#: lib/activation.php:33 lib/activation.php:34 +msgid "Theme Activation" +msgstr "Thema Activeren" -#. Text in function -#: inc/roots-options.php:1 -msgid "960gs (12 cols)" -msgstr "960gs (12 kolommen)" +#: lib/activation.php:70 +msgid "%s Theme Activation" +msgstr "%s Thema Activeren" -#. Text in function -#: inc/roots-options.php:1 -msgid "960gs (16 cols)" -msgstr "960gs (16 kolommen)" +#: lib/activation.php:85 lib/activation.php:87 +msgid "Create static front page?" +msgstr "Statische voorpagina maken?" -#. Text in function -#: inc/roots-options.php:1 -msgid "960gs (24 cols)" -msgstr "960gs (24 kolommen)" +#: lib/activation.php:89 lib/activation.php:102 lib/activation.php:115 +#: lib/activation.php:128 lib/activation.php:141 +msgid "Yes" +msgstr "Ja" -#. Text in function -#: comments.php:7 -msgid "%s" -msgstr "%s" +#: lib/activation.php:90 lib/activation.php:103 lib/activation.php:116 +#: lib/activation.php:129 lib/activation.php:142 +msgid "No" +msgstr "Nee" -#. Text in function -#: inc/roots-options.php:1 -msgid "Adapt.js" -msgstr "Adapt.js" +#: lib/activation.php:93 +msgid "Create a page called Home and set it to be the static front page" +msgstr "Maak een \"home\" pagina en stel een statische voorpagina in" -#. Text in echo -#: page-sitemap.php:18 -msgid "Archives" -msgstr "Archieven" +#: lib/activation.php:98 +msgid "Change permalink structure?" +msgstr "Permalink structuur veranderen?" -#. Text in function -#: inc/roots-options.php:1 -msgid "Blueprint CSS" -msgstr "Blueprint CSS" +#: lib/activation.php:100 +msgid "Update permalink structure?" +msgstr "Permalink structuur updaten?" -#. Text in echo -#: inc/roots-options.php:106 -#: inc/roots-options.php:108 -msgid "CSS Grid Framework" -msgstr "CSS Grid Raamwerk" +#: lib/activation.php:106 +msgid "Change permalink structure to /%postname%/" +msgstr "Verander permalink structuur naar /%postname%/" -#. Text in echo -#: 404.php:13 -msgid "Check your spelling" -msgstr "Controleer de spelling" +#: lib/activation.php:111 +msgid "Change uploads folder?" +msgstr "Upload map veranderen?" -#. Text in echo -#: inc/roots-widgets.php:61 -msgid "City/Locality:" -msgstr "Plaats:" +#: lib/activation.php:113 +msgid "Update uploads folder?" +msgstr "Upload map updaten?" -#. Text in echo -#: 404.php:15 -msgid "Click the Back button" -msgstr "Klik op de Terug knop" +#: lib/activation.php:119 +msgid "Change uploads folder to /assets/ instead of /wp-content/uploads/" +msgstr "Verander upload map naar /assets/ instead of /wp-content/uploads/" -#. Text in echo -#: comments.php:93 -msgid "Comment" -msgstr "Reactie" +#: lib/activation.php:124 lib/activation.php:126 +msgid "Create navigation menu?" +msgstr "Navigatie menu maken?" -#. Text in echo -#: comments.php:63 -msgid "Comments are closed." -msgstr "U kunt niet meer reageren." +#: lib/activation.php:132 +msgid "Create the Primary Navigation menu and set the location" +msgstr "Maak een hoofd menu en stel de lokatie in" -#. Text in function -#: inc/roots-cleanup.php:1 +#: lib/activation.php:137 lib/activation.php:139 +msgid "Add pages to menu?" +msgstr "Pagina's toevoegen aan menu?" + +#: lib/activation.php:145 +msgid "Add all current published pages to the Primary Navigation" +msgstr "Voeg alle gepubliceerde pagina's toe aan de standaard navigatie" + +#: lib/cleanup.php:382 msgid "Continued" -msgstr "Lees verder" +msgstr "Vervolgd" -#. Text in function -#: inc/roots-options.php:132 -#: inc/roots-options.php:142 -msgid "Default: %s" -msgstr "Standaard: %s" +#: lib/init.php:11 +msgid "Primary Navigation" +msgstr "Standaard Navigatie" -#. Text in echo -#: comments.php:84 -msgid "Email (will not be published)" -msgstr "E-mail (wordt niet gepubliceerd)" - -#. Text in echo -#: inc/roots-widgets.php:77 -msgid "Email:" -msgstr "E-mail:" - -#. Text in function -#: inc/roots-options.php:152 -msgid "Enter your UA-XXXXX-X ID" -msgstr "Voer uw UA-XXXXX-X ID in" - -#. Text in echo -#: 404.php:7 -msgid "File Not Found" -msgstr "Bestand niet gevonden" - -#. Text in echo -#: inc/roots-options.php:147 -#: inc/roots-options.php:149 -msgid "Google Analytics ID" -msgstr "Google Analytics ID" - -#. Text in echo -#: index.php:7 +#: lib/utils.php:60 msgid "Latest Posts" msgstr "Laatste berichten" -#. Text in function -#: comments.php:70 -msgid "Leave a Reply" -msgstr "Reageer" +#: lib/utils.php:69 +msgid "Daily Archives: %s" +msgstr "Dagelijkse berichten: %s" -#. Text in function -#: comments.php:70 -msgid "Leave a Reply to %s" -msgstr "Reageer op %s" +#: lib/utils.php:71 +msgid "Monthly Archives: %s" +msgstr "Maandelijkse berichten: %s" -#. Text in echo -#: comments.php:77 -msgid "Log out »" -msgstr "Afmelden »" +#: lib/utils.php:73 +msgid "Yearly Archives: %s" +msgstr "Jaarlijkse berichten: %s" -#. Text in function -#: comments.php:77 -msgid "Log out of this account" -msgstr "Dit profiel afmelden" +#: lib/utils.php:75 +msgid "Author Archives: %s" +msgstr "Auteurs berichten: %s" -#. Text in function -#: comments.php:77 -msgid "Logged in as %s." -msgstr "Aangemeld als %s." +#: lib/utils.php:80 +msgid "Search Results for %s" +msgstr "Zoekresultaten voor %s" -#. Text in echo -#: comments.php:80 -msgid "Name" -msgstr "Naam" +#: lib/utils.php:82 +msgid "Not Found" +msgstr "Niet gevonden" -#. Text in function -#: comments.php:54 -msgid "Newer comments →" -msgstr "Nieuwere reacties →" +#: lib/utils.php:94 +msgid "Please make sure your .htaccess file is writable " +msgstr "Zorg ervoor dat .htaccess schrijfbaar is" -#. Text in function -#: loop-search.php:34 -#: loop.php:38 -msgid "Newer posts →" -msgstr "Nieuwere berichten →" +#: lib/widgets.php:8 +msgid "Primary Sidebar" +msgstr "Hoofd Sidebar" -#. Text in function -#: comments.php:46 -msgid "No Responses to" -msgstr "Geen reacties op" +#: lib/widgets.php:17 +msgid "Footer" +msgstr "Footer" -#. Text in function -#: comments.php:46 -msgid "One Response to" -msgstr "Een reactie op" +#: lib/widgets.php:45 +msgid "Use this widget to add a vCard" +msgstr "Gebruik deze widget om een vCard toe te voegen" -#. Text in echo -#: page-sitemap.php:14 -msgid "Pages" -msgstr "Pagina's" - -#. Text in function -#: loop-page.php:7 -#: loop-single.php:17 -msgid "Pages:" -msgstr "Pagina's:" - -#. Text in function -#: comments.php:28 -msgid "Please do not load this page directly. Thanks!" -msgstr "Deze pagina niet direct laden, a.u.b. Vriendelijk bedankt!" - -#. Text in function -#: inc/roots-htaccess.php:1 -msgid "Please make sure your .htaccess file is writeable " -msgstr "Controleer a.u.b of uw .htaccess bestand schrijfbaar is" - -#. Text in echo -#: 404.php:11 -msgid "Please try the following:" -msgstr "Probeer a.u.b. het volgende:" - -#. Text in function -#: inc/roots-admin.php:1 -msgid "Please update your site tagline" -msgstr "Werk uw website slogan bij." - -#. Text in function -#: loop-single.php:8 -#: loop-search.php:16 -#: loop.php:16 -msgid "Posted on %s at %s." -msgstr "Geplaatst op %s om %s." - -#. Text in echo -#: page-sitemap.php:16 -msgid "Posts" -msgstr "Berichten" - -#. Text in function -#: 404.php:14 -msgid "Return to the home page" -msgstr "Terug naar de startpagina" - -#. Text in function -#: inc/roots-widgets.php:1 +#: lib/widgets.php:47 msgid "Roots: vCard" msgstr "Roots: vCard" -#. Text in echo -#: searchform.php:3 -#: searchform.php:4 -msgid "Search" -msgstr "Zoeken" +#: lib/widgets.php:74 +msgid "vCard" +msgstr "vCard" -#. Text in echo -#: search.php:7 -msgid "Search Results for" -msgstr "Zoekresultaten voor" +#: templates/comment.php:4 +msgid "%1$s" +msgstr "%1$s" -#. Text in echo -#: searchform.php:2 -msgid "Search for:" -msgstr "Zoek naar:" +#: templates/comment.php:5 +msgid "(Edit)" +msgstr "(Bewerken)" -#. Text in echo -#: loop-search.php:4 -#: loop.php:4 -msgid "Sorry, no results were found." -msgstr "Sorry, uw zoekopdracht heeft geen resultaten opgeleverd." +#: templates/comment.php:9 +msgid "Your comment is awaiting moderation." +msgstr "Je reactie wacht op goedkeuring." -#. Text in echo -#: inc/roots-widgets.php:65 -msgid "State/Region:" -msgstr "Provincie/regio:" +#: templates/comments.php:8 +msgid "One Response to “%2$s”" +msgid_plural "%1$s Responses to “%2$s”" +msgstr[0] "" +msgstr[1] "" -#. Text in echo -#: inc/roots-widgets.php:57 -msgid "Street Address:" -msgstr "Adres:" +#: templates/comments.php:18 +msgid "← Older comments" +msgstr "← Oudere reacties" -#. Text in echo -#: comments.php:96 -msgid "Submit Comment" -msgstr "Reactie versturen" +#: templates/comments.php:21 +msgid "Newer comments →" +msgstr "Nieuwere reacties →" -#. Text in echo -#: inc/roots-widgets.php:73 -msgid "Telephone:" -msgstr "Telefoon:" +#: templates/comments.php:29 templates/comments.php:38 +msgid "Comments are closed." +msgstr "Reageren is niet mogelijk." -#. Text in echo -#: 404.php:9 -msgid "The page you are looking for might have been removed, had its name changed, or is temporarily unavailable." -msgstr "De pagina waar u naar op zoek bent is mogelijk verwijderd, van naam veranderd of is tijdelijk niet beschikbaar." +#: templates/comments.php:45 +msgid "Leave a Reply" +msgstr "Plaats een reactie" -#. Text in function -#: inc/roots-options.php:1 -msgid "Theme Options" -msgstr "Thema opties" +#: templates/comments.php:45 +msgid "Leave a Reply to %s" +msgstr "Plaats een reactie bij %s" -#. Text in echo -#: comments.php:36 -msgid "This post is password protected. Enter the password to view comments." -msgstr "Dit bericht is beschermd met een wachtwoord. Voer het wachtwoord in om de reacties te bekijken." +#: templates/comments.php:48 +msgid "You must be logged in to post a comment." +msgstr "Je moet ingelogd zijn om een reactie te plaatsen." -#. Text in echo -#: inc/roots-widgets.php:53 -msgid "Title (optional):" -msgstr "Titel (optioneel):" +#: templates/comments.php:53 +msgid "Logged in as %s." +msgstr "Ingelogd als %s." -#. Text in echo -#: comments.php:88 +#: templates/comments.php:54 +msgid "Log out of this account" +msgstr "Dit account uitloggen" + +#: templates/comments.php:54 +msgid "Log out »" +msgstr "Uitloggen »" + +#: templates/comments.php:57 +msgid "Name" +msgstr "Naam" + +#: templates/comments.php:57 templates/comments.php:59 +msgid " (required)" +msgstr " (noodzakelijk)" + +#: templates/comments.php:59 +msgid "Email (will not be published)" +msgstr "Email adres (zal niet getoond worden)" + +#: templates/comments.php:61 msgid "Website" msgstr "Website" -#. Text in echo -#: loop-single.php:10 -#: loop-search.php:17 -msgid "Written by" -msgstr "Geschreven door" +#: templates/comments.php:64 +msgid "Comment" +msgstr "Reactie" -#. Text in function -#: comments.php:73 -msgid "You must be logged in to post a comment." -msgstr "U dient aangemeld te zijn om te reageren." +#: templates/comments.php:66 +msgid "Submit Comment" +msgstr "Reactie toevoegen" -#. Text in echo -#: comments.php:14 -msgid "Your comment is awaiting moderation." -msgstr "Uw reactie wacht op goedkeuring." +#: templates/content-single.php:11 +msgid "Pages:" +msgstr "Pagina's:" -#. Text in echo -#: inc/roots-widgets.php:69 -msgid "Zipcode/Postal Code:" -msgstr "Postcode:" +#: templates/entry-meta.php:2 +msgid "By" +msgstr "Door" +#: templates/searchform.php:2 +msgid "Search for:" +msgstr "Zoeken naar:" + +#: templates/searchform.php:3 templates/searchform.php:4 +msgid "Search" +msgstr "Zoeken" From 2a3b18be160d380570a6714580b9655cc4711840 Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 10 Apr 2013 17:34:19 +0200 Subject: [PATCH 02/13] Updated the Dutch translation --- lang/nl_NL.mo | Bin 4941 -> 4619 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lang/nl_NL.mo b/lang/nl_NL.mo index 606b0ef351226244ad64185f5891b681a33a7632..172e67e8fbebdf02009e1144744d4f7cce355395 100755 GIT binary patch literal 4619 zcmb7`Pi!1l9mgLfg<=Yn76OzK9&VjDG`mjHhNhdu`TrLuwPL4`9*W-XJnxRZJ8wIG z*0CkTfddkU!lf6a9w=}CAwWU`B*X!!hYFPg5(o*ToDc$0i9ZJ2*I$F$|9gmN^H+En{sVp#&hXJ`cpC18Uxe?3UxOcjufTV~AH!4d=kP=D z9yWahJ`A6NPeSR@haZDqfNV7{!vpY}@P7C!_#Sv0O0PHI`=Gh6lKTMs6pyn|=YI~$ z?i|YA4XAUz0%gxDQ2Kof>b&p6Gw?@H`~C$b|9&><{70bn?T3lt2FoCHEm-HsL-fe?1GO-}6xUw+`jkO=#iI zpzOX4_5I(W;(RZQgn4pl?NRR8dZkfQvC^e}Ap6Ica#Z=IOL}~QTl&hjgWS60SH)_M zTfV^M<~a9JZpEr@Dg0Mm(tjVfGnrlP`GL2mJ9#{Ec^ne6x9`&Qn0=-n`P6p8VBnKH+rBys8B4S0qd4Dh zPDhb-{l4uKY06eREZY4z>-oqIUDsze4>s?4yO_oUmu}c=ZWMQ`ll0|e562WI&FLcV zh18x-JH2@1vzDF7%$W^yw&#+rw?m%}Tt80MY?h}*CofVj@pF40ed4KOQYvu+Up~zJ zk55jH-xb4ta8YJgLTRfcxh(T}HfQ4`%e{+iSg~{K!$v10IkwH!UreNLmw@2PU1Mg} zp<$;VG9NWrO!7D>d}Pk1-sRr9(t6v$dwAoGx3LM|;QG2d@4 zgpm8xT+WdZ)-v0V*JMSU*>y)UAUpM0(a+^tAM>2H%mUuXa=Tcj)q-~;`R2MG_BYJ7 zC;5bgSO{Gkirnr^-3vuHHhD&3d64ULLXqTJ@8Z}vv7CI|*%mvhl%%aMm zWfuG1W!?@P{>YTM8=*+Isx>{|?B(e0vr-W&&8+;E#<^?rzuBRN#!E|aUVb+*$uo{B~%=B zsTCA+>Or;9pYiQ1&b_&b@pnh@rq9ex>>3oL8+p4WDW>Q9<8)CPNUB1L*t!Qc_2r}^ zDll%{#Z+|H4g$Thte2*7c7R(ph9n+Zk?WapiPE(ZRvM+PYG9@ckXizLrLoNZmd*XG zd~VoxadOOddM>3AoVc-kp>cF-vM+T>w&K&q`J@vfj&9kb?Kq!WOv9@0=N zr(xq%G=6Lj{QT4ceYqf88q3}d-opN?m#?0`qvE0F!Ku$SF8V~?(|L=*GgIuL=8@)+ ziR>0CIf5HmF+$LJ$1 z#$&HqZu>Ou^oWg_J)@#u^T~emZ17!;I&Zta?06mT)2J+$IC1+l>S$aAW+5;=;{ zj+?YsBbe+PAhMwMcO!Gvxi#zA zGu>kVPOJCeB+CL5xL>|0$63~)F^zCXy&+D__@@L-l^+jfXT_`~P0PD?tLyS^a#$~f zm8kk`d=f$Hhc&*X=_ckJnk$d!HQOUnO+Tl~wzHd#5h%mxLm@D`*8>Sbs?<~P60amB zw^Y6*f-r9{ZW~xJ1p6DysCbFBhJeXmQ3d2IZCOX zg|-;KHJAA%#YX*T`@g0lsT%FfpWPAc9;~4v_j_LZ!@TN*deMl{& zY7IuCa%)dXm^%3URV_(YMngUZWdrdb?iD$}lLishmD#yF%sqyz$(;f**Ix z{435}q0|C7y)7Dyp)#S$vAG$qGVQ8U>P(PZm}+FQPnr@jUSD^#SR016OWR+g`yr`m YrP1wxtI`P`x1H4|#_U2MhsF^O$w5O+Q z(%s`>_8~}7-jEPd1VTK(3lc&=9*~ew6vP7(0ttu&LLj05Z;&SlJaUNNzvu8e8&GJu z<~LPS$5-Fk{{4aLzG!$>Xt&druQA5K{P8d}hSYkN8#iVa8v8?}9%a@t5#D^k0G6?=|>d_)n9BJkG}sjG*Sd3|HW* zPg-bmXc zq3-n})P6sNviEPH=Kl?Hgt?ZE?sWj_Ubn#-oPp=yr=jBXoA3zyG1NW(4mE!Yp*{+4 zh4Pb!p!{SNO72Z4dp6;5m_e4BZ$Zs_3G!!t#E16#H4N|%Q2SlP*`9(=LiycGeCYl! zL#|+c110aDpoP;Ms(qFqZes4GNq(J8swrg!Wo&)~o}ein^k|))(=_Sos5(6JLzMBS zyU2g^%+eNUx6!2YlQcbd(qy|unsgvLRA_n>TUFYeIy{O2>Eoa}JX~X_|FSpqm4`;( z6%TihzF#|{g|hoJ?O~dH;*F2&D<9B-#qB`(i>ZVu*g1F;%;a{f=rRUnY$C0Whd;#B=VVUgign&#T!PuA!lfIC5nr~ zW`6$IQS;yfN1M5woxhhANq%_Je_((A-eaTw$wpjw+mNuQrnl4Sg_->1oW>T+V&u9- zbtgBAS)a+lLd&v&ypEp!>9Tb|A0$ezhu$M-|lHcKtvXxl;PWj62nB#G0eS&ECn z+-hjJgfBI-l*CLaTHc;?ww3wqQ`0+c*X4~Y?iRIHoEIS*RO_zMo;^Iha2lSRa|^cK zD~gbsrJ)+e%&p5LeaL-OWiTz`wC5wU?6+MnDQb2mH!GMVv9tX+No*PlTlcoxt0!^Z zlEKPfYi1=aP;x2wrNzo)dMc0E^ULN;oOrv&vNNHVM&@h?O$HWImkf%yk!#ATD|}wq z_0krr-tBtpux~dRn0-AgEqPW$(}rGQ@6O!Qy>MdE58G%Z=0=SMM->`x`pDu=F5lDD zOg`7|R$SDH)46UIwh^z|ZFPrsa|>0ohAqsR?{l58&*&&TX*62;%w#C+_r!~-pA5(| z*Im=+!_S&oPrS>$jY6r%B)DiOahFLpA^;jiGN|IkE^X&`ji+~9+uOW{ol5mitUi-Z zFH~Cv*Y!C*hmCa^iw61`{^#m+#(Nampmdq-kR+jxS51WJbtBaOCR^w7>%ukhL9gA7 z?1Mf-iV>_U_^g&=x!LeVFH2>feQqfMTY-So{mLyiLMZZ@-Cc57WH!AcE=G{jaJbxV zhip8=*P7W3SvEL=!fZC0fn_|?@TRKSED(Nf!#4?d<`$XvgWZASB@dMcX-$`;LD)wYM=UTtF=&T@Bt1@kMX$TD z?@!#3J>vr7&W1A4x#V!oJnHK*n0XY_7sy;6n8&$Vr^iVI>^`SS#(_~f4ZD}}xbgl~ zt(-W&Dua+^D_euEuc4FA6m#8#jDAAu z%5qAb{|B5U@X&)NaGLx(YYvZZdd zG3-9vRMMl@S(sYI&OJQ1vgKXptuMQ9{=&+h@blH9Q;${FgQwC|#yi&Ra<6E#_I_AW z;>rfxY-Q`*%Es#A+VbXCAP1slI@U`;dN!DylRYUxi|KfE2iJ&-2YNCH=OH8 zp3>v8ka*H{M4B8I&Gp1NQjPg!61P!-ew)O=|0tJRKI=8huxO_!ZeyrKbIGb0%=s3y}zHOLe7fvDzjNcr8 Date: Thu, 11 Apr 2013 15:25:47 +0800 Subject: [PATCH 03/13] Added Malay language translation (ms_MY) --- lang/ms_MY.mo | Bin 0 -> 5715 bytes lang/ms_MY.po | 328 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 328 insertions(+) create mode 100644 lang/ms_MY.mo create mode 100644 lang/ms_MY.po diff --git a/lang/ms_MY.mo b/lang/ms_MY.mo new file mode 100644 index 0000000000000000000000000000000000000000..bf444c056585a671b95a3939d7db2b3571acdb60 GIT binary patch literal 5715 zcma)~6B@*`3*$*_mwInaw!cYqBA*-0r&5 zeW$CdDpj{;((y5fAU+r&3gVM*5m8WIR1{HAF!(4$#UMT?fj~e(5Fz-Ts_vej4AEk% zzo}dIo_p^3tFv$1e$y+8>mv94+|RvFDFeTC6F*$~{YrfZJ^*E?3h#ik@GiItZ->u8 z{;8OsPrx1cID8q(``4hXdjrnGf57|T)GbOa!bNyDdwf`7{%@f8*JdioCxK`^X|l1;^#>ydM`pb$LFA|dj`tB7CIO~IoIoO z6TUfoK8sMX%Q}=e>cP*zFF`_GeIJUvA456suc73{>u?qR2~NUE4kK~00_EK6@CGPn zk?S~WG?E{R3C zL}$64;1;_t%LCVm5~>EpzMmdGi;W)Peu!KAEIvKUExr?b$R%+tu^@3TvG^$W1Kj7h zN7n*>h+V~3Vh_w+T*vr*kXvH&;bNqWL$NU?D|{xyVq3W+SLKpi5x*?S!@g^F__z3= z!7VYMxi4_fa4TI&?en=yZE##o%{-K;sZ2M!wr}-f+q)g(T^y-np-Iy@{Zts(RJY@P z-$p(=IGV&6LzR`l`Qz$r+j*xd+sq33`pf8&p*C~~dmE$>RkT0mk+;`(tFQ)CT+p$?gPi1PkYodoToZVY>28Iwe0+$z81Gp+z%RRIdn`B zbDTB0o7$~&liOy;WbM=?zR`7=kJCY|W!k;U@yYomc(!ilbu0HCr!AL$8Zpxb6STuP zvq6o)$h#=Ffm%+j!C9uTt!C>GUtEj{022k8BWmZxaxLtKCYi?@ZM~Hupja{z5RE;h zOXmy)ziRaCn&_goP^axZ#-U8SBP3$ z-?Sa78FPJViE9c9b1~PIywxYjM+wukp-sARWE-l<(M2&aV39vz9QUw7p+Vnux?XoB za9Y+zY}}7`Y;b}h{EwPaVsyKxM~tE~7WTHE#JEr*IVWcbUom)1wmMjJn-W#xU|E(> zZFb|73YZeSZ5&Y3D-@cv@Xq)xp}OPj?zl!H)_L4ni4(~n6CQ7I_YWK$|&yYX`+YPr&|Mc4Zj_Z=4&=n*RW$h=S(E(ffxu! zX;Z`_8x$uuqm$HR<@nnp7BRcVQNlX9AM;fz3Pepk>ykE)b%{|E;?V#nmXWlP#@iUK z`eac3yiGF+1YLxhUNT*i8NF^pGsq{X0CDQ8>siMI)up_XRhw}`Pi#EZtQK{Ph1Clf zu%TzCXJ)I@XR5Pj^vq0SmcLInnRF zo~cbwNbTnfRc#IuPT}nfzMh1}MRO9XDHZ?R)#hsT%-%dva?7UGl?dZX4bW#=&QCm3 z-H0vU`|2e-kl4)D_#!p*^*KUBq>gw!isNMN`t`Z%c5lrR1u8MV+t9UIo#7{JBwiFl zlv4Ff?R4$b_{5DvZW?c17J&^!Ri_cQx5K^{GrXuv=3#1^9XVxIri89Fp(?v(+qL$( zp$!{#OwYS5L-n$KGwORTQMF_w4NNx=^U?5P>Rr!S z^joIO!hX)@-h`&ljsrYS4QCIHscnkkdkj<9*J*+DRnIInTsd09%VB?%_FPMIfSewy z=#H9s&(Ltt67?v@`-%Vywk7(GY>=)NdcAAWf-1!gnWW6;i#7Oa=X^h+PRE2Ir?lDI4X zDX5*dOqs&WbiLd+)P;RnoET)#MPbFl<7GAvJEmc7593yH>VP&wjmuf@Zk*_z9H+|g zv-~+$kFEAUH`KZ@TPKJGQKe@SazVU1jEWk4W(UpdPh*yWq}`&FC68o2Qt2=xq+!~U z#%iQfQM3vJwb`2we$=7*ku_ma#uA6^y4d$bk$qB;XqC(fx=E9d!qV_{;I-*x{I9Sy zEtQe)mPri_=i#C}@-X4WD*iVWuql6*>DxncXb8}#rq?Cv#JPKeL;0kJ>#}Q4Dmw+C z$oWcwG!dwaMZE~qDH^<>Lo|0GJ5M`EM0>X%K*8fJ(z{gi}>gprOz z+a2b3lkdzZ;IEPR5`Y2Uny%%qo;w&GL7A0BiWM!@c)t#ZDH66kWsx;Sg{8vaT(T#^ T#CWaft1^eN\n" +"Language-Team: Hariadi Hinta \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: ../\n" +"X-Generator: Poedit 1.5.4\n" +"Language: Bahasa Melayu\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPath-1: ./templates\n" +"X-Poedit-SearchPath-2: ./lib\n" + +#: 404.php:5 +msgid "" +"The page you are looking for might have been removed, had its name changed, " +"or is temporarily unavailable." +msgstr "" +"Halaman yang anda cari mungkin telah dipindahkan, ditukar nama, atau tidak " +"dapat diakses untuk sementara." + +#: 404.php:8 +msgid "Please try the following:" +msgstr "Sila cuba yang berikut:" + +#: 404.php:10 +msgid "Check your spelling" +msgstr "Semak ejaan anda" + +#: 404.php:11 +#, php-format +msgid "Return to the home page" +msgstr "Kembali ke Halaman Utama" + +#: 404.php:12 +msgid "Click the Back button" +msgstr "Klik pautan Kembali" + +#: functions.php:28 +msgid "Primary Navigation" +msgstr "Menu Utama" + +#: lib/activation.php:32 lib/activation.php:33 +msgid "Theme Activation" +msgstr "Pengaktifan tema" + +#: lib/activation.php:72 +#, php-format +msgid "%s Theme Activation" +msgstr "%s Pengaktifan tema" + +#: lib/activation.php:87 lib/activation.php:89 +msgid "Create static front page?" +msgstr "Buat halaman depan statik?" + +#: lib/activation.php:91 lib/activation.php:104 lib/activation.php:117 +#: lib/activation.php:130 lib/activation.php:143 +msgid "Yes" +msgstr "Ya" + +#: lib/activation.php:92 lib/activation.php:105 lib/activation.php:118 +#: lib/activation.php:131 lib/activation.php:144 +msgid "No" +msgstr "Tidak" + +#: lib/activation.php:95 +msgid "Create a page called Home and set it to be the static front page" +msgstr "" +"Buat halaman dengan tajuk Home dan tetapkan ianya sebagai halaman depan " +"statik" + +#: lib/activation.php:100 +msgid "Change permalink structure?" +msgstr "Ubah struktur permalink?" + +#: lib/activation.php:102 +msgid "Update permalink structure?" +msgstr "Kemaskini struktur permalink?" + +#: lib/activation.php:108 +msgid "Change permalink structure to /%postname%/" +msgstr "Tukar struktur permalink menjadi /%postname%/" + +#: lib/activation.php:113 +msgid "Change uploads folder?" +msgstr "Tukar folder muat naik?" + +#: lib/activation.php:115 +msgid "Update uploads folder?" +msgstr "Kemaskini folder muat naik?" + +#: lib/activation.php:121 +msgid "Change uploads folder to /assets/ instead of /wp-content/uploads/" +msgstr "Tukar folder muat naik ke /assets/ berbanding /wp-content/uploads/" + +#: lib/activation.php:126 lib/activation.php:128 +msgid "Create navigation menu?" +msgstr "Buat menu navigasi?" + +#: lib/activation.php:134 +msgid "Create the Primary Navigation menu and set the location" +msgstr "Buat Menu Navigasi Utama dan tentukan lokasinya" + +#: lib/activation.php:139 lib/activation.php:141 +msgid "Add pages to menu?" +msgstr "Tambah halaman ke menu?" + +#: lib/activation.php:147 +msgid "Add all current published pages to the Primary Navigation" +msgstr "Tambah semua halaman yang sudah diterbitkan ke Menu Utama" + +#: lib/cleanup.php:404 +msgid "Continued" +msgstr "Teruskan" + +#: lib/htaccess.php:26 +#, php-format +msgid "Please make sure your .htaccess file is writable " +msgstr "" +"Sila pastikan .htaccess anda berkeupayaan untuk ditulis" + +#: lib/template-tags.php:5 +#, php-format +msgid "Posted on %s at %s." +msgstr "Diterbitkan pada %s %s" + +#: lib/template-tags.php:6 +msgid "Written by" +msgstr "Ditulis oleh" + +#: lib/widgets.php:6 +msgid "Primary Sidebar" +msgstr "Sidebar Utama" + +#: lib/widgets.php:14 +msgid "Footer" +msgstr "Footer" + +#: lib/widgets.php:30 +msgid "Use this widget to add a vCard" +msgstr "Gunakan widget ini untuk menambah vCard" + +#: lib/widgets.php:31 +msgid "Roots: vCard" +msgstr "Roots: vCard" + +#: lib/widgets.php:58 +msgid "vCard" +msgstr "vCard" + +#: lib/widgets.php:124 +msgid "Title (optional):" +msgstr "Tajuk (pilihan):" + +#: lib/widgets.php:128 +msgid "Street Address:" +msgstr "Alamat" + +#: lib/widgets.php:132 +msgid "City/Locality:" +msgstr "Bandar/Daerah:" + +#: lib/widgets.php:136 +msgid "State/Region:" +msgstr "Negeri/Wilayah:" + +#: lib/widgets.php:140 +msgid "Zipcode/Postal Code:" +msgstr "Poskod:" + +#: lib/widgets.php:144 +msgid "Telephone:" +msgstr "Telefon:" + +#: lib/widgets.php:148 +msgid "Email:" +msgstr "Emel:" + +#: templates/comments.php:7 +#, php-format +msgid "%s" +msgstr "%s" + +#: templates/comments.php:8 +#, php-format +msgid "%1$s" +msgstr "%1$s" + +#: templates/comments.php:9 +msgid "(Edit)" +msgstr "(Kemaskini)" + +#: templates/comments.php:15 +msgid "Your comment is awaiting moderation." +msgstr "Komen anda dalam senarai moderasi." + +#: templates/comments.php:32 +msgid "This post is password protected. Enter the password to view comments." +msgstr "" +"Artikel ini dilindungi dengan katalaluan. Masukkan katalaluan untuk melihat " +"komen." + +#: templates/comments.php:49 +msgid "← Older comments" +msgstr "← Komen terdahulu" + +#: templates/comments.php:50 +msgid "Newer comments →" +msgstr "Komentar seterusnya →" + +#: templates/comments.php:58 templates/comments.php:68 +msgid "Comments are closed." +msgstr "KOmen ditutup." + +#: templates/comments.php:75 +msgid "Leave a Reply" +msgstr "Tinggalkan Komen" + +#: templates/comments.php:75 +#, php-format +msgid "Leave a Reply to %s" +msgstr "Balasan untuk %s" + +#: templates/comments.php:78 +#, php-format +msgid "You must be logged in to post a comment." +msgstr "" +"Anda dikehendaki daftar masuk untuk menghantar komen." + +#: templates/comments.php:82 +#, php-format +msgid "Logged in as %s." +msgstr "Daftar masuk sebagai %s." + +#: templates/comments.php:82 +msgid "Log out of this account" +msgstr "Daftar keluar bagi akaun ini" + +#: templates/comments.php:82 +msgid "Log out »" +msgstr "Daftar keluar »" + +#: templates/comments.php:84 +msgid "Name" +msgstr "Nama" + +#: templates/comments.php:84 templates/comments.php:86 +msgid " (required)" +msgstr "(wajib)" + +#: templates/comments.php:86 +msgid "Email (will not be published)" +msgstr "Emel (tidak akan diterbitkan)" + +#: templates/comments.php:88 +msgid "Website" +msgstr "Laman Web" + +#: templates/comments.php:91 +msgid "Comment" +msgstr "Komen" + +#: templates/comments.php:93 +msgid "Submit Comment" +msgstr "Hantar Komen" + +#: templates/content-single.php:11 +msgid "Pages:" +msgstr "Halaman:" + +#: templates/content.php:4 +msgid "Sorry, no results were found." +msgstr "Maaf, tiada keputusan ditemui." + +#: templates/content.php:26 +msgid "← Older posts" +msgstr "← Artikel sebelumnya" + +#: templates/content.php:27 +msgid "Newer posts →" +msgstr "Artikel selanjutnya →" + +#: templates/page-header.php:8 +msgid "Latest Posts" +msgstr "Artikel Terbaru" + +#: templates/page-header.php:17 +#, php-format +msgid "Daily Archives: %s" +msgstr "Arkib Harian: %s" + +#: templates/page-header.php:19 +#, php-format +msgid "Monthly Archives: %s" +msgstr "Arkib Bulanan: %s" + +#: templates/page-header.php:21 +#, php-format +msgid "Yearly Archives: %s" +msgstr "Arkib Tahunan: %s" + +#: templates/page-header.php:25 +#, php-format +msgid "Author Archives: %s" +msgstr "Arkib Penulis: %s" + +#: templates/page-header.php:30 +#, php-format +msgid "Search Results for %s" +msgstr "Hasil Carian untuk %s" + +#: templates/page-header.php:32 +msgid "File Not Found" +msgstr "Fail tidak ditemui" + +#: templates/searchform.php:2 +msgid "Search for:" +msgstr "Carian untuk:" + +#: templates/searchform.php:3 templates/searchform.php:4 +msgid "Search" +msgstr "Cari" From 1df09d4852a692b291aa39f8c722456ae5f3871c Mon Sep 17 00:00:00 2001 From: Joel Kuzmarski Date: Sun, 14 Apr 2013 02:13:27 -0500 Subject: [PATCH 04/13] Re-Add Comment ID ooops --- lib/comments.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/comments.php b/lib/comments.php index c5c8d11..edc272e 100644 --- a/lib/comments.php +++ b/lib/comments.php @@ -28,7 +28,7 @@ class Roots_Walker_Comment extends Walker_Comment { extract($args, EXTR_SKIP); ?> -
  • > +
  • > Date: Tue, 30 Apr 2013 20:51:18 -0500 Subject: [PATCH 05/13] Rename page-custom.php to template-custom.php --- CHANGELOG.md | 1 + doc/lib.md | 2 +- doc/usage.md | 12 ++++++------ lib/config.php | 2 +- page-custom.php => template-custom.php | 0 5 files changed, 9 insertions(+), 8 deletions(-) rename page-custom.php => template-custom.php (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index c95b33d..622879b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ ### HEAD +* Rename page-custom.php to template-custom.php * Don't warn about unwritable htaccess if that option is disabled * Add missing collapse class for top navbar * Add comment template diff --git a/doc/lib.md b/doc/lib.md index 7a78d47..4a50400 100644 --- a/doc/lib.md +++ b/doc/lib.md @@ -29,7 +29,7 @@ If you don't want to use one of the features, either comment out the line or rem #### Define which pages shouldn't have the sidebar -`roots_display_sidebar()` is used to define which pages shouldn't get the sidebar. By default, the 404, front `front-page.php` and `page-custom.php` templates are full width. If you would like to remove the sidebar from additional pages, add in the appropriate conditional or page template name. +`roots_display_sidebar()` is used to define which pages shouldn't get the sidebar. By default, the 404, front `front-page.php` and `template-custom.php` templates are full width. If you would like to remove the sidebar from additional pages, add in the appropriate conditional or page template name. ### h5bp-htaccess diff --git a/doc/usage.md b/doc/usage.md index a41d0b6..84ad848 100755 --- a/doc/usage.md +++ b/doc/usage.md @@ -65,10 +65,10 @@ A basic Roots theme initially looks like this: ├── functions.php ├── index.php ├── page.php -├── page-custom.php ├── screenshot.png ├── single.php -└── style.css +├── style.css +└── template-custom.php ``` What follows is a general overview of each major part and how to use them. @@ -128,10 +128,6 @@ This file is used to serve all of the archive templates. This file is used to serve the page template. -### page-custom.php - -An example of a custom page template. By default, this page is full width and doesn't contain a sidebar as defined in `lib/config.php`'s `roots_sidebar()` function. - ### single.php This file is used to serve the single post template. @@ -139,3 +135,7 @@ This file is used to serve the single post template. ### style.css This file is used to tell WordPress that we're a theme. None of the actual CSS is contained in this file. + +### template-custom.php + +An example of a custom page template. By default, this page is full width and doesn't contain a sidebar as defined in `lib/config.php`'s `roots_sidebar()` function. diff --git a/lib/config.php b/lib/config.php index 7b8b724..9999198 100644 --- a/lib/config.php +++ b/lib/config.php @@ -64,7 +64,7 @@ function roots_display_sidebar() { * Any of these page templates that return true won't show the sidebar */ array( - 'page-custom.php' + 'template-custom.php' ) ); diff --git a/page-custom.php b/template-custom.php similarity index 100% rename from page-custom.php rename to template-custom.php From aa0311741d1914e7a656a216d3dd48d8a3acdc5e Mon Sep 17 00:00:00 2001 From: Ben Word Date: Tue, 30 Apr 2013 21:07:30 -0500 Subject: [PATCH 06/13] Accidentally removed with be2e203cc5b543f71c3ccc1bc950ac1bc0edfa97 --- lib/h5bp-htaccess | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/h5bp-htaccess b/lib/h5bp-htaccess index 343e0f4..1a2a61b 100644 --- a/lib/h5bp-htaccess +++ b/lib/h5bp-htaccess @@ -356,6 +356,13 @@ AddCharset utf-8 .atom .css .js .json .rss .vtt .xml Satisfy All +# Block access to WordPress files that reveal version information. + + Order allow,deny + Deny from all + Satisfy All + + # If your server is not already configured as such, the following directive # should be uncommented in order to set PHP's register_globals option to OFF. # This closes a major security hole that is abused by most XSS (cross-site From df0329f8d049ed8a9ea2b297231235a1281fa4b4 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Tue, 30 Apr 2013 21:13:06 -0500 Subject: [PATCH 07/13] Update to latest H5BP htaccess --- lib/h5bp-htaccess | 678 +++++++++++++++++++++++----------------------- 1 file changed, 336 insertions(+), 342 deletions(-) diff --git a/lib/h5bp-htaccess b/lib/h5bp-htaccess index 1a2a61b..8c9e6a9 100644 --- a/lib/h5bp-htaccess +++ b/lib/h5bp-htaccess @@ -22,206 +22,106 @@ ### the permalinks are flushed or set (see lib/htaccess.php) ### +# ############################################################################## +# # CROSS-ORIGIN RESOURCE SHARING (CORS) # +# ############################################################################## +# ------------------------------------------------------------------------------ +# | Cross-domain AJAX requests | +# ------------------------------------------------------------------------------ -# ---------------------------------------------------------------------- -# Better website experience for IE users -# ---------------------------------------------------------------------- - -# Force the latest IE version, in various cases when it may fall back to IE7 mode -# github.com/rails/rails/commit/123eb25#commitcomment-118920 -# Use ChromeFrame if it's installed for a better experience for the poor IE folk - - - Header set X-UA-Compatible "IE=edge,chrome=1" - # mod_headers can't match by content-type, but we don't want to send this header on *everything*... - - Header unset X-UA-Compatible - - - - -# ---------------------------------------------------------------------- -# Cross-domain AJAX requests -# ---------------------------------------------------------------------- - -# Serve cross-domain Ajax requests, disabled by default. -# enable-cors.org -# code.google.com/p/html5security/wiki/CrossOriginRequestSecurity - -# -# Header set Access-Control-Allow-Origin "*" -# - - -# ---------------------------------------------------------------------- -# CORS-enabled images (@crossorigin) -# ---------------------------------------------------------------------- - -# Send CORS headers if browsers request them; enabled by default for images. -# developer.mozilla.org/en/CORS_Enabled_Image -# blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html -# hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/ -# wiki.mozilla.org/Security/Reviews/crossoriginAttribute - - - - # mod_headers, y u no match by Content-Type?! - - SetEnvIf Origin ":" IS_CORS - Header set Access-Control-Allow-Origin "*" env=IS_CORS - - - - - -# ---------------------------------------------------------------------- -# Webfont access -# ---------------------------------------------------------------------- - -# Allow access from all domains for webfonts. -# Alternatively you could only whitelist your -# subdomains like "subdomain.example.com". - - - - Header set Access-Control-Allow-Origin "*" - - - - -# ---------------------------------------------------------------------- -# Proper MIME type for all files -# ---------------------------------------------------------------------- - -# JavaScript -# Normalize to standard type (it's sniffed in IE anyways) -# tools.ietf.org/html/rfc4329#section-7.2 -AddType application/javascript js jsonp -AddType application/json json - -# Audio -AddType audio/mp4 m4a f4a f4b -AddType audio/ogg oga ogg - -# Video -AddType video/mp4 mp4 m4v f4v f4p -AddType video/ogg ogv -AddType video/webm webm -AddType video/x-flv flv - -# SVG -# Required for svg webfonts on iPad -# twitter.com/FontSquirrel/status/14855840545 -AddType image/svg+xml svg svgz -AddEncoding gzip svgz - -# Webfonts -AddType application/font-woff woff -AddType application/vnd.ms-fontobject eot -AddType application/x-font-ttf ttf ttc -AddType font/opentype otf - -# Assorted types -AddType application/octet-stream safariextz -AddType application/x-chrome-extension crx -AddType application/x-opera-extension oex -AddType application/x-shockwave-flash swf -AddType application/x-web-app-manifest+json webapp -AddType application/x-xpinstall xpi -AddType application/xml rss atom xml rdf -AddType image/webp webp -AddType image/x-icon ico -AddType text/cache-manifest appcache manifest -AddType text/vtt vtt -AddType text/x-component htc -AddType text/x-vcard vcf - - -# ---------------------------------------------------------------------- -# Allow concatenation from within specific js and css files -# ---------------------------------------------------------------------- - -# e.g. Inside of script.combined.js you could have -# -# -# and they would be included into this single file. - -# This is not in use in the boilerplate as it stands. You may -# choose to use this technique if you do not have a build process. - -# -# Options +Includes -# AddOutputFilterByType INCLUDES application/javascript application/json -# SetOutputFilter INCLUDES -# - -# -# Options +Includes -# AddOutputFilterByType INCLUDES text/css -# SetOutputFilter INCLUDES -# - - -# ---------------------------------------------------------------------- -# Gzip compression -# ---------------------------------------------------------------------- - - - - # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/ - - - SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding - RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding - - - - # Compress all output labeled with one of the following MIME-types - # (for Apache versions below 2.3.7, you don't need to enable `mod_filter` - # and can remove the `` and `` lines as - # `AddOutputFilterByType` is still in the core directives) - - AddOutputFilterByType DEFLATE application/atom+xml \ - application/javascript \ - application/json \ - application/rss+xml \ - application/vnd.ms-fontobject \ - application/x-font-ttf \ - application/xhtml+xml \ - application/xml \ - font/opentype \ - image/svg+xml \ - image/x-icon \ - text/css \ - text/html \ - text/plain \ - text/x-component \ - text/xml - - - - - -# ---------------------------------------------------------------------- -# Prevent mobile network providers from modifying your site -# ---------------------------------------------------------------------- - -# The following header prevents modification of your code over 3G on some -# European providers. -# This is the official 'bypass' suggested by O2 in the UK. +# Enable cross-origin AJAX requests. +# http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity +# http://enable-cors.org/ # -# Header set Cache-Control "no-transform" +# Header set Access-Control-Allow-Origin "*" # +# ------------------------------------------------------------------------------ +# | CORS-enabled images | +# ------------------------------------------------------------------------------ -# ---------------------------------------------------------------------- -# Stop screen flicker in IE on CSS rollovers -# ---------------------------------------------------------------------- +# Send the CORS header for images when browsers request it. +# https://developer.mozilla.org/en/CORS_Enabled_Image +# http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html +# http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/ -# The following directives stop screen flicker in IE on CSS rollovers - in -# combination with the "ExpiresByType" rules for images (see above). + + + + SetEnvIf Origin ":" IS_CORS + Header set Access-Control-Allow-Origin "*" env=IS_CORS + + + + +# ------------------------------------------------------------------------------ +# | Web fonts access | +# ------------------------------------------------------------------------------ + +# Allow access from all domains for web fonts + + + + Header set Access-Control-Allow-Origin "*" + + + + +# ############################################################################## +# # ERRORS # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | 404 error prevention for non-existing redirected folders | +# ------------------------------------------------------------------------------ + +# Prevent Apache from returning a 404 error for a rewrite if a directory +# with the same name does not exist. +# http://httpd.apache.org/docs/current/content-negotiation.html#multiviews +# http://www.webmasterworld.com/apache/3808792.htm + +# Options -MultiViews + + +# ############################################################################## +# # INTERNET EXPLORER # +# ############################################################################## + +# ------------------------------------------------------------------------------ +# | Better website experience | +# ------------------------------------------------------------------------------ + +# Force IE to render pages in the highest available mode in the various +# cases when it may not: http://hsivonen.iki.fi/doctype/ie-mode.pdf. +# Use, if installed, Google Chrome Frame. + + + Header set X-UA-Compatible "IE=edge,chrome=1" + # `mod_headers` can't match based on the content-type, however, we only + # want to send this header for HTML pages and not for the other resources + + Header unset X-UA-Compatible + + + +# ------------------------------------------------------------------------------ +# | Cookie setting from iframes | +# ------------------------------------------------------------------------------ + +# Allow cookies to be set from iframes in IE. + +# +# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"" +# + +# ------------------------------------------------------------------------------ +# | Screen flicker | +# ------------------------------------------------------------------------------ + +# Stop screen flicker in IE on CSS rollovers (this only works in +# combination with the `ExpiresByType` directives for images from below). # BrowserMatch "MSIE" brokenvary=1 # BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1 @@ -229,199 +129,293 @@ AddType text/x-vcard vcf # SetEnvIf brokenvary 1 force-no-vary -# ---------------------------------------------------------------------- -# Set Keep-Alive Header -# ---------------------------------------------------------------------- +# ############################################################################## +# # MIME TYPES AND ENCODING # +# ############################################################################## -# Keep-Alive allows the server to send multiple requests through one -# TCP-connection. Be aware of possible disadvantages of this setting. Turn on -# if you serve a lot of static content. +# ------------------------------------------------------------------------------ +# | Proper MIME types for all files | +# ------------------------------------------------------------------------------ -# -# Header set Connection Keep-Alive -# + + # Audio + AddType audio/mp4 m4a f4a f4b + AddType audio/ogg oga ogg -# ---------------------------------------------------------------------- -# Cookie setting from iframes -# ---------------------------------------------------------------------- + # JavaScript + # Normalize to standard type (it's sniffed in IE anyways): + # http://tools.ietf.org/html/rfc4329#section-7.2 + AddType application/javascript js jsonp + AddType application/json json -# Allow cookies to be set from iframes (for IE only) -# If needed, specify a path or regex in the Location directive. + # Video + AddType video/mp4 mp4 m4v f4v f4p + AddType video/ogg ogv + AddType video/webm webm + AddType video/x-flv flv -# -# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"" -# + # Web fonts + AddType application/font-woff woff + AddType application/vnd.ms-fontobject eot + # Browsers usually ignore the font MIME types and sniff the content, + # however, Chrome shows a warning if other MIME types are used for the + # following fonts. + AddType application/x-font-ttf ttc ttf + AddType font/opentype otf -# ---------------------------------------------------------------------- -# Built-in filename-based cache busting -# ---------------------------------------------------------------------- + # Make SVGZ fonts work on iPad: + # https://twitter.com/FontSquirrel/status/14855840545 + AddType image/svg+xml svg svgz + AddEncoding gzip svgz -# If you're not using the build script to manage your filename version revving, -# you might want to consider enabling this, which will route requests for -# `/css/style.20110203.css` to `/css/style.css`. + # Other + AddType application/octet-stream safariextz + AddType application/x-chrome-extension crx + AddType application/x-opera-extension oex + AddType application/x-shockwave-flash swf + AddType application/x-web-app-manifest+json webapp + AddType application/x-xpinstall xpi + AddType application/xml atom rdf rss xml + AddType image/webp webp + AddType image/x-icon ico + AddType text/cache-manifest appcache manifest + AddType text/vtt vtt + AddType text/x-component htc + AddType text/x-vcard vcf -# To understand why this is important and a better idea than all.css?v1231, -# please refer to the bundled documentation about `.htaccess`. + -# -# RewriteCond %{REQUEST_FILENAME} !-f -# RewriteCond %{REQUEST_FILENAME} !-d -# RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L] -# +# ------------------------------------------------------------------------------ +# | UTF-8 encoding | +# ------------------------------------------------------------------------------ - -# ---------------------------------------------------------------------- -# Prevent SSL cert warnings -# ---------------------------------------------------------------------- - -# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent -# https://www.example.com when your cert only allows https://secure.example.com - -# -# RewriteCond %{SERVER_PORT} !^443 -# RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L] -# - - -# ---------------------------------------------------------------------- -# Force client-side SSL redirection -# ---------------------------------------------------------------------- - -# If a user types "example.com" in her browser, the above rule will redirect her -# to the secure version of the site. That still leaves a window of opportunity -# (the initial HTTP connection) for an attacker to downgrade or redirect the -# request. The following header ensures that browser will **only** connect to -# your server via HTTPS, regardless of what users type in the address bar. - -# -# Header set Strict-Transport-Security max-age=16070400; -# - - -# ---------------------------------------------------------------------- -# Prevent 404 errors for non-existing redirected folders -# ---------------------------------------------------------------------- - -# without -MultiViews, Apache will give a 404 for a rewrite if a folder of the -# same name does not exist. -# webmasterworld.com/apache/3808792.htm - -# Options -MultiViews - - -# ---------------------------------------------------------------------- -# UTF-8 encoding -# ---------------------------------------------------------------------- - -# Use UTF-8 encoding for anything served text/plain or text/html +# Use UTF-8 encoding for anything served as `text/html` or `text/plain`. AddDefaultCharset utf-8 -# Force UTF-8 for a number of file formats -AddCharset utf-8 .atom .css .js .json .rss .vtt .xml +# Force UTF-8 for certain file formats. + + AddCharset utf-8 .atom .css .js .json .rss .vtt .webapp .xml + -# ---------------------------------------------------------------------- -# A little more security -# ---------------------------------------------------------------------- +# ############################################################################## +# # SECURITY # +# ############################################################################## -# To avoid displaying the exact version number of Apache being used, add the -# following to httpd.conf (it will not work in .htaccess): -# ServerTokens Prod +# ------------------------------------------------------------------------------ +# | Content Security Policy (CSP) | +# ------------------------------------------------------------------------------ + +# You can mitigate the risk of cross-site scripting and other content-injection +# attacks by setting a Content Security Policy which whitelists trusted sources +# of content for your site. + +# The example header below allows ONLY scripts that are loaded from the current +# site's origin (no inline scripts, no CDN, etc). This almost certainly won't +# work as-is for your site! + +# To get all the details you'll need to craft a reasonable policy for your site, +# read: http://html5rocks.com/en/tutorials/security/content-security-policy (or +# see the specification: http://w3.org/TR/CSP). + +# +# Header set Content-Security-Policy "script-src 'self'; object-src 'self'" +# +# Header unset Content-Security-Policy +# +# + +# ------------------------------------------------------------------------------ +# | File access | +# ------------------------------------------------------------------------------ + +# Block access to directories without a default document. +# Usually you should leave this uncommented because you shouldn't allow anyone +# to surf through every directory on your server (which may includes rather +# private places like the CMS's directories). -# "-Indexes" will have Apache block users from browsing folders without a -# default document Usually you should leave this activated, because you -# shouldn't allow everybody to surf through every folder on your server (which -# includes rather private places like CMS system folders). - Options -Indexes + Options -Indexes -# Block access to "hidden" directories or files whose names begin with a -# period. This includes directories used by version control systems such as -# Subversion or Git. +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to hidden files and directories. +# This includes directories used by version control systems such as Git and SVN. + - RewriteCond %{SCRIPT_FILENAME} -d [OR] - RewriteCond %{SCRIPT_FILENAME} -f - RewriteRule "(^|/)\." - [F] + RewriteCond %{SCRIPT_FILENAME} -d [OR] + RewriteCond %{SCRIPT_FILENAME} -f + RewriteRule "(^|/)\." - [F] -# Block access to backup and source files. These files may be left by some -# text/html editors and pose a great security danger, when anyone can access -# them. - - Order allow,deny - Deny from all - Satisfy All +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +# Block access to backup and source files. +# These files may be left by some text editors and can pose a great security +# danger when anyone has access to them. + + + Order allow,deny + Deny from all + Satisfy All # Block access to WordPress files that reveal version information. - Order allow,deny - Deny from all - Satisfy All + Order allow,deny + Deny from all + Satisfy All -# If your server is not already configured as such, the following directive -# should be uncommented in order to set PHP's register_globals option to OFF. -# This closes a major security hole that is abused by most XSS (cross-site -# scripting) attacks. For more information: http://php.net/register_globals -# -# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS: -# -# Your server does not allow PHP directives to be set via .htaccess. In that -# case you must make this change in your php.ini file instead. If you are -# using a commercial web host, contact the administrators for assistance in -# doing this. Not all servers allow local php.ini files, and they should -# include all PHP configurations (not just this one), or you will effectively -# reset everything to PHP defaults. Consult www.php.net for more detailed -# information about setting PHP directives. +# ------------------------------------------------------------------------------ +# | Secure Sockets Layer (SSL) | +# ------------------------------------------------------------------------------ -# php_flag register_globals Off +# Rewrite secure requests properly to prevent SSL certificate warnings, e.g.: +# prevent `https://www.example.com` when your certificate only allows +# `https://secure.example.com`. -# Rename session cookie to something else, than PHPSESSID -# php_value session.name sid +# +# RewriteCond %{SERVER_PORT} !^443 +# RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L] +# -# Disable magic quotes (This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.) -# php_flag magic_quotes_gpc Off +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Do not show you are using PHP -# Note: Move this line to php.ini since it won't work in .htaccess -# php_flag expose_php Off +# Force client-side SSL redirection. -# Level of log detail - log all errors -# php_value error_reporting -1 +# If a user types "example.com" in his browser, the above rule will redirect him +# to the secure version of the site. That still leaves a window of opportunity +# (the initial HTTP connection) for an attacker to downgrade or redirect the +# request. The following header ensures that browser will ONLY connect to your +# server via HTTPS, regardless of what the users type in the address bar. +# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/ -# Write errors to log file -# php_flag log_errors On +# +# Header set Strict-Transport-Security max-age=16070400; +# -# Do not display errors in browser (production - Off, development - On) -# php_flag display_errors Off +# ------------------------------------------------------------------------------ +# | Server software information | +# ------------------------------------------------------------------------------ -# Do not display startup errors (production - Off, development - On) -# php_flag display_startup_errors Off +# Avoid displaying the exact Apache version number, the description of the +# generic OS-type and the information about Apache's compiled-in modules. -# Format errors in plain text -# Note: Leave this setting 'On' for xdebug's var_dump() output -# php_flag html_errors Off +# ADD THIS DIRECTIVE IN THE `httpd.conf` AS IT WILL NOT WORK IN THE `.htaccess`! -# Show multiple occurrence of error -# php_flag ignore_repeated_errors Off +# ServerTokens Prod -# Show same errors from different sources -# php_flag ignore_repeated_source Off -# Size limit for error messages -# php_value log_errors_max_len 1024 +# ############################################################################## +# # WEB PERFORMANCE # +# ############################################################################## -# Don't precede error with string (doesn't accept empty string, use whitespace if you need) -# php_value error_prepend_string " " +# ------------------------------------------------------------------------------ +# | Compression | +# ------------------------------------------------------------------------------ -# Don't prepend to error (doesn't accept empty string, use whitespace if you need) -# php_value error_append_string " " + + + # Force compression for mangled headers. + # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping + + + SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding + RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding + + + + # Compress all output labeled with one of the following MIME-types + # (for Apache versions below 2.3.7, you don't need to enable `mod_filter` + # and can remove the `` and `` lines + # as `AddOutputFilterByType` is still in the core directives). + + AddOutputFilterByType DEFLATE application/atom+xml \ + application/javascript \ + application/json \ + application/rss+xml \ + application/vnd.ms-fontobject \ + application/x-font-ttf \ + application/x-web-app-manifest+json \ + application/xhtml+xml \ + application/xml \ + font/opentype \ + image/svg+xml \ + image/x-icon \ + text/css \ + text/html \ + text/plain \ + text/x-component \ + text/xml + -# Increase cookie security - - php_value session.cookie_httponly true + +# ------------------------------------------------------------------------------ +# | Content transformations | +# ------------------------------------------------------------------------------ + +# Prevent some of the mobile network providers from modifying the content of +# your site: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5. + +# +# Header set Cache-Control "no-transform" +# + +# ------------------------------------------------------------------------------ +# | Filename-based cache busting | +# ------------------------------------------------------------------------------ + +# If you're not using a build process to manage your filename version revving, +# you might want to consider enabling the following directives to route all +# requests such as `/css/style.12345.css` to `/css/style.css`. + +# To understand why this is important and a better idea than `*.css?v231`, read: +# http://stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring + +# +# RewriteCond %{REQUEST_FILENAME} !-f +# RewriteCond %{REQUEST_FILENAME} !-d +# RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L] +# + +# ------------------------------------------------------------------------------ +# | File concatenation | +# ------------------------------------------------------------------------------ + +# Allow concatenation from within specific CSS and JS files, e.g.: +# Inside of `script.combined.js` you could have +# +# +# and they would be included into this single file. + +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES application/javascript application/json +# SetOutputFilter INCLUDES +# +# +# Options +Includes +# AddOutputFilterByType INCLUDES text/css +# SetOutputFilter INCLUDES +# +# + +# ------------------------------------------------------------------------------ +# | Persistent connections | +# ------------------------------------------------------------------------------ + +# Allow multiple requests to be sent over the same TCP connection: +# http://httpd.apache.org/docs/current/en/mod/core.html#keepalive. + +# Enable if you serve a lot of static content but, be aware of the +# possible disadvantages! + +# +# Header set Connection Keep-Alive +# From cab26194a389384406c9075ce1d2640c90c26f7c Mon Sep 17 00:00:00 2001 From: Ben Word Date: Tue, 30 Apr 2013 21:35:18 -0500 Subject: [PATCH 08/13] Move HTML5 Boilerplate's .htaccess to a plugin https://github.com/retlehs/wp-h5bp-htaccess --- CHANGELOG.md | 1 + README.md | 2 +- doc/lib.md | 16 -- doc/rewrites.md | 2 - doc/usage.md | 2 - functions.php | 1 - lib/config.php | 1 - lib/h5bp-htaccess | 421 ---------------------------------------------- lib/htaccess.php | 26 --- lib/utils.php | 14 -- 10 files changed, 2 insertions(+), 484 deletions(-) delete mode 100644 lib/h5bp-htaccess delete mode 100644 lib/htaccess.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 622879b..f82a5f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ ### HEAD +* Move HTML5 Boilerplate's .htaccess to a [plugin](https://github.com/retlehs/wp-h5bp-htaccess) * Rename page-custom.php to template-custom.php * Don't warn about unwritable htaccess if that option is disabled * Add missing collapse class for top navbar diff --git a/README.md b/README.md index ae68a5d..251ab02 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Take a look at the [documentation table of contents](doc/TOC.md). ## Features -* HTML5 Boilerplate’s markup and `.htaccess` +* HTML5 Boilerplate’s markup * Bootstrap from Twitter * [Theme wrapper](doc/wrapper.md) * Root relative URLs diff --git a/doc/lib.md b/doc/lib.md index 4a50400..f0ba1d4 100644 --- a/doc/lib.md +++ b/doc/lib.md @@ -31,22 +31,6 @@ If you don't want to use one of the features, either comment out the line or rem `roots_display_sidebar()` is used to define which pages shouldn't get the sidebar. By default, the 404, front `front-page.php` and `template-custom.php` templates are full width. If you would like to remove the sidebar from additional pages, add in the appropriate conditional or page template name. -### h5bp-htaccess - -This file contains HTML5 Boilerplate's `.htaccess` which is automatically added by `htaccess.php` if enabled in `config.php`. There are a few changes to the H5BP version: - -* Added block to access WordPress files that reveal version information (`wp-config.php`, `readme.html`, `license.txt`) -* Commented out expires headers (we recommend the use of [W3 Total Cache](http://wordpress.org/extend/plugins/w3-total-cache/)) -* Commented out ETag removal (we recommend the use of [W3 Total Cache](http://wordpress.org/extend/plugins/w3-total-cache/)) -* Commented out start rewrite engine (handled by WordPress) -* Commented out suppress/force www (handled by WordPress) -* Commented out `Options -MultiViews` (causes a server 500 error on most shared hosts) -* Commented out custom 404 page (handled by WordPress) - -### htaccess.php - -This file handles the HTML5 Boilerplate `.htaccess`. - ### init.php This file runs the initial theme setup and defines helper constants for later use diff --git a/doc/rewrites.md b/doc/rewrites.md index dec00b7..2728b03 100644 --- a/doc/rewrites.md +++ b/doc/rewrites.md @@ -12,8 +12,6 @@ Rewrite: 3. `/wp-content/themes/themename/assets/img/` to `/assets/img/` 4. `/wp-content/plugins/` -> `/plugins/` -If HTML5 Boilerplate's `.htaccess` support is enabled in `lib/config.php`, then the `generate_rewrite_rules()` filter is used to automatically add the contents of `lib/h5bp-htaccess` to your `.htaccess` file. - ## Alternative server configurations ### Nginx diff --git a/doc/usage.md b/doc/usage.md index 84ad848..12ba501 100755 --- a/doc/usage.md +++ b/doc/usage.md @@ -38,8 +38,6 @@ A basic Roots theme initially looks like this: │ ├── cleanup.php │ ├── config.php │ ├── custom.php -│ ├── h5bp-htaccess -│ ├── htaccess.php │ ├── init.php │ ├── nav.php │ ├── rewrites.php diff --git a/functions.php b/functions.php index fef4745..8a6ff6a 100644 --- a/functions.php +++ b/functions.php @@ -11,7 +11,6 @@ require_once locate_template('/lib/cleanup.php'); // Cleanup require_once locate_template('/lib/nav.php'); // Custom nav modifications require_once locate_template('/lib/comments.php'); // Custom comments modifications require_once locate_template('/lib/rewrites.php'); // URL rewriting for assets -require_once locate_template('/lib/htaccess.php'); // HTML5 Boilerplate .htaccess require_once locate_template('/lib/widgets.php'); // Sidebars and widgets require_once locate_template('/lib/scripts.php'); // Scripts and stylesheets require_once locate_template('/lib/custom.php'); // Custom functions diff --git a/lib/config.php b/lib/config.php index 9999198..a2c3caa 100644 --- a/lib/config.php +++ b/lib/config.php @@ -4,7 +4,6 @@ */ add_theme_support('root-relative-urls'); // Enable relative URLs add_theme_support('rewrites'); // Enable URL rewrites -add_theme_support('h5bp-htaccess'); // Enable HTML5 Boilerplate's .htaccess add_theme_support('bootstrap-top-navbar'); // Enable Bootstrap's top navbar add_theme_support('bootstrap-gallery'); // Enable Bootstrap's thumbnails component on [gallery] add_theme_support('nice-search'); // Enable /?s= to /search/ redirect diff --git a/lib/h5bp-htaccess b/lib/h5bp-htaccess deleted file mode 100644 index 8c9e6a9..0000000 --- a/lib/h5bp-htaccess +++ /dev/null @@ -1,421 +0,0 @@ -# BEGIN HTML5 Boilerplate - -### -### This contains the HTML5 Boilerplate .htaccess that can be found at: -### https://github.com/h5bp/server-configs/blob/master/apache/.htaccess -### -### Added: -### Block access to WordPress files that reveal version information. -### -### Removed: -### Expires headers: Use W3 Total Cache -### ETag removal: Use W3 Total Cache -### Start rewrite engine: Handled by WordPress -### Suppress/force www: Handled by WordPress -### Custom 404 page: Handled by WordPress -### -### Commmented out by default: -### Options -MultiViews: Causes a server 500 error on most shared hosts -### -### Anytime you update this file the .htaccess file in the root of your -### WordPress install is automatically updated with the changes whenever -### the permalinks are flushed or set (see lib/htaccess.php) -### - -# ############################################################################## -# # CROSS-ORIGIN RESOURCE SHARING (CORS) # -# ############################################################################## - -# ------------------------------------------------------------------------------ -# | Cross-domain AJAX requests | -# ------------------------------------------------------------------------------ - -# Enable cross-origin AJAX requests. -# http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity -# http://enable-cors.org/ - -# -# Header set Access-Control-Allow-Origin "*" -# - -# ------------------------------------------------------------------------------ -# | CORS-enabled images | -# ------------------------------------------------------------------------------ - -# Send the CORS header for images when browsers request it. -# https://developer.mozilla.org/en/CORS_Enabled_Image -# http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html -# http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/ - - - - - SetEnvIf Origin ":" IS_CORS - Header set Access-Control-Allow-Origin "*" env=IS_CORS - - - - -# ------------------------------------------------------------------------------ -# | Web fonts access | -# ------------------------------------------------------------------------------ - -# Allow access from all domains for web fonts - - - - Header set Access-Control-Allow-Origin "*" - - - - -# ############################################################################## -# # ERRORS # -# ############################################################################## - -# ------------------------------------------------------------------------------ -# | 404 error prevention for non-existing redirected folders | -# ------------------------------------------------------------------------------ - -# Prevent Apache from returning a 404 error for a rewrite if a directory -# with the same name does not exist. -# http://httpd.apache.org/docs/current/content-negotiation.html#multiviews -# http://www.webmasterworld.com/apache/3808792.htm - -# Options -MultiViews - - -# ############################################################################## -# # INTERNET EXPLORER # -# ############################################################################## - -# ------------------------------------------------------------------------------ -# | Better website experience | -# ------------------------------------------------------------------------------ - -# Force IE to render pages in the highest available mode in the various -# cases when it may not: http://hsivonen.iki.fi/doctype/ie-mode.pdf. -# Use, if installed, Google Chrome Frame. - - - Header set X-UA-Compatible "IE=edge,chrome=1" - # `mod_headers` can't match based on the content-type, however, we only - # want to send this header for HTML pages and not for the other resources - - Header unset X-UA-Compatible - - - -# ------------------------------------------------------------------------------ -# | Cookie setting from iframes | -# ------------------------------------------------------------------------------ - -# Allow cookies to be set from iframes in IE. - -# -# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"" -# - -# ------------------------------------------------------------------------------ -# | Screen flicker | -# ------------------------------------------------------------------------------ - -# Stop screen flicker in IE on CSS rollovers (this only works in -# combination with the `ExpiresByType` directives for images from below). - -# BrowserMatch "MSIE" brokenvary=1 -# BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1 -# BrowserMatch "Opera" !brokenvary -# SetEnvIf brokenvary 1 force-no-vary - - -# ############################################################################## -# # MIME TYPES AND ENCODING # -# ############################################################################## - -# ------------------------------------------------------------------------------ -# | Proper MIME types for all files | -# ------------------------------------------------------------------------------ - - - - # Audio - AddType audio/mp4 m4a f4a f4b - AddType audio/ogg oga ogg - - # JavaScript - # Normalize to standard type (it's sniffed in IE anyways): - # http://tools.ietf.org/html/rfc4329#section-7.2 - AddType application/javascript js jsonp - AddType application/json json - - # Video - AddType video/mp4 mp4 m4v f4v f4p - AddType video/ogg ogv - AddType video/webm webm - AddType video/x-flv flv - - # Web fonts - AddType application/font-woff woff - AddType application/vnd.ms-fontobject eot - - # Browsers usually ignore the font MIME types and sniff the content, - # however, Chrome shows a warning if other MIME types are used for the - # following fonts. - AddType application/x-font-ttf ttc ttf - AddType font/opentype otf - - # Make SVGZ fonts work on iPad: - # https://twitter.com/FontSquirrel/status/14855840545 - AddType image/svg+xml svg svgz - AddEncoding gzip svgz - - # Other - AddType application/octet-stream safariextz - AddType application/x-chrome-extension crx - AddType application/x-opera-extension oex - AddType application/x-shockwave-flash swf - AddType application/x-web-app-manifest+json webapp - AddType application/x-xpinstall xpi - AddType application/xml atom rdf rss xml - AddType image/webp webp - AddType image/x-icon ico - AddType text/cache-manifest appcache manifest - AddType text/vtt vtt - AddType text/x-component htc - AddType text/x-vcard vcf - - - -# ------------------------------------------------------------------------------ -# | UTF-8 encoding | -# ------------------------------------------------------------------------------ - -# Use UTF-8 encoding for anything served as `text/html` or `text/plain`. -AddDefaultCharset utf-8 - -# Force UTF-8 for certain file formats. - - AddCharset utf-8 .atom .css .js .json .rss .vtt .webapp .xml - - - -# ############################################################################## -# # SECURITY # -# ############################################################################## - -# ------------------------------------------------------------------------------ -# | Content Security Policy (CSP) | -# ------------------------------------------------------------------------------ - -# You can mitigate the risk of cross-site scripting and other content-injection -# attacks by setting a Content Security Policy which whitelists trusted sources -# of content for your site. - -# The example header below allows ONLY scripts that are loaded from the current -# site's origin (no inline scripts, no CDN, etc). This almost certainly won't -# work as-is for your site! - -# To get all the details you'll need to craft a reasonable policy for your site, -# read: http://html5rocks.com/en/tutorials/security/content-security-policy (or -# see the specification: http://w3.org/TR/CSP). - -# -# Header set Content-Security-Policy "script-src 'self'; object-src 'self'" -# -# Header unset Content-Security-Policy -# -# - -# ------------------------------------------------------------------------------ -# | File access | -# ------------------------------------------------------------------------------ - -# Block access to directories without a default document. -# Usually you should leave this uncommented because you shouldn't allow anyone -# to surf through every directory on your server (which may includes rather -# private places like the CMS's directories). - - - Options -Indexes - - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Block access to hidden files and directories. -# This includes directories used by version control systems such as Git and SVN. - - - RewriteCond %{SCRIPT_FILENAME} -d [OR] - RewriteCond %{SCRIPT_FILENAME} -f - RewriteRule "(^|/)\." - [F] - - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Block access to backup and source files. -# These files may be left by some text editors and can pose a great security -# danger when anyone has access to them. - - - Order allow,deny - Deny from all - Satisfy All - - -# Block access to WordPress files that reveal version information. - - Order allow,deny - Deny from all - Satisfy All - - -# ------------------------------------------------------------------------------ -# | Secure Sockets Layer (SSL) | -# ------------------------------------------------------------------------------ - -# Rewrite secure requests properly to prevent SSL certificate warnings, e.g.: -# prevent `https://www.example.com` when your certificate only allows -# `https://secure.example.com`. - -# -# RewriteCond %{SERVER_PORT} !^443 -# RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L] -# - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Force client-side SSL redirection. - -# If a user types "example.com" in his browser, the above rule will redirect him -# to the secure version of the site. That still leaves a window of opportunity -# (the initial HTTP connection) for an attacker to downgrade or redirect the -# request. The following header ensures that browser will ONLY connect to your -# server via HTTPS, regardless of what the users type in the address bar. -# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/ - -# -# Header set Strict-Transport-Security max-age=16070400; -# - -# ------------------------------------------------------------------------------ -# | Server software information | -# ------------------------------------------------------------------------------ - -# Avoid displaying the exact Apache version number, the description of the -# generic OS-type and the information about Apache's compiled-in modules. - -# ADD THIS DIRECTIVE IN THE `httpd.conf` AS IT WILL NOT WORK IN THE `.htaccess`! - -# ServerTokens Prod - - -# ############################################################################## -# # WEB PERFORMANCE # -# ############################################################################## - -# ------------------------------------------------------------------------------ -# | Compression | -# ------------------------------------------------------------------------------ - - - - # Force compression for mangled headers. - # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping - - - SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding - RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding - - - - # Compress all output labeled with one of the following MIME-types - # (for Apache versions below 2.3.7, you don't need to enable `mod_filter` - # and can remove the `` and `` lines - # as `AddOutputFilterByType` is still in the core directives). - - AddOutputFilterByType DEFLATE application/atom+xml \ - application/javascript \ - application/json \ - application/rss+xml \ - application/vnd.ms-fontobject \ - application/x-font-ttf \ - application/x-web-app-manifest+json \ - application/xhtml+xml \ - application/xml \ - font/opentype \ - image/svg+xml \ - image/x-icon \ - text/css \ - text/html \ - text/plain \ - text/x-component \ - text/xml - - - - -# ------------------------------------------------------------------------------ -# | Content transformations | -# ------------------------------------------------------------------------------ - -# Prevent some of the mobile network providers from modifying the content of -# your site: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5. - -# -# Header set Cache-Control "no-transform" -# - -# ------------------------------------------------------------------------------ -# | Filename-based cache busting | -# ------------------------------------------------------------------------------ - -# If you're not using a build process to manage your filename version revving, -# you might want to consider enabling the following directives to route all -# requests such as `/css/style.12345.css` to `/css/style.css`. - -# To understand why this is important and a better idea than `*.css?v231`, read: -# http://stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring - -# -# RewriteCond %{REQUEST_FILENAME} !-f -# RewriteCond %{REQUEST_FILENAME} !-d -# RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L] -# - -# ------------------------------------------------------------------------------ -# | File concatenation | -# ------------------------------------------------------------------------------ - -# Allow concatenation from within specific CSS and JS files, e.g.: -# Inside of `script.combined.js` you could have -# -# -# and they would be included into this single file. - -# -# -# Options +Includes -# AddOutputFilterByType INCLUDES application/javascript application/json -# SetOutputFilter INCLUDES -# -# -# Options +Includes -# AddOutputFilterByType INCLUDES text/css -# SetOutputFilter INCLUDES -# -# - -# ------------------------------------------------------------------------------ -# | Persistent connections | -# ------------------------------------------------------------------------------ - -# Allow multiple requests to be sent over the same TCP connection: -# http://httpd.apache.org/docs/current/en/mod/core.html#keepalive. - -# Enable if you serve a lot of static content but, be aware of the -# possible disadvantages! - -# -# Header set Connection Keep-Alive -# diff --git a/lib/htaccess.php b/lib/htaccess.php deleted file mode 100644 index 57923a8..0000000 --- a/lib/htaccess.php +++ /dev/null @@ -1,26 +0,0 @@ -using_mod_rewrite_permalinks()) || is_writable($htaccess_file)) { - if ($mod_rewrite_enabled) { - $h5bp_rules = extract_from_markers($htaccess_file, 'HTML5 Boilerplate'); - if ($h5bp_rules === array()) { - $filename = dirname(__FILE__) . '/h5bp-htaccess'; - return insert_with_markers($htaccess_file, 'HTML5 Boilerplate', extract_from_markers($filename, 'HTML5 Boilerplate')); - } - } - } - - return $content; -} - -if (current_theme_supports('h5bp-htaccess')) { - add_action('generate_rewrite_rules', 'roots_add_h5bp_htaccess'); -} diff --git a/lib/utils.php b/lib/utils.php index d2c7030..395c93c 100644 --- a/lib/utils.php +++ b/lib/utils.php @@ -85,20 +85,6 @@ function roots_title() { } } -/** - * Show an admin notice if .htaccess isn't writable - */ -function roots_htaccess_writable() { - if (!is_writable(get_home_path() . '.htaccess')) { - if (current_user_can('administrator')) { - add_action('admin_notices', create_function('', "echo '

    " . sprintf(__('Please make sure your .htaccess file is writable ', 'roots'), admin_url('options-permalink.php')) . "

    ';")); - } - } -} -if (current_theme_supports('h5bp-htaccess')) { - add_action('admin_init', 'roots_htaccess_writable'); -} - /** * Return WordPress subdirectory if applicable */ From ec94cfb2f524fa0aa7f3c3323a98575a3e4e7706 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Wed, 1 May 2013 11:05:23 -0500 Subject: [PATCH 09/13] Make sure rewrites are added to .htaccess immediately after activation --- CHANGELOG.md | 1 + lib/activation.php | 9 +++------ lib/rewrites.php | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f82a5f2..a8977ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ ### HEAD +* Make sure rewrites are added to .htaccess immediately after activation * Move HTML5 Boilerplate's .htaccess to a [plugin](https://github.com/retlehs/wp-h5bp-htaccess) * Rename page-custom.php to template-custom.php * Don't warn about unwritable htaccess if that option is disabled diff --git a/lib/activation.php b/lib/activation.php index ce8add8..d675f1e 100644 --- a/lib/activation.php +++ b/lib/activation.php @@ -38,8 +38,7 @@ function roots_theme_activation_options_add_page() { ); } else { if (is_admin() && isset($_GET['page']) && $_GET['page'] === 'theme_activation_options') { - global $wp_rewrite; - $wp_rewrite->flush_rules(); + flush_rewrite_rules(); wp_redirect(admin_url('themes.php')); exit; } @@ -217,14 +216,12 @@ function roots_theme_activation_action() { if ($roots_theme_activation_options['change_permalink_structure']) { $roots_theme_activation_options['change_permalink_structure'] = false; - global $wp_rewrite; if (get_option('permalink_structure') !== '/%postname%/') { + global $wp_rewrite; $wp_rewrite->set_permalink_structure('/%postname%/'); + flush_rewrite_rules(); } - - $wp_rewrite->init(); - $wp_rewrite->flush_rules(); } if ($roots_theme_activation_options['change_uploads_folder']) { diff --git a/lib/rewrites.php b/lib/rewrites.php index e2db26d..f13a2b0 100644 --- a/lib/rewrites.php +++ b/lib/rewrites.php @@ -35,7 +35,7 @@ function roots_clean_urls($content) { } } -if (!is_multisite() && !is_child_theme() && get_option('permalink_structure')) { +if (!is_multisite() && !is_child_theme()) { if (current_theme_supports('rewrites')) { add_action('generate_rewrite_rules', 'roots_add_rewrites'); } From a8c543753ae4f2e9b39a9ece4f023d54f95c6588 Mon Sep 17 00:00:00 2001 From: Ben Word Date: Wed, 1 May 2013 15:51:59 -0500 Subject: [PATCH 10/13] Fix clean URL issues with non-standard setups --- CHANGELOG.md | 1 + lib/cleanup.php | 31 +------------------------------ lib/init.php | 6 ++---- lib/rewrites.php | 4 ++-- lib/utils.php | 23 ----------------------- 5 files changed, 6 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8977ad..c945c12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ ### HEAD +* Fix issues with root relative URLs and rewrites on non-standard setups * Make sure rewrites are added to .htaccess immediately after activation * Move HTML5 Boilerplate's .htaccess to a [plugin](https://github.com/retlehs/wp-h5bp-htaccess) * Rename page-custom.php to template-custom.php diff --git a/lib/cleanup.php b/lib/cleanup.php index 069b896..1b0d369 100644 --- a/lib/cleanup.php +++ b/lib/cleanup.php @@ -138,32 +138,7 @@ add_filter('body_class', 'roots_body_class'); * @author Scott Walkinshaw */ function roots_root_relative_url($input) { - // Fix for site_url() != home_url() - if (!is_admin() && site_url() != home_url() && stristr($input, 'wp-includes') === false) { - $input = str_replace(site_url(), '', $input); - } - - $output = preg_replace_callback( - '!(https?://[^/|"]+)([^"]+)?!', - create_function( - '$matches', - // If full URL is home_url("/") and this isn't a subdir install, return a slash for relative root - 'if (isset($matches[0]) && $matches[0] === home_url("/") && str_replace("http://", "", home_url("/", "http"))==$_SERVER["HTTP_HOST"]) { return "/";' . - // If domain is equal to home_url("/"), then make URL relative - '} elseif (isset($matches[0]) && strpos($matches[0], home_url("/")) !== false) { return $matches[2];' . - // If domain is not equal to home_url("/"), do not make external link relative - '} else { return $matches[0]; };' - ), - $input - ); - - // detect and correct for subdir installs - if ($subdir = parse_url(home_url(), PHP_URL_PATH)) { - if (substr($output, 0, strlen($subdir)) == (substr($output, strlen($subdir), strlen($subdir)))) { - $output = substr($output, strlen($subdir)); - } - } - + $output = wp_make_link_relative($input); return $output; } @@ -174,10 +149,6 @@ function roots_enable_root_relative_urls() { if (roots_enable_root_relative_urls()) { $root_rel_filters = array( 'bloginfo_url', - 'theme_root_uri', - 'stylesheet_directory_uri', - 'template_directory_uri', - 'plugins_url', 'the_permalink', 'wp_list_pages', 'wp_list_categories', diff --git a/lib/init.php b/lib/init.php index 9fa9954..7084ac9 100644 --- a/lib/init.php +++ b/lib/init.php @@ -30,9 +30,7 @@ if (!defined('__DIR__')) { define('__DIR__', dirname(__FILE__)); } // Define helper constants $get_theme_name = explode('/themes/', get_template_directory()); -define('WP_BASE', wp_base_dir()); define('THEME_NAME', next($get_theme_name)); -define('RELATIVE_PLUGIN_PATH', str_replace(site_url() . '/', '', plugins_url())); -define('FULL_RELATIVE_PLUGIN_PATH', WP_BASE . '/' . RELATIVE_PLUGIN_PATH); -define('RELATIVE_CONTENT_PATH', str_replace(site_url() . '/', '', content_url())); +define('RELATIVE_PLUGIN_PATH', str_replace(home_url() . '/', '', plugins_url())); +define('RELATIVE_CONTENT_PATH', str_replace(home_url() . '/', '', content_url())); define('THEME_PATH', RELATIVE_CONTENT_PATH . '/themes/' . THEME_NAME); diff --git a/lib/rewrites.php b/lib/rewrites.php index f13a2b0..add141b 100644 --- a/lib/rewrites.php +++ b/lib/rewrites.php @@ -28,8 +28,8 @@ function roots_add_rewrites($content) { } function roots_clean_urls($content) { - if (strpos($content, FULL_RELATIVE_PLUGIN_PATH) === 0) { - return str_replace(FULL_RELATIVE_PLUGIN_PATH, WP_BASE . '/plugins', $content); + if (strpos($content, RELATIVE_PLUGIN_PATH) > 0) { + return str_replace('/' . RELATIVE_PLUGIN_PATH, '/plugins', $content); } else { return str_replace('/' . THEME_PATH, '', $content); } diff --git a/lib/utils.php b/lib/utils.php index 395c93c..9a86123 100644 --- a/lib/utils.php +++ b/lib/utils.php @@ -85,29 +85,6 @@ function roots_title() { } } -/** - * Return WordPress subdirectory if applicable - */ -function wp_base_dir() { - preg_match('!(https?://[^/|"]+)([^"]+)?!', site_url(), $matches); - if (count($matches) === 3) { - return end($matches); - } else { - return ''; - } -} - -/** - * Opposite of built in WP functions for trailing slashes - */ -function leadingslashit($string) { - return '/' . unleadingslashit($string); -} - -function unleadingslashit($string) { - return ltrim($string, '/'); -} - function add_filters($tags, $function) { foreach($tags as $tag) { add_filter($tag, $function); From ed5ff26e0ac5ee4273c9dbac9df14a771d19cf64 Mon Sep 17 00:00:00 2001 From: Scott Walkinshaw Date: Wed, 1 May 2013 18:11:45 -0400 Subject: [PATCH 11/13] Fixes #697 - Cleanup activation --- CHANGELOG.md | 1 + lib/activation.php | 66 ++++++++++------------------------------------ 2 files changed, 15 insertions(+), 52 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c945c12..58050cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ ### HEAD +* Fix Theme Activation page issues * Fix issues with root relative URLs and rewrites on non-standard setups * Make sure rewrites are added to .htaccess immediately after activation * Move HTML5 Boilerplate's .htaccess to a [plugin](https://github.com/retlehs/wp-h5bp-htaccess) diff --git a/lib/activation.php b/lib/activation.php index d675f1e..bd8cf1a 100644 --- a/lib/activation.php +++ b/lib/activation.php @@ -8,14 +8,9 @@ if (is_admin() && isset($_GET['activated']) && 'themes.php' == $GLOBALS['pagenow } function roots_theme_activation_options_init() { - if (roots_get_theme_activation_options() === false) { - add_option('roots_theme_activation_options', roots_get_default_theme_activation_options()); - } - register_setting( 'roots_activation_options', - 'roots_theme_activation_options', - 'roots_theme_activation_options_validate' + 'roots_theme_activation_options' ); } add_action('admin_init', 'roots_theme_activation_options_init'); @@ -28,7 +23,7 @@ add_filter('option_page_capability_roots_activation_options', 'roots_activation_ function roots_theme_activation_options_add_page() { $roots_activation_options = roots_get_theme_activation_options(); - if ($roots_activation_options['first_run']) { + if (!$roots_activation_options) { $theme_page = add_theme_page( __('Theme Activation', 'roots'), __('Theme Activation', 'roots'), @@ -46,21 +41,8 @@ function roots_theme_activation_options_add_page() { } add_action('admin_menu', 'roots_theme_activation_options_add_page', 50); -function roots_get_default_theme_activation_options() { - $default_theme_activation_options = array( - 'first_run' => true, - 'create_front_page' => false, - 'change_permalink_structure' => false, - 'change_uploads_folder' => false, - 'create_navigation_menus' => false, - 'add_pages_to_primary_navigation' => false, - ); - - return apply_filters('roots_default_theme_activation_options', $default_theme_activation_options); -} - function roots_get_theme_activation_options() { - return get_option('roots_theme_activation_options', roots_get_default_theme_activation_options()); + return get_option('roots_theme_activation_options'); } function roots_theme_activation_options_render_page() { ?> @@ -73,12 +55,8 @@ function roots_theme_activation_options_render_page() { ?> - - @@ -154,32 +132,16 @@ function roots_theme_activation_options_render_page() { ?> Date: Wed, 1 May 2013 17:36:05 -0500 Subject: [PATCH 12/13] Add new logo by Jens Windolf http://www.jenswindolf.de/ --- screenshot.png | Bin 7975 -> 5438 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshot.png b/screenshot.png index 4a84fcb885bcdc1393dc44375f990c6f9f0fd93e..4182d6665cc894168077154de9c5235efadcfe49 100644 GIT binary patch literal 5438 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 aB-K Date: Wed, 1 May 2013 18:01:45 -0500 Subject: [PATCH 13/13] Roots 6.4.0 --- CHANGELOG.md | 2 +- style.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58050cf..80ac64f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### HEAD +### 6.4.0: May 1st, 2013 * Fix Theme Activation page issues * Fix issues with root relative URLs and rewrites on non-standard setups * Make sure rewrites are added to .htaccess immediately after activation diff --git a/style.css b/style.css index 43a631d..31f846d 100644 --- a/style.css +++ b/style.css @@ -2,7 +2,7 @@ Theme Name: Roots Theme URI: http://www.rootstheme.com/ Description: Roots is a starting WordPress theme made for developers that's based on HTML5 Boilerplate and Bootstrap. Contribute on GitHub -Version: 6.3.0 +Version: 6.4.0 Author: Ben Word Author URI: http://benword.com/