Repository: dongweiming/sed_and_awk Branch: master Commit: b897455361b7 Files: 66 Total size: 169.5 KB Directory structure: gitextract_1q6_hbc5/ ├── .gitignore ├── LICENSE ├── README.md ├── code/ │ ├── answer_awk.txt │ ├── answer_sed.txt │ ├── arguments.awk │ ├── array-for-loop.awk │ ├── asort.awk │ ├── asorti.awk │ ├── bits.awk │ ├── dowhile.awk │ ├── environ.awk │ ├── files.txt │ ├── for.awk │ ├── function-debug.awk │ ├── items-sold.txt │ ├── items.txt │ ├── label.sed │ ├── numbers.txt │ ├── path.txt │ ├── printf-width.awk │ ├── question_awk.txt │ ├── question_awk3.txt │ ├── question_awk4.txt │ ├── question_awk5_1.txt │ ├── question_awk5_2.txt │ ├── question_awk6_1.txt │ ├── question_awk6_2.txt │ ├── question_awk7.txt │ ├── sed_example_1.sed │ ├── source-multiple-fs.txt │ ├── source-one-line.txt │ ├── source-star.txt │ ├── source.txt │ ├── source2.txt │ ├── srand.awk │ ├── string.awk │ ├── testscript.sed │ ├── total-star.awk │ └── while.awk ├── css/ │ ├── print/ │ │ ├── paper.css │ │ └── pdf.css │ ├── reveal.css │ ├── shaders/ │ │ ├── tile-flip.fs │ │ └── tile-flip.vs │ └── theme/ │ └── default.css ├── index.html ├── lib/ │ ├── css/ │ │ └── zenburn.css │ ├── font/ │ │ └── league_gothic_license │ └── js/ │ ├── classList.js │ └── html5shiv.js ├── plugin/ │ ├── highlight/ │ │ └── highlight.js │ ├── markdown/ │ │ ├── markdown.js │ │ └── showdown.js │ ├── notes/ │ │ ├── notes.html │ │ └── notes.js │ ├── notes-server/ │ │ ├── client.js │ │ ├── index.js │ │ └── notes.html │ ├── postmessage/ │ │ ├── example.html │ │ └── postmessage.js │ ├── print-pdf/ │ │ └── print-pdf.js │ ├── remotes/ │ │ └── remotes.js │ └── zoom-js/ │ └── zoom.js ├── requirements.txt └── run.py ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ *.py[cod] # C extensions *.so # Packages *.egg *.egg-info dist build eggs parts bin var sdist develop-eggs .installed.cfg lib64 __pycache__ # Installer logs pip-log.txt # Unit test / coverage reports .coverage .tox nosetests.xml # Translations *.mo # Mr Developer .mr.developer.cfg .project .pydevproject ================================================ FILE: LICENSE ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: README.md ================================================ sed_and_awk =========== An online presentation for sed & awk. You can see [http://dongweiming.github.io/sed_and_awk](http://dongweiming.github.io/sed_and_awk) How to use -------- * For site. You can start a web app with [Flask](https://github.com/mitsuhiko/flask), You can install following this: ``` sudo pip install -r requirements.txt ``` or ``` sudo easy_install flask ``` then ``` sudo python run.py ``` * For html. If you want direct use browser open it. for example on osx. ``` open index.html ``` ================================================ FILE: code/answer_awk.txt ================================================ 1. netstat -nat |grep 27018|awk '{print $5}'|awk -F ':' '{a[$1]++} END {for (j in a) print a[j], j}' 2. awk '{a[sprintf("%s %s", substr($4,2,14),$1)]++} END{for(i in a){print "ip: " i,"count: " a[i]}}' access.log |sort -rnk 5 3. awk '/Addy/{ P=1; next } /Mattt/ {exit} P' question_awk3.txt 4. awk '!a[$1]++' question_awk4.txt 5. awk '{a[$1]=$2}NR>FNR{print $1,a[$1], a[$2]}' question_awk5_2.txt question_awk5_1.txt 6. awk 'NR == FNR{a[$0]} !($0 in a)' question_awk6_2.txt question_awk6_1.txt ================================================ FILE: code/answer_sed.txt ================================================ 1. echo "This is 123"|sed "s/[0-9]\{3\}/[&]/" 2. 打印匹配2和她后面的2行 3. 把匹配2的行改成4 4. echo "This is UPPER"|/usr/local/bin/sed "s/\(.*\) \(.*\) \(.*\)/\U\2,\E\u\1,\E\L\3/" 5. 把前面的哪行叠加到本行 6. sed -n '1!G;h;$p' ================================================ FILE: code/arguments.awk ================================================ BEGIN { print "ARGC=",ARGC for (i = 0; i < ARGC; i++) print ARGV[i] } ================================================ FILE: code/array-for-loop.awk ================================================ BEGIN { item[101]="Github"; item[21]="Google"; for (x in item) print item[x]; } ================================================ FILE: code/asort.awk ================================================ BEGIN { item[101]="Github"; item[22]="Whim"; item[50]="Google"; print "------Before asort------" for (x in item) print "Index",x,"contains",item[x]; total = asort(item); print "------After asort------" for (x in item) print "Index",x,"contains",item[x]; print "Return value from asort:", total; } ================================================ FILE: code/asorti.awk ================================================ BEGIN { item[101]="Github"; item[22]="Whim"; item[50]="Google"; print "----- Function: asort -----" total = asort(item,itemdesc); for (i=1; i<= total; i++) print "Index",i,"contains",itemdesc[i]; print "----- Function: asorti -----" total = asorti(item,itemabbr); for (i=1; i<= total; i++) print "Index",i,"contains",itemabbr[i]; } ================================================ FILE: code/bits.awk ================================================ BEGIN { number1=15 number2=25 print "AND: " and(number1,number2); print "OR: " or(number1,number2) print "XOR: " xor(number1,number2) print "LSHIFT: " lshift(number1,2) print "RSHIFT: " rshift(number1,2) } ================================================ FILE: code/dowhile.awk ================================================ { i=2; total=0; do { total = total + $i; i++; } while (i <= NF) print "Item", $1, ":", total, "quantities sold"; } ================================================ FILE: code/environ.awk ================================================ BEGIN { OFS="=" for(x in ENVIRON) print x,ENVIRON[x]; } ================================================ FILE: code/files.txt ================================================ /etc/passwd /etc/group ================================================ FILE: code/for.awk ================================================ { total=0; for (i=2; i <= NF; i++) total = total + $i; print "Item", $1, ":", total, "quantities sold"; } ================================================ FILE: code/function-debug.awk ================================================ function mydebug (message) { print ("Debug Time:" strftime("%a %b %d %H:%M:%S %Z %Y", systime())) print (message) } { mydebug($NF) } ================================================ FILE: code/items-sold.txt ================================================ 101 2 10 5 8 10 12 102 0 1 4 3 0 2 103 10 6 11 20 5 13 104 2 3 4 0 6 5 105 10 2 5 7 12 6 ================================================ FILE: code/items.txt ================================================ 101,HD Camcorder,Video,210,10 102,Refrigerator,Appliance,850,2 103,MP3 Player,Audio,270,15 104,Tennis Racket,Sports,190,20 105,Laser Printer,Office,475,5 ================================================ FILE: code/label.sed ================================================ #!/usr/local/bin/sed -nf h;n;H;x s/\n/:/ /Github/!b end s/^/*/ :end p ================================================ FILE: code/numbers.txt ================================================ 1 12 123 1234 12345 123456 ================================================ FILE: code/path.txt ================================================ reading /usr/local/bin directory ================================================ FILE: code/printf-width.awk ================================================ BEGIN { FS="," printf "%3s\t%10s\t%10s\t%5s\t%3s\n", "Num","Description","Type","Price","Qty" printf "-----------------------------------------------------\n" } { printf "%3d\t%10s\t%10s\t%g\t%d\n", $1,$2,$3,$4,$5 } ================================================ FILE: code/question_awk.txt ================================================ 1 2 3 4 5 6 7 8 9 10 11 12 1 3 5 7 2 4 6 8 ================================================ FILE: code/question_awk3.txt ================================================ Ian Bicking Hakim El Hattab Paul Irish Addy Osmani Chris Wanstrath Mattt Thompson Ask Solem Hoel ================================================ FILE: code/question_awk4.txt ================================================ 1 22 133 12 22 1 ================================================ FILE: code/question_awk5_1.txt ================================================ 101 Addy 102 Mattt 103 Ask ================================================ FILE: code/question_awk5_2.txt ================================================ Ask 1024 Mattt 2570 Addy 578 ================================================ FILE: code/question_awk6_1.txt ================================================ 123 1 11 1254 ================================================ FILE: code/question_awk6_2.txt ================================================ 123 12 1234 1 1232 ================================================ FILE: code/question_awk7.txt ================================================ 101,/etc/passwd 102,/etc/group ================================================ FILE: code/sed_example_1.sed ================================================ /^root/ p /^nobody/ p ================================================ FILE: code/source-multiple-fs.txt ================================================ 101,Ian Bicking:Mozilla% 102,Hakim El Hattab:Whim% 103,Paul Irish:Google% 104,Addy Osmani:Google% 105,Chris Wanstrath:Github% 106,Mattt Thompson:Heroku% 107,Ask Solem Hoel:VMware% ================================================ FILE: code/source-one-line.txt ================================================ 1,one:2,two:3,three:4,four ================================================ FILE: code/source-star.txt ================================================ 101,Ian Bicking,Mozilla,1204 102,Hakim El Hattab,Whim,4029 103,Paul Irish,Google,7200 104,Addy Osmani,Google,2201 105,Chris Wanstrath,Github,1002 106,Mattt Thompson,Heroku,890 107,Ask Solem Hoel,VMware,2109 ================================================ FILE: code/source.txt ================================================ 101,Ian Bicking,Mozilla 102,Hakim El Hattab,Whim 103,Paul Irish,Google 104,Addy Osmani,Google 105,Chris Wanstrath,Github 106,Mattt Thompson,Heroku 107,Ask Solem Hoel,VMware ================================================ FILE: code/source2.txt ================================================ Ian Bicking Mozilla Hakim El Hattab Whim Paul Irish Google Chris Wanstrath Github Mattt Thompson Heroku ================================================ FILE: code/srand.awk ================================================ BEGIN { srand(5); count=0; max=30; while (count < 5) { # 随机数范围为5-30 rnd = int(rand() * max); print rnd; count++; } } ================================================ FILE: code/string.awk ================================================ BEGIN { FS=","; OFS=","; string1="GO"; string2="OGLE"; numberstring="100"; string3=string1 string2; print "Concatenate string is:" string3; numberstring=numberstring+1; print "String to number:" numberstring; } ================================================ FILE: code/testscript.sed ================================================ #!/usr/bin/sed -nf /root/ p /nobody/ p ================================================ FILE: code/total-star.awk ================================================ BEGIN { FS=","; total=0; } { print $2 "'s star is: " $4; total=total+$4 } END { print "---\nTotal star = $"total; } ================================================ FILE: code/while.awk ================================================ { i=2; total=0; while (i <= NF) { total = total + $i; i++; } print "Item", $1, ":", total, "quantities sold"; } ================================================ FILE: css/print/paper.css ================================================ /* Default Print Stylesheet Template by Rob Glazebrook of CSSnewbie.com Last Updated: June 4, 2008 Feel free (nay, compelled) to edit, append, and manipulate this file as you see fit. */ /* SECTION 1: Set default width, margin, float, and background. This prevents elements from extending beyond the edge of the printed page, and prevents unnecessary background images from printing */ body { background: #fff; font-size: 13pt; width: auto; height: auto; border: 0; margin: 0 5%; padding: 0; float: none !important; overflow: visible; } html { background: #fff; width: auto; height: auto; overflow: visible; } /* SECTION 2: Remove any elements not needed in print. This would include navigation, ads, sidebars, etc. */ .nestedarrow, .controls, .reveal .progress, .reveal.overview, .fork-reveal, .share-reveal, .state-background { display: none !important; } /* SECTION 3: Set body font face, size, and color. Consider using a serif font for readability. */ body, p, td, li, div, a { font-size: 16pt!important; font-family: Georgia, "Times New Roman", Times, serif !important; color: #000; } /* SECTION 4: Set heading font face, sizes, and color. Diffrentiate your headings from your body text. Perhaps use a large sans-serif for distinction. */ h1,h2,h3,h4,h5,h6 { color: #000!important; height: auto; line-height: normal; font-family: Georgia, "Times New Roman", Times, serif !important; text-shadow: 0 0 0 #000 !important; text-align: left; letter-spacing: normal; } /* Need to reduce the size of the fonts for printing */ h1 { font-size: 26pt !important; } h2 { font-size: 22pt !important; } h3 { font-size: 20pt !important; } h4 { font-size: 20pt !important; font-variant: small-caps; } h5 { font-size: 19pt !important; } h6 { font-size: 18pt !important; font-style: italic; } /* SECTION 5: Make hyperlinks more usable. Ensure links are underlined, and consider appending the URL to the end of the link for usability. */ a:link, a:visited { color: #000 !important; font-weight: bold; text-decoration: underline; } /* .reveal a:link:after, .reveal a:visited:after { content: " (" attr(href) ") "; color: #222 !important; font-size: 90%; } */ /* SECTION 6: more reveal.js specific additions by @skypanther */ ul, ol, div, p { visibility: visible; position: static; width: auto; height: auto; display: block; overflow: visible; margin: auto; text-align: left !important; } .reveal .slides { position: static; width: auto; height: auto; left: auto; top: auto; margin-left: auto; margin-top: auto; padding: auto; overflow: visible; display: block; text-align: center; -webkit-perspective: none; -moz-perspective: none; -ms-perspective: none; perspective: none; -webkit-perspective-origin: 50% 50%; /* there isn't a none/auto value but 50-50 is the default */ -moz-perspective-origin: 50% 50%; -ms-perspective-origin: 50% 50%; perspective-origin: 50% 50%; } .reveal .slides>section, .reveal .slides>section>section { visibility: visible !important; position: static !important; width: 90% !important; height: auto !important; display: block !important; overflow: visible !important; left: 0% !important; top: 0% !important; margin-left: 0px !important; margin-top: 0px !important; padding: 20px 0px !important; opacity: 1 !important; -webkit-transform-style: flat !important; -moz-transform-style: flat !important; -ms-transform-style: flat !important; transform-style: flat !important; -webkit-transform: none !important; -moz-transform: none !important; -ms-transform: none !important; transform: none !important; } .reveal section { page-break-after: always !important; display: block !important; } .reveal section .fragment { opacity: 1 !important; visibility: visible !important; -webkit-transform: none !important; -moz-transform: none !important; -ms-transform: none !important; transform: none !important; } .reveal section:last-of-type { page-break-after: avoid !important; } .reveal section img { display: block; margin: 15px 0px; background: rgba(255,255,255,1); border: 1px solid #666; box-shadow: none; } ================================================ FILE: css/print/pdf.css ================================================ /* Default Print Stylesheet Template by Rob Glazebrook of CSSnewbie.com Last Updated: June 4, 2008 Feel free (nay, compelled) to edit, append, and manipulate this file as you see fit. */ /* SECTION 1: Set default width, margin, float, and background. This prevents elements from extending beyond the edge of the printed page, and prevents unnecessary background images from printing */ * { -webkit-print-color-adjust: exact; } body { font-size: 18pt; width: auto; height: auto; border: 0; margin: 0 5%; padding: 0; float: none !important; overflow: visible; background-image: none !important; } html { width: auto; height: auto; overflow: visible; } /* SECTION 2: Remove any elements not needed in print. This would include navigation, ads, sidebars, etc. */ .nestedarrow, .controls, .reveal .progress, .reveal.overview, .fork-reveal, .share-reveal, .state-background { display: none !important; } /* SECTION 3: Set body font face, size, and color. Consider using a serif font for readability. */ body, p, td, li, div { font-size: 18pt; } /* SECTION 4: Set heading font face, sizes, and color. Diffrentiate your headings from your body text. Perhaps use a large sans-serif for distinction. */ h1,h2,h3,h4,h5,h6 { text-shadow: 0 0 0 #000 !important; } /* SECTION 5: Make hyperlinks more usable. Ensure links are underlined, and consider appending the URL to the end of the link for usability. */ a:link, a:visited { font-weight: bold; text-decoration: underline; } /* SECTION 6: more reveal.js specific additions by @skypanther */ ul, ol, div, p { visibility: visible; position: static; width: auto; height: auto; display: block; overflow: visible; margin: auto; } .reveal .slides { position: static; width: 100%; height: auto; left: auto; top: auto; margin-left: auto; margin-right: auto; margin-top: auto; padding: auto; overflow: visible; display: block; text-align: center; -webkit-perspective: none; -moz-perspective: none; -ms-perspective: none; perspective: none; -webkit-perspective-origin: 50% 50%; /* there isn't a none/auto value but 50-50 is the default */ -moz-perspective-origin: 50% 50%; -ms-perspective-origin: 50% 50%; perspective-origin: 50% 50%; } .reveal .slides section { page-break-after: always !important; visibility: visible !important; position: static !important; width: 100% !important; height: auto !important; min-height: initial !important; display: block !important; overflow: visible !important; left: 0 !important; top: 0 !important; margin-left: 0px !important; margin-top: 50px !important; padding: 20px 0px !important; opacity: 1 !important; -webkit-transform-style: flat !important; -moz-transform-style: flat !important; -ms-transform-style: flat !important; transform-style: flat !important; -webkit-transform: none !important; -moz-transform: none !important; -ms-transform: none !important; transform: none !important; } .reveal section.stack { margin: 0px !important; padding: 0px !important; page-break-after: avoid !important; } .reveal section .fragment { opacity: 1 !important; visibility: visible !important; -webkit-transform: none !important; -moz-transform: none !important; -ms-transform: none !important; transform: none !important; } .reveal img { box-shadow: none; } .reveal .roll { overflow: visible; line-height: 1em; } .reveal small a { font-size: 16pt !important; } ================================================ FILE: css/reveal.css ================================================ @charset "UTF-8"; /*! * reveal.js * http://lab.hakim.se/reveal-js * MIT licensed * * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se */ /********************************************* * RESET STYLES *********************************************/ html, body, .reveal div, .reveal span, .reveal applet, .reveal object, .reveal iframe, .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6, .reveal p, .reveal blockquote, .reveal pre, .reveal a, .reveal abbr, .reveal acronym, .reveal address, .reveal big, .reveal cite, .reveal code, .reveal del, .reveal dfn, .reveal em, .reveal img, .reveal ins, .reveal kbd, .reveal q, .reveal s, .reveal samp, .reveal small, .reveal strike, .reveal strong, .reveal sub, .reveal sup, .reveal tt, .reveal var, .reveal b, .reveal u, .reveal i, .reveal center, .reveal dl, .reveal dt, .reveal dd, .reveal ol, .reveal ul, .reveal li, .reveal fieldset, .reveal form, .reveal label, .reveal legend, .reveal table, .reveal caption, .reveal tbody, .reveal tfoot, .reveal thead, .reveal tr, .reveal th, .reveal td, .reveal article, .reveal aside, .reveal canvas, .reveal details, .reveal embed, .reveal figure, .reveal figcaption, .reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal output, .reveal ruby, .reveal section, .reveal summary, .reveal time, .reveal mark, .reveal audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } .reveal article, .reveal aside, .reveal details, .reveal figcaption, .reveal figure, .reveal footer, .reveal header, .reveal hgroup, .reveal menu, .reveal nav, .reveal section { display: block; } /********************************************* * GLOBAL STYLES *********************************************/ html, body { width: 100%; height: 100%; overflow: hidden; } body { position: relative; line-height: 1; } ::selection { background: #FF5E99; color: #fff; text-shadow: none; } @media screen and (max-width: 900px), (max-height: 600px) { .reveal .slides { font-size: 0.82em; } } @media screen and (max-width: 700px), (max-height: 400px) { .reveal .slides { font-size: 0.66em; } } /********************************************* * HEADERS *********************************************/ .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; word-break: break-all; word-break: break-word; } .reveal h1 { font-size: 3.77em; } .reveal h2 { font-size: 2.11em; } .reveal h3 { font-size: 1.55em; } .reveal h4 { font-size: 1em; } /********************************************* * VIEW FRAGMENTS *********************************************/ .reveal .slides section .fragment { opacity: 0; -webkit-transition: all .2s ease; -moz-transition: all .2s ease; -ms-transition: all .2s ease; -o-transition: all .2s ease; transition: all .2s ease; } .reveal .slides section .fragment.visible { opacity: 1; } .reveal .slides section .fragment.grow { opacity: 1; } .reveal .slides section .fragment.grow.visible { -webkit-transform: scale( 1.3 ); -moz-transform: scale( 1.3 ); -ms-transform: scale( 1.3 ); -o-transform: scale( 1.3 ); transform: scale( 1.3 ); } .reveal .slides section .fragment.shrink { opacity: 1; } .reveal .slides section .fragment.shrink.visible { -webkit-transform: scale( 0.7 ); -moz-transform: scale( 0.7 ); -ms-transform: scale( 0.7 ); -o-transform: scale( 0.7 ); transform: scale( 0.7 ); } .reveal .slides section .fragment.roll-in { opacity: 0; -webkit-transform: rotateX( 90deg ); -moz-transform: rotateX( 90deg ); -ms-transform: rotateX( 90deg ); -o-transform: rotateX( 90deg ); transform: rotateX( 90deg ); } .reveal .slides section .fragment.roll-in.visible { opacity: 1; -webkit-transform: rotateX( 0 ); -moz-transform: rotateX( 0 ); -ms-transform: rotateX( 0 ); -o-transform: rotateX( 0 ); transform: rotateX( 0 ); } .reveal .slides section .fragment.fade-out { opacity: 1; } .reveal .slides section .fragment.fade-out.visible { opacity: 0; } .reveal .slides section .fragment.highlight-red, .reveal .slides section .fragment.highlight-green, .reveal .slides section .fragment.highlight-blue { opacity: 1; } .reveal .slides section .fragment.highlight-red.visible { color: #ff2c2d } .reveal .slides section .fragment.highlight-green.visible { color: #17ff2e; } .reveal .slides section .fragment.highlight-blue.visible { color: #1b91ff; } /********************************************* * DEFAULT ELEMENT STYLES *********************************************/ /* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */ .reveal:after { content: ''; font-style: italic; } /* Preserve aspect ratio and scale image so it's bound within the section */ .reveal img, .reveal iframe { max-width: 100%; max-height: 100%; } .reveal strong, .reveal b { font-weight: bold; } .reveal em, .reveal i { font-style: italic; } .reveal ol, .reveal ul { display: inline-block; text-align: left; margin: 0 0 0 1em; } .reveal ol { list-style-type: decimal; } .reveal ul { list-style-type: disc; } .reveal ul ul { list-style-type: square; } .reveal ul ul ul { list-style-type: circle; } .reveal ul ul, .reveal ul ol, .reveal ol ol, .reveal ol ul { display: block; margin-left: 40px; } .reveal .slides p { font-size: 1.1em; } .reveal p { margin-bottom: 10px; line-height: 1.2em; } .reveal q, .reveal blockquote { quotes: none; } .reveal blockquote { display: block; position: relative; width: 70%; margin: 5px auto; padding: 5px; font-style: italic; background: rgba(255, 255, 255, 0.05); box-shadow: 0px 0px 2px rgba(0,0,0,0.2); } .reveal blockquote p:first-child, .reveal blockquote p:last-child { display: inline-block; } .reveal blockquote:before { content: '\201C'; } .reveal blockquote:after { content: '\201D'; } .reveal q { font-style: italic; } .reveal q:before { content: '\201C'; } .reveal q:after { content: '\201D'; } .reveal pre { display: block; position: relative; width:110%; margin: 15px auto; text-align: left; font-size: 0.9em; font-family: monospace; line-height: 1.2em; word-wrap: break-word; box-shadow: 0px 0px 6px rgba(0,0,0,0.3); } .reveal pre code { padding: 5px; } .reveal code { font-family: monospace; overflow: auto; max-height: 400px; } .reveal table th, .reveal table td { text-align: left; padding-right: .3em; } .reveal table th { text-shadow: rgb(255,255,255) 1px 1px 2px; } .reveal sup { vertical-align: super; } .reveal sub { vertical-align: sub; } .reveal small { display: inline-block; font-size: 0.6em; line-height: 1.2em; vertical-align: top; } .reveal small * { vertical-align: top; } /********************************************* * CONTROLS *********************************************/ .reveal .controls { display: none; position: fixed; width: 110px; height: 110px; z-index: 30; right: 10px; bottom: 10px; } .reveal .controls div { position: absolute; opacity: 0.1; width: 0; height: 0; border: 12px solid transparent; -webkit-transition: opacity 0.2s ease; -moz-transition: opacity 0.2s ease; -ms-transition: opacity 0.2s ease; -o-transition: opacity 0.2s ease; transition: opacity 0.2s ease; } .reveal .controls div.enabled { opacity: 0.6; cursor: pointer; } .reveal .controls div.enabled:active { margin-top: 1px; } .reveal .controls div.navigate-left { top: 42px; border-right-width: 22px; border-right-color: #eee; } .reveal .controls div.navigate-right { left: 74px; top: 42px; border-left-width: 22px; border-left-color: #eee; } .reveal .controls div.navigate-up { left: 42px; border-bottom-width: 22px; border-bottom-color: #eee; } .reveal .controls div.navigate-down { left: 42px; top: 74px; border-top-width: 22px; border-top-color: #eee; } /********************************************* * PROGRESS BAR *********************************************/ .reveal .progress { position: fixed; display: none; height: 3px; width: 100%; bottom: 0; left: 0; z-index: 10; } .reveal .progress:after { content: ''; display: 'block'; position: absolute; height: 20px; width: 100%; top: -20px; } .reveal .progress span { display: block; height: 100%; width: 0px; -webkit-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); -moz-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); -ms-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); -o-transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); } /********************************************* * ROLLING LINKS *********************************************/ .reveal .roll { display: inline-block; line-height: 1.2; overflow: hidden; vertical-align: top; -webkit-perspective: 400px; -moz-perspective: 400px; -ms-perspective: 400px; perspective: 400px; -webkit-perspective-origin: 50% 50%; -moz-perspective-origin: 50% 50%; -ms-perspective-origin: 50% 50%; perspective-origin: 50% 50%; } .reveal .roll:hover { background: none; text-shadow: none; } .reveal .roll span { display: block; position: relative; padding: 0 2px; pointer-events: none; -webkit-transition: all 400ms ease; -moz-transition: all 400ms ease; -ms-transition: all 400ms ease; transition: all 400ms ease; -webkit-transform-origin: 50% 0%; -moz-transform-origin: 50% 0%; -ms-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; backface-visibility: hidden; } .reveal .roll:hover span { background: rgba(0,0,0,0.5); -webkit-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); -moz-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); -ms-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg ); } .reveal .roll span:after { content: attr(data-title); display: block; position: absolute; left: 0; top: 0; padding: 0 2px; -webkit-transform-origin: 50% 0%; -moz-transform-origin: 50% 0%; -ms-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); -moz-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); -ms-transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg ); } /********************************************* * SLIDES *********************************************/ .reveal { position: relative; width: 100%; height: 100%; min-height: 640px; /* min height + 40 to account for padding */ } .reveal .slides { position: absolute; max-width: 900px; min-height: 600px; width: 80%; left: 50%; top: 50%; overflow: visible; z-index: 1; text-align: center; -webkit-transition: -webkit-perspective .4s ease; -moz-transition: -moz-perspective .4s ease; -ms-transition: -ms-perspective .4s ease; -o-transition: -o-perspective .4s ease; transition: perspective .4s ease; -webkit-perspective: 600px; -moz-perspective: 600px; -ms-perspective: 600px; perspective: 600px; -webkit-perspective-origin: 0px -100px; -moz-perspective-origin: 0px -100px; -ms-perspective-origin: 0px -100px; perspective-origin: 0px -100px; } .reveal .slides>section, .reveal .slides>section>section { display: none; position: absolute; width: 100%; padding: 20px 0px; z-index: 10; line-height: 1.2em; font-weight: normal; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transition: -webkit-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), -webkit-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); -moz-transition: -moz-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), -moz-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); -ms-transition: -ms-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), -ms-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); -o-transition: -o-transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), -o-transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985), opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985); } .reveal .slides>section { left: -60%; top: -50%; } .reveal .slides>section.present, .reveal .slides>section>section.present { display: block; z-index: 11; opacity: 1; } .reveal.center, .reveal.center .slides, .reveal.center .slides section { min-height: auto !important; } /********************************************* * DEFAULT TRANSITION *********************************************/ .reveal .slides>section.past { display: block; opacity: 0; -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); -moz-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); -ms-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0); } .reveal .slides>section.future { display: block; opacity: 0; -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); -moz-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); -ms-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0); } .reveal .slides>section>section.past { display: block; opacity: 0; -webkit-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); -moz-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); -ms-transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0); } .reveal .slides>section>section.future { display: block; opacity: 0; -webkit-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); -moz-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); -ms-transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0); } /********************************************* * CONCAVE TRANSITION *********************************************/ .reveal.concave .slides>section.past { -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); -moz-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); -ms-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0); } .reveal.concave .slides>section.future { -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); -moz-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); -ms-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0); } .reveal.concave .slides>section>section.past { -webkit-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); -moz-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); -ms-transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0); } .reveal.concave .slides>section>section.future { -webkit-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); -moz-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); -ms-transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0); } /********************************************* * ZOOM TRANSITION *********************************************/ .reveal.zoom .slides>section.past { opacity: 0; visibility: hidden; -webkit-transform: scale(16); -moz-transform: scale(16); -ms-transform: scale(16); -o-transform: scale(16); transform: scale(16); } .reveal.zoom .slides>section.future { opacity: 0; visibility: hidden; -webkit-transform: scale(0.2); -moz-transform: scale(0.2); -ms-transform: scale(0.2); -o-transform: scale(0.2); transform: scale(0.2); } .reveal.zoom .slides>section>section.past { -webkit-transform: translate(0, -150%); -moz-transform: translate(0, -150%); -ms-transform: translate(0, -150%); -o-transform: translate(0, -150%); transform: translate(0, -150%); } .reveal.zoom .slides>section>section.future { -webkit-transform: translate(0, 150%); -moz-transform: translate(0, 150%); -ms-transform: translate(0, 150%); -o-transform: translate(0, 150%); transform: translate(0, 150%); } /********************************************* * LINEAR TRANSITION *********************************************/ .reveal.linear .slides>section.past { -webkit-transform: translate(-150%, 0); -moz-transform: translate(-150%, 0); -ms-transform: translate(-150%, 0); -o-transform: translate(-150%, 0); transform: translate(-150%, 0); } .reveal.linear .slides>section.future { -webkit-transform: translate(150%, 0); -moz-transform: translate(150%, 0); -ms-transform: translate(150%, 0); -o-transform: translate(150%, 0); transform: translate(150%, 0); } .reveal.linear .slides>section>section.past { -webkit-transform: translate(0, -150%); -moz-transform: translate(0, -150%); -ms-transform: translate(0, -150%); -o-transform: translate(0, -150%); transform: translate(0, -150%); } .reveal.linear .slides>section>section.future { -webkit-transform: translate(0, 150%); -moz-transform: translate(0, 150%); -ms-transform: translate(0, 150%); -o-transform: translate(0, 150%); transform: translate(0, 150%); } /********************************************* * CUBE TRANSITION *********************************************/ .reveal.cube .slides { -webkit-perspective: 1300px; -moz-perspective: 1300px; -ms-perspective: 1300px; perspective: 1300px; } .reveal.cube .slides section { padding: 30px; min-height: 600px; -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .reveal.center.cube .slides section { min-height: auto; } .reveal.cube .slides section:not(.stack):before { content: ''; position: absolute; display: block; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0,0,0,0.1); border-radius: 4px; -webkit-transform: translateZ( -20px ); -moz-transform: translateZ( -20px ); -ms-transform: translateZ( -20px ); -o-transform: translateZ( -20px ); transform: translateZ( -20px ); } .reveal.cube .slides section:not(.stack):after { content: ''; position: absolute; display: block; width: 90%; height: 30px; left: 5%; bottom: 0; background: none; z-index: 1; border-radius: 4px; box-shadow: 0px 95px 25px rgba(0,0,0,0.2); -webkit-transform: translateZ(-90px) rotateX( 65deg ); -moz-transform: translateZ(-90px) rotateX( 65deg ); -ms-transform: translateZ(-90px) rotateX( 65deg ); -o-transform: translateZ(-90px) rotateX( 65deg ); transform: translateZ(-90px) rotateX( 65deg ); } .reveal.cube .slides>section.stack { padding: 0; background: none; } .reveal.cube .slides>section.past { -webkit-transform-origin: 100% 0%; -moz-transform-origin: 100% 0%; -ms-transform-origin: 100% 0%; transform-origin: 100% 0%; -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg); -moz-transform: translate3d(-100%, 0, 0) rotateY(-90deg); -ms-transform: translate3d(-100%, 0, 0) rotateY(-90deg); transform: translate3d(-100%, 0, 0) rotateY(-90deg); } .reveal.cube .slides>section.future { -webkit-transform-origin: 0% 0%; -moz-transform-origin: 0% 0%; -ms-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg); -moz-transform: translate3d(100%, 0, 0) rotateY(90deg); -ms-transform: translate3d(100%, 0, 0) rotateY(90deg); transform: translate3d(100%, 0, 0) rotateY(90deg); } .reveal.cube .slides>section>section.past { -webkit-transform-origin: 0% 100%; -moz-transform-origin: 0% 100%; -ms-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: translate3d(0, -100%, 0) rotateX(90deg); -moz-transform: translate3d(0, -100%, 0) rotateX(90deg); -ms-transform: translate3d(0, -100%, 0) rotateX(90deg); transform: translate3d(0, -100%, 0) rotateX(90deg); } .reveal.cube .slides>section>section.future { -webkit-transform-origin: 0% 0%; -moz-transform-origin: 0% 0%; -ms-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg); -moz-transform: translate3d(0, 100%, 0) rotateX(-90deg); -ms-transform: translate3d(0, 100%, 0) rotateX(-90deg); transform: translate3d(0, 100%, 0) rotateX(-90deg); } /********************************************* * PAGE TRANSITION *********************************************/ .reveal.page .slides { -webkit-perspective-origin: 0% 50%; -moz-perspective-origin: 0% 50%; -ms-perspective-origin: 0% 50%; perspective-origin: 0% 50%; -webkit-perspective: 3000px; -moz-perspective: 3000px; -ms-perspective: 3000px; perspective: 3000px; } .reveal.page .slides section { padding: 30px; min-height: 600px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .reveal.page .slides section.past { z-index: 12; } .reveal.page .slides section:not(.stack):before { content: ''; position: absolute; display: block; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0,0,0,0.1); -webkit-transform: translateZ( -20px ); -moz-transform: translateZ( -20px ); -ms-transform: translateZ( -20px ); -o-transform: translateZ( -20px ); transform: translateZ( -20px ); } .reveal.page .slides section:not(.stack):after { content: ''; position: absolute; display: block; width: 90%; height: 30px; left: 5%; bottom: 0; background: none; z-index: 1; border-radius: 4px; box-shadow: 0px 95px 25px rgba(0,0,0,0.2); -webkit-transform: translateZ(-90px) rotateX( 65deg ); } .reveal.page .slides>section.stack { padding: 0; background: none; } .reveal.page .slides>section.past { -webkit-transform-origin: 0% 0%; -moz-transform-origin: 0% 0%; -ms-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: translate3d(-40%, 0, 0) rotateY(-80deg); -moz-transform: translate3d(-40%, 0, 0) rotateY(-80deg); -ms-transform: translate3d(-40%, 0, 0) rotateY(-80deg); transform: translate3d(-40%, 0, 0) rotateY(-80deg); } .reveal.page .slides>section.future { -webkit-transform-origin: 100% 0%; -moz-transform-origin: 100% 0%; -ms-transform-origin: 100% 0%; transform-origin: 100% 0%; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .reveal.page .slides>section>section.past { -webkit-transform-origin: 0% 0%; -moz-transform-origin: 0% 0%; -ms-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: translate3d(0, -40%, 0) rotateX(80deg); -moz-transform: translate3d(0, -40%, 0) rotateX(80deg); -ms-transform: translate3d(0, -40%, 0) rotateX(80deg); transform: translate3d(0, -40%, 0) rotateX(80deg); } .reveal.page .slides>section>section.future { -webkit-transform-origin: 0% 100%; -moz-transform-origin: 0% 100%; -ms-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } /********************************************* * TILE-FLIP TRANSITION (CSS shader) *********************************************/ .reveal.tileflip .slides section.present { -webkit-transform: none; -webkit-transition-duration: 800ms; -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg), amount 0, randomness 0, flipAxis 0 1 0, tileOutline 1 ); } .reveal.tileflip .slides section.past { -webkit-transform: none; -webkit-transition-duration: 800ms; -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg), amount 1, randomness 0, flipAxis 0 1 0, tileOutline 1 ); } .reveal.tileflip .slides section.future { -webkit-transform: none; -webkit-transition-duration: 800ms; -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg), amount 1, randomness 0, flipAxis 0 1 0, tileOutline 1 ); } .reveal.tileflip .slides>section>section.present { -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg), amount 0, randomness 2, flipAxis 1 0 0, tileOutline 1 ); } .reveal.tileflip .slides>section>section.past { -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg), amount 1, randomness 2, flipAxis 1 0 0, tileOutline 1 ); } .reveal.tileflip .slides>section>section.future { -webkit-filter: custom( url(shaders/tile-flip.vs) mix(url(shaders/tile-flip.fs) multiply source-atop), 10 10 border-box detached, transform perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg), amount 1, randomness 2, flipAxis 1 0 0, tileOutline 1 ); } /********************************************* * NO TRANSITION *********************************************/ .reveal.none .slides section { -webkit-transform: none; -moz-transform: none; -ms-transform: none; -o-transform: none; transform: none; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; } /********************************************* * OVERVIEW *********************************************/ .reveal.overview .slides { -webkit-perspective-origin: 0% 0%; -moz-perspective-origin: 0% 0%; -ms-perspective-origin: 0% 0%; perspective-origin: 0% 0%; -webkit-perspective: 700px; -moz-perspective: 700px; -ms-perspective: 700px; perspective: 700px; } .reveal.overview .slides section { height: 600px; overflow: hidden; opacity: 1!important; visibility: visible!important; cursor: pointer; background: rgba(0,0,0,0.1); } .reveal.overview .slides section .fragment { opacity: 1; } .reveal.overview .slides section:after, .reveal.overview .slides section:before { display: none !important; } .reveal.overview .slides section>section { opacity: 1; cursor: pointer; } .reveal.overview .slides section:hover { background: rgba(0,0,0,0.3); } .reveal.overview .slides section.present { background: rgba(0,0,0,0.3); } .reveal.overview .slides>section.stack { padding: 0; background: none; overflow: visible; } /********************************************* * PAUSED MODE *********************************************/ .reveal .pause-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: black; visibility: hidden; opacity: 0; z-index: 100; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; } .reveal.paused .pause-overlay { visibility: visible; opacity: 1; } /********************************************* * FALLBACK *********************************************/ .no-transforms { overflow-y: auto; } .no-transforms .slides { top: 0; left: 50%; margin: 0; text-align: center; } .no-transforms .slides section { display: block!important; opacity: 1!important; position: relative!important; height: auto; min-height: auto; top: 0; left: -50%; margin: 70px 0; -webkit-transform: none; -moz-transform: none; -ms-transform: none; transform: none; } .no-transforms .slides section section { left: 0; } .no-transition { -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; } /********************************************* * BACKGROUND STATES *********************************************/ .reveal .state-background { position: absolute; width: 100%; height: 100%; background: rgba( 0, 0, 0, 0 ); -webkit-transition: background 800ms ease; -moz-transition: background 800ms ease; -ms-transition: background 800ms ease; -o-transition: background 800ms ease; transition: background 800ms ease; } .alert .reveal .state-background { background: rgba( 200, 50, 30, 0.6 ); } .soothe .reveal .state-background { background: rgba( 50, 200, 90, 0.4 ); } .blackout .reveal .state-background { background: rgba( 0, 0, 0, 0.6 ); } /********************************************* * RTL SUPPORT *********************************************/ .reveal.rtl .slides, .reveal.rtl .slides h1, .reveal.rtl .slides h2, .reveal.rtl .slides h3, .reveal.rtl .slides h4, .reveal.rtl .slides h5, .reveal.rtl .slides h6 { direction: rtl; font-family: sans-serif; } .reveal.rtl pre, .reveal.rtl code { direction: ltr; } .reveal.rtl ol, .reveal.rtl ul { text-align: right; } /********************************************* * SPEAKER NOTES *********************************************/ .reveal aside.notes { display: none; } /********************************************* * ZOOM PLUGIN *********************************************/ .zoomed .reveal *, .zoomed .reveal *:before, .zoomed .reveal *:after { -webkit-transform: none !important; -moz-transform: none !important; -ms-transform: none !important; transform: none !important; -webkit-backface-visibility: visible !important; -moz-backface-visibility: visible !important; -ms-backface-visibility: visible !important; backface-visibility: visible !important; } .zoomed .reveal .progress, .zoomed .reveal .controls { opacity: 0; } .zoomed .reveal .roll span { background: none; } .zoomed .reveal .roll span:after { visibility: hidden; } ================================================ FILE: css/shaders/tile-flip.fs ================================================ /* * Copyright (c) 2012 Adobe Systems Incorporated. All rights reserved. * Copyright (c) 2012 Branislav Ulicny * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ precision mediump float; // Uniform values from CSS uniform float amount; uniform float tileOutline; // Built-in uniforms uniform vec2 u_meshSize; uniform vec2 u_textureSize; // Varyings passed in from vertex shader varying float v_depth; varying vec2 v_uv; // Main void main() { // FIXME: Must swap x and y as a workaround for: // https://bugs.webkit.org/show_bug.cgi?id=96285 vec2 u_meshSize = u_meshSize.yx; vec4 c = vec4(1.0); // Fade out. c.a = 1.0 - v_depth; // Show grid outline. if (tileOutline >= 0.5) { float cell_width = u_textureSize.x / u_meshSize.y; float cell_height = u_textureSize.y / u_meshSize.x; float dd = 1.0; if (mod(v_uv.x * u_textureSize.x + dd, cell_width) < 2.0 || mod(v_uv.y * u_textureSize.y + dd, cell_height) < 2.0) { if (amount > 0.0) c.rgb = vec3(1.0 - sqrt(amount)); } } css_ColorMatrix = mat4(c.r, 0.0, 0.0, 0.0, 0.0, c.g, 0.0, 0.0, 0.0, 0.0, c.b, 0.0, 0.0, 0.0, 0.0, c.a); } ================================================ FILE: css/shaders/tile-flip.vs ================================================ /* * Copyright (c)2012 Adobe Systems Incorporated. All rights reserved. * Copyright (c)2012 Branislav Ulicny * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ precision mediump float; // Built-in attributes attribute vec4 a_position; attribute vec2 a_texCoord; attribute vec3 a_triangleCoord; // Built-in uniforms uniform mat4 u_projectionMatrix; uniform vec2 u_meshSize; uniform vec2 u_textureSize; // Uniform passed in from CSS uniform mat4 transform; uniform float amount; uniform float randomness; uniform vec3 flipAxis; // Varyings varying float v_depth; varying vec2 v_uv; // Constants const float PI2 = 1.5707963267948966; // Create perspective matrix mat4 perspectiveMatrix(float p) { float perspective = - 1.0 / p; return mat4( 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, perspective, 0.0, 0.0, 0.0, 1.0 ); } // Rotate vector vec3 rotateVectorByQuaternion(vec3 v, vec4 q) { vec3 dest = vec3(0.0); float x = v.x, y = v.y, z = v.z; float qx = q.x, qy = q.y, qz = q.z, qw = q.w; // Calculate quaternion * vector. float ix = qw * x + qy * z - qz * y, iy = qw * y + qz * x - qx * z, iz = qw * z + qx * y - qy * x, iw = -qx * x - qy * y - qz * z; // Calculate result * inverse quaternion. dest.x = ix * qw + iw * -qx + iy * -qz - iz * -qy; dest.y = iy * qw + iw * -qy + iz * -qx - ix * -qz; dest.z = iz * qw + iw * -qz + ix * -qy - iy * -qx; return dest; } // Convert rotation. vec4 axisAngleToQuaternion(vec3 axis, float angle) { vec4 dest = vec4(0.0); float halfAngle = angle / 2.0; float s = sin(halfAngle); dest.x = axis.x * s; dest.y = axis.y * s; dest.z = axis.z * s; dest.w = cos(halfAngle); return dest; } // Random function based on the tile coordinate. // This will return the same value for all the vertices in the same tile (i.e. two triangles). float random(vec2 scale) { // Use the fragment position as a different seed per-pixel. return fract(sin(dot(vec2(a_triangleCoord.x, a_triangleCoord.y), scale)) * 4000.0); } // Main void main() { // FIXME: We must swap x and y as a workaround for: // https://bugs.webkit.org/show_bug.cgi?id=96285 vec2 u_meshSize = u_meshSize.yx; vec4 pos = a_position; float aspect = u_textureSize.x / u_textureSize.y; float cx = a_triangleCoord.x / u_meshSize.y - 0.5 + 0.5 / u_meshSize.y; float cy = a_triangleCoord.y / u_meshSize.x - 0.5 + 0.5 / u_meshSize.x; vec3 centroid = vec3(cx, cy, 0.0); float r = random(vec2(10.0, 80.0)); float rr = mix(0.0, PI2, amount * (1.0 + randomness * r)); vec4 rotation = vec4(flipAxis, rr); vec4 qRotation = axisAngleToQuaternion(normalize(rotation.xyz), rotation.w); vec3 newPosition = rotateVectorByQuaternion((pos.xyz - centroid)* vec3(aspect, 1., 1.0), qRotation) * vec3(1.0 / aspect, 1.0, 1.0) + centroid; pos.xyz = newPosition; gl_Position = u_projectionMatrix * transform * pos; // Pass varyings to the fragment shader. v_depth = abs(rr)/ PI2; v_uv = a_texCoord; } ================================================ FILE: css/theme/default.css ================================================ @import url(http://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); /** * Default theme for reveal.js. * * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se */ @font-face { font-family: 'League Gothic'; src: url("../../lib/font/league_gothic-webfont.eot"); src: url("../../lib/font/league_gothic-webfont.eot?#iefix") format("embedded-opentype"), url("../../lib/font/league_gothic-webfont.woff") format("woff"), url("../../lib/font/league_gothic-webfont.ttf") format("truetype"), url("../../lib/font/league_gothic-webfont.svg#LeagueGothicRegular") format("svg"); font-weight: normal; font-style: normal; } /********************************************* * GLOBAL STYLES *********************************************/ body { background: #1c1e20; background: -moz-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #555a5f), color-stop(100%, #1c1e20)); background: -webkit-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); background: -o-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); background: -ms-radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); background: radial-gradient(center, circle cover, #555a5f 0%, #1c1e20 100%); background-color: #2b2b2b; } .reveal { /** font-family: "Lato", Times, "Times New Roman", serif; **/ font-family: '微软雅黑', "Lato", Times, "Times New Roman", serif; font-size: 36px; font-weight: 200; letter-spacing: -0.02em; color: #eeeeee; } ::selection { color: white; background: #ff5e99; text-shadow: none; } /********************************************* * HEADERS *********************************************/ .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { margin: 0 0 20px 0; color: #eeeeee; font-family: "League Gothic", Impact, sans-serif; line-height: 0.9em; letter-spacing: 0.02em; text-transform: uppercase; text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.2); } .reveal h1 { text-shadow: 0 1px 0 #cccccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbbbbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaaaaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15); } /********************************************* * LINKS *********************************************/ .reveal a:not(.image) { color: #13daec; text-decoration: none; -webkit-transition: color .15s ease; -moz-transition: color .15s ease; -ms-transition: color .15s ease; -o-transition: color .15s ease; transition: color .15s ease; } .reveal a:not(.image):hover { color: #71e9f4; text-shadow: none; border: none; } .reveal .roll span:after { color: #fff; background: #0d99a5; } /********************************************* * IMAGES *********************************************/ .reveal section img { margin: 15px 0px; background: rgba(255, 255, 255, 0.12); border: 0px solid #eeeeee; box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); -webkit-transition: all .2s linear; -moz-transition: all .2s linear; -ms-transition: all .2s linear; -o-transition: all .2s linear; transition: all .2s linear; } .reveal a:hover img { background: rgba(255, 255, 255, 0.2); border-color: #13daec; box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); } /********************************************* * NAVIGATION CONTROLS *********************************************/ .reveal .controls div.navigate-left, .reveal .controls div.navigate-left.enabled { border-right-color: #13daec; } .reveal .controls div.navigate-right, .reveal .controls div.navigate-right.enabled { border-left-color: #13daec; } .reveal .controls div.navigate-up, .reveal .controls div.navigate-up.enabled { border-bottom-color: #13daec; } .reveal .controls div.navigate-down, .reveal .controls div.navigate-down.enabled { border-top-color: #13daec; } .reveal .controls div.navigate-left.enabled:hover { border-right-color: #71e9f4; } .reveal .controls div.navigate-right.enabled:hover { border-left-color: #71e9f4; } .reveal .controls div.navigate-up.enabled:hover { border-bottom-color: #71e9f4; } .reveal .controls div.navigate-down.enabled:hover { border-top-color: #71e9f4; } /********************************************* * PROGRESS BAR *********************************************/ .reveal .progress { background: rgba(0, 0, 0, 0.2); } .reveal .progress span { background: #13daec; -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); -ms-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); -o-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); } .reveal .dongwmhead { font-size: 48.0pt; } .reveal .dongwmtitle { font-size: 40.0pt; } .reveal .dongwmcsm { font-family:'comic sans ms'; } .reveal .dongwmblue { color: rgb(32,117,165); font-weight: bold; text-transform: uppercase; } .reveal .dongwmmenu { font-family:'comic sans ms'; color: #CC0066; font-size: 110px; text-transform: uppercase; } .reveal .dongwmleft { margin-left: 250px; text-align: left; } .reveal .dongwmgreen { font-weight: bold; color: #009242; text-transform: uppercase; } .reveal .dongwmfoot { font-size: 48.0pt;color: rgb(32,117,165);text-transform: uppercase;font-weight: bold; } .reveal .dongwmright { margin-left: 450px; text-align: left; } .reveal #rightimg { float: right; width: 120px; height: 50px; vertical-align:text-bottom; } .reveal #leftimg { position: relative; float: left; width: 100px; height: 40px; left: 160px; bottom: -250px; } .reveal iframe { margin-bottom: -150px; } ================================================ FILE: index.html ================================================
"+w.value+"";u=v.firstChild.firstChild;v.firstChild.cN=r.cN;r.parentNode.replaceChild(v.firstChild,r)}else{u.innerHTML=w.value}u.className=t;u.result={language:s,kw:w.keyword_count,re:w.r};if(w.second_best){u.second_best={language:w.second_best.language,kw:w.second_best.keyword_count,re:w.second_best.r}}}function k(){if(k.called){return}k.called=true;var r=document.getElementsByTagName("pre");for(var p=0;p