├── assets ├── sass │ ├── main.scss │ ├── _variables.scss │ ├── styles.scss │ └── _reset.scss ├── styles │ └── main.css ├── scripts │ ├── main.js │ └── contact.js └── images │ └── logo.png ├── site ├── plugins │ └── index.html ├── snippets │ ├── footer.php │ ├── menu.php │ ├── submenu.php │ └── header.php └── templates │ ├── default.php │ ├── blogarticle.php │ └── blog.php ├── .gitignore ├── bower_components ├── neat │ ├── .rspec │ ├── test │ │ ├── _setup.scss │ │ ├── outer-container.scss │ │ ├── new-breakpoint.scss │ │ ├── pad.scss │ │ ├── omega.scss │ │ ├── row.scss │ │ ├── span-columns.scss │ │ ├── shift.scss │ │ └── media.scss │ ├── app │ │ └── assets │ │ │ └── stylesheets │ │ │ ├── grid │ │ │ ├── _grid.scss │ │ │ ├── _fill-parent.scss │ │ │ ├── _outer-container.scss │ │ │ ├── _pad.scss │ │ │ ├── _reset.scss │ │ │ ├── _row.scss │ │ │ ├── _shift.scss │ │ │ ├── _media.scss │ │ │ ├── _visual-grid.scss │ │ │ ├── _private.scss │ │ │ ├── _span-columns.scss │ │ │ ├── _omega.scss │ │ │ └── _to-deprecate.scss │ │ │ ├── _neat-helpers.scss │ │ │ ├── settings │ │ │ ├── _visual-grid.scss │ │ │ └── _grid.scss │ │ │ ├── functions │ │ │ └── _new-breakpoint.scss │ │ │ └── _neat.scss │ ├── spec │ │ ├── support │ │ │ ├── sass_support.rb │ │ │ ├── bourbon_support.rb │ │ │ ├── parser_support.rb │ │ │ └── matchers │ │ │ │ ├── be_contained_in.rb │ │ │ │ ├── have_value.rb │ │ │ │ └── have_rule.rb │ │ ├── neat │ │ │ ├── container_spec.rb │ │ │ ├── new_breakpoint_spec.rb │ │ │ ├── pad_spec.rb │ │ │ ├── row_spec.rb │ │ │ ├── shift_spec.rb │ │ │ ├── omega_spec.rb │ │ │ ├── media_spec.rb │ │ │ └── columns_spec.rb │ │ └── spec_helper.rb │ ├── bower.json │ ├── .bower.json │ └── LICENSE ├── bourbon │ ├── dist │ │ ├── settings │ │ │ ├── _px-to-em.scss │ │ │ ├── _asset-pipeline.scss │ │ │ └── _prefixer.scss │ │ ├── css3 │ │ │ ├── _appearance.scss │ │ │ ├── _user-select.scss │ │ │ ├── _calc.scss │ │ │ ├── _hyphens.scss │ │ │ ├── _box-sizing.scss │ │ │ ├── _filter.scss │ │ │ ├── _placeholder.scss │ │ │ ├── _perspective.scss │ │ │ ├── _backface-visibility.scss │ │ │ ├── _image-rendering.scss │ │ │ ├── _font-feature-settings.scss │ │ │ ├── _hidpi-media-query.scss │ │ │ ├── _transform.scss │ │ │ ├── _border-radius.scss │ │ │ ├── _font-face.scss │ │ │ ├── _keyframes.scss │ │ │ ├── _columns.scss │ │ │ ├── _linear-gradient.scss │ │ │ ├── _background-image.scss │ │ │ ├── _radial-gradient.scss │ │ │ ├── _animation.scss │ │ │ ├── _background.scss │ │ │ ├── _border-image.scss │ │ │ └── _transition.scss │ │ ├── functions │ │ │ ├── _golden-ratio.scss │ │ │ ├── _strip-units.scss │ │ │ ├── _tint-shade.scss │ │ │ ├── _assign.scss │ │ │ ├── _px-to-rem.scss │ │ │ ├── _px-to-em.scss │ │ │ ├── _grid-width.scss │ │ │ ├── _color-lightness.scss │ │ │ ├── _unpack.scss │ │ │ ├── _transition-property-name.scss │ │ │ ├── _flex-grid.scss │ │ │ └── _modular-scale.scss │ │ ├── addons │ │ │ ├── _ellipsis.scss │ │ │ ├── _hide-text.scss │ │ │ ├── _word-wrap.scss │ │ │ ├── _font-family.scss │ │ │ ├── _size.scss │ │ │ ├── _clearfix.scss │ │ │ ├── _position.scss │ │ │ ├── _retina-image.scss │ │ │ ├── _prefixer.scss │ │ │ ├── _timing-functions.scss │ │ │ └── _triangle.scss │ │ ├── helpers │ │ │ ├── _shape-size-stripper.scss │ │ │ ├── _is-num.scss │ │ │ ├── _gradient-positions-parser.scss │ │ │ ├── _radial-positions-parser.scss │ │ │ ├── _convert-units.scss │ │ │ ├── _linear-angle-parser.scss │ │ │ ├── _render-gradients.scss │ │ │ ├── _linear-side-corner-parser.scss │ │ │ ├── _linear-gradient-parser.scss │ │ │ ├── _str-to-num.scss │ │ │ ├── _radial-gradient-parser.scss │ │ │ ├── _radial-arg-parser.scss │ │ │ └── _linear-positions-parser.scss │ │ ├── _bourbon-deprecated-upcoming.scss │ │ └── _bourbon.scss │ ├── .npmignore │ ├── bower.json │ ├── package.json │ ├── .bower.json │ └── LICENSE ├── flexnav │ ├── font │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ ├── package.json │ ├── bower.json │ ├── .bower.json │ ├── LICENSE │ ├── Gruntfile.js │ └── js │ │ └── jquery.flexnav.min.js └── responsive-nav │ ├── client │ ├── src │ │ ├── bower │ │ │ └── bower.json │ │ ├── polyfills.js │ │ └── styles │ │ │ └── responsive-nav.css │ ├── dist │ │ ├── bower │ │ │ └── bower.json │ │ └── styles │ │ │ └── responsive-nav.css │ └── test │ │ ├── .jshintrc │ │ └── polyfills.spec.js │ ├── bower.json │ ├── .gitignore │ ├── .bower.json │ ├── CONTRIBUTING.md │ ├── package.json │ ├── .jshintrc │ └── responsive-nav.css ├── content ├── error │ └── error.txt ├── 03-blog │ ├── blog.txt │ ├── 01-your-first-article │ │ └── blogarticle.txt │ ├── 02-your-second-article │ │ └── blogarticle.txt │ └── 03-your-third-article │ │ └── blogarticle.txt ├── site.txt ├── home │ └── home.txt ├── 01-about-us │ └── about-us.txt ├── 02-portfolio │ ├── projects.txt │ ├── 01-project-a │ │ └── project.txt │ ├── 02-project-b │ │ └── project.txt │ └── 03-project-c │ │ └── project.txt └── 04-contact │ └── contact.txt ├── .sass-cache ├── 5be1de2e34f28420236e618f4d7dce18ba9154f1 │ ├── _pad.scssc │ ├── _media.scssc │ ├── _omega.scssc │ ├── _private.scssc │ ├── _reset.scssc │ ├── _shift.scssc │ ├── _fill-parent.scssc │ ├── _span-columns.scssc │ ├── _to-deprecate.scssc │ ├── _visual-grid.scssc │ ├── _outer-container.scssc │ └── _grid.scssc ├── 7ffc7902b585034bb2c337d809b2c01667923f8e │ ├── _neat.scssc │ └── _neat-helpers.scssc ├── aeedc6d56b6d18347c012a6ed41e0813e61d7b55 │ ├── _grid.scssc │ └── _visual-grid.scssc ├── 2101ca9953acfa1f4549cafd1c095e31ac3ca7bf │ ├── _bourbon.scssc │ └── _bourbon-deprecated-upcoming.scssc ├── 844d091e1b4edb3713ee154eb910064a93d1cf92 │ ├── _assign.scssc │ ├── _unpack.scssc │ ├── _flex-grid.scssc │ ├── _px-to-em.scssc │ ├── _grid-width.scssc │ ├── _tint-shade.scssc │ ├── _modular-scale.scssc │ ├── _color-lightness.scssc │ ├── _transition-property-name.scssc │ ├── _golden-ratio.scssc │ └── _strip-units.scssc ├── bdc07876aed8666f245b206c5c59b949c5442dd6 │ ├── _columns.scssc │ ├── _filter.scssc │ ├── _flex-box.scssc │ ├── _font-face.scssc │ ├── _keyframes.scssc │ ├── _transform.scssc │ ├── _background.scssc │ ├── _border-image.scssc │ ├── _perspective.scssc │ ├── _placeholder.scssc │ ├── _transition.scssc │ ├── _border-radius.scssc │ ├── _background-image.scssc │ ├── _hidpi-media-query.scssc │ ├── _image-rendering.scssc │ ├── _linear-gradient.scssc │ ├── _radial-gradient.scssc │ ├── _backface-visibility.scssc │ ├── _font-feature-settings.scssc │ ├── _box-sizing.scssc │ ├── _user-select.scssc │ ├── _appearance.scssc │ ├── _hyphens.scssc │ └── _calc.scssc ├── c189c210ee29df00fc566f3ef0c8bca29b0950b4 │ ├── _mobile.scssc │ ├── _reset.scssc │ ├── styles.scssc │ ├── _variables.scssc │ └── main.scssc ├── c68c130ea9f3d1b1fa446e7150ac5c3a121d2431 │ ├── _button.scssc │ ├── _clearfix.scssc │ ├── _ellipsis.scssc │ ├── _hide-text.scssc │ ├── _position.scssc │ ├── _prefixer.scssc │ ├── _triangle.scssc │ ├── _word-wrap.scssc │ ├── _retina-image.scssc │ ├── _html5-input-types.scssc │ ├── _timing-functions.scssc │ └── _directional-values.scssc ├── e7edd49301364893e8e1520ddbd903916ad22657 │ ├── _is-num.scssc │ ├── _str-to-num.scssc │ ├── _convert-units.scssc │ ├── _radial-arg-parser.scssc │ ├── _render-gradients.scssc │ ├── _linear-angle-parser.scssc │ ├── _shape-size-stripper.scssc │ ├── _linear-gradient-parser.scssc │ ├── _radial-gradient-parser.scssc │ ├── _linear-positions-parser.scssc │ ├── _radial-positions-parser.scssc │ ├── _gradient-positions-parser.scssc │ └── _linear-side-corner-parser.scssc ├── eac4c20d8ba7975086673cec083e62cd15aff564 │ ├── _private.scssc │ └── _new-breakpoint.scssc └── e711513959359fa3bddbca12416905355059dfef │ ├── _asset-pipeline.scssc │ ├── _px-to-em.scssc │ └── _prefixer.scssc ├── .editorconfig ├── package.json ├── bower.json ├── kirby ├── parsers │ └── defaults.php ├── lib │ ├── template.php │ ├── variables.php │ ├── obj.php │ ├── load.php │ └── helpers.php ├── modals │ └── mbstring.php ├── system.php └── defaults.php ├── server ├── mail.php └── PHPMailerAutoload.php ├── index.php ├── .htaccess ├── readme.mdown └── Gruntfile.js /assets/sass/main.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/styles/main.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /site/plugins/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | panel/ 3 | site/panel 4 | docs -------------------------------------------------------------------------------- /assets/scripts/main.js: -------------------------------------------------------------------------------- 1 | //var nav = responsiveNav('.nav-collapse'); -------------------------------------------------------------------------------- /bower_components/neat/.rspec: -------------------------------------------------------------------------------- 1 | --color 2 | --format documentation 3 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/settings/_px-to-em.scss: -------------------------------------------------------------------------------- 1 | $em-base: 16px !default; 2 | -------------------------------------------------------------------------------- /content/error/error.txt: -------------------------------------------------------------------------------- 1 | Title: Error 2 | ---- 3 | Text: The page has not been found -------------------------------------------------------------------------------- /content/03-blog/blog.txt: -------------------------------------------------------------------------------- 1 | Title: Résumé 2 | 3 | ---- 4 | 5 | Text: This is a nice Demo Blog. -------------------------------------------------------------------------------- /bower_components/bourbon/dist/settings/_asset-pipeline.scss: -------------------------------------------------------------------------------- 1 | $asset-pipeline: false !default; 2 | -------------------------------------------------------------------------------- /assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/assets/images/logo.png -------------------------------------------------------------------------------- /site/snippets/footer.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /bower_components/neat/test/_setup.scss: -------------------------------------------------------------------------------- 1 | $border-box-sizing: false; 2 | 3 | @import 'bourbon/bourbon'; 4 | @import 'app/assets/stylesheets/neat'; 5 | -------------------------------------------------------------------------------- /bower_components/bourbon/.npmignore: -------------------------------------------------------------------------------- 1 | app/ 2 | bin/ 3 | features/ 4 | lib/ 5 | bower.json 6 | bourbon.gemspec 7 | Rakefile 8 | Gemfile.lock 9 | Gemfile -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_appearance.scss: -------------------------------------------------------------------------------- 1 | @mixin appearance ($value) { 2 | @include prefixer(appearance, $value, webkit moz ms o spec); 3 | } 4 | -------------------------------------------------------------------------------- /bower_components/flexnav/font/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/bower_components/flexnav/font/FontAwesome.otf -------------------------------------------------------------------------------- /content/03-blog/01-your-first-article/blogarticle.txt: -------------------------------------------------------------------------------- 1 | Title: This is my first Article 2 | ---- 3 | Date: 08.12.2011 4 | ---- 5 | Text: Hello World! 6 | ---- -------------------------------------------------------------------------------- /content/03-blog/02-your-second-article/blogarticle.txt: -------------------------------------------------------------------------------- 1 | Title: This is my first Article 2 | ---- 3 | Date: 08.12.2011 4 | ---- 5 | Text: Hello World! 6 | ---- -------------------------------------------------------------------------------- /content/03-blog/03-your-third-article/blogarticle.txt: -------------------------------------------------------------------------------- 1 | Title: This is my first Article 2 | ---- 3 | Date: 08.12.2011 4 | ---- 5 | Text: Hello World! 6 | ---- -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_user-select.scss: -------------------------------------------------------------------------------- 1 | @mixin user-select($arg: none) { 2 | @include prefixer(user-select, $arg, webkit moz ms spec); 3 | } 4 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_grid.scss: -------------------------------------------------------------------------------- 1 | @if $border-box-sizing == true { 2 | * { 3 | @include box-sizing(border-box); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /bower_components/neat/test/outer-container.scss: -------------------------------------------------------------------------------- 1 | @import 'setup'; 2 | 3 | $max-width: 960px; 4 | 5 | .container-default { 6 | @include outer-container; 7 | } 8 | -------------------------------------------------------------------------------- /content/site.txt: -------------------------------------------------------------------------------- 1 | Title: My site 2 | ---- 3 | Author: 4 | ---- 5 | Description: A nice little website. 6 | ---- 7 | Keywords: 8 | ---- 9 | Copyright: © (date: Year) -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_golden-ratio.scss: -------------------------------------------------------------------------------- 1 | @function golden-ratio($value, $increment) { 2 | @return modular-scale($value, $increment, $golden) 3 | } 4 | -------------------------------------------------------------------------------- /bower_components/flexnav/font/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/bower_components/flexnav/font/fontawesome-webfont.eot -------------------------------------------------------------------------------- /bower_components/flexnav/font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/bower_components/flexnav/font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /bower_components/flexnav/font/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/bower_components/flexnav/font/fontawesome-webfont.woff -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_calc.scss: -------------------------------------------------------------------------------- 1 | @mixin calc($property, $value) { 2 | #{$property}: -webkit-calc(#{$value}); 3 | #{$property}: calc(#{$value}); 4 | } 5 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_hyphens.scss: -------------------------------------------------------------------------------- 1 | @mixin hyphens($hyphenation: none) { 2 | // none | manual | auto 3 | @include prefixer(hyphens, $hyphenation, webkit moz ms spec); 4 | } -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_pad.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_pad.scssc -------------------------------------------------------------------------------- /.sass-cache/7ffc7902b585034bb2c337d809b2c01667923f8e/_neat.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/7ffc7902b585034bb2c337d809b2c01667923f8e/_neat.scssc -------------------------------------------------------------------------------- /.sass-cache/aeedc6d56b6d18347c012a6ed41e0813e61d7b55/_grid.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/aeedc6d56b6d18347c012a6ed41e0813e61d7b55/_grid.scssc -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_box-sizing.scss: -------------------------------------------------------------------------------- 1 | @mixin box-sizing ($box) { 2 | // content-box | border-box | inherit 3 | @include prefixer(box-sizing, $box, webkit moz spec); 4 | } 5 | -------------------------------------------------------------------------------- /.sass-cache/2101ca9953acfa1f4549cafd1c095e31ac3ca7bf/_bourbon.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/2101ca9953acfa1f4549cafd1c095e31ac3ca7bf/_bourbon.scssc -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_media.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_media.scssc -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_omega.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_omega.scssc -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_private.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_private.scssc -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_reset.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_reset.scssc -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_shift.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_shift.scssc -------------------------------------------------------------------------------- /.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_assign.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_assign.scssc -------------------------------------------------------------------------------- /.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_unpack.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_unpack.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_columns.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_columns.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_filter.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_filter.scssc -------------------------------------------------------------------------------- /.sass-cache/c189c210ee29df00fc566f3ef0c8bca29b0950b4/_mobile.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c189c210ee29df00fc566f3ef0c8bca29b0950b4/_mobile.scssc -------------------------------------------------------------------------------- /.sass-cache/c189c210ee29df00fc566f3ef0c8bca29b0950b4/_reset.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c189c210ee29df00fc566f3ef0c8bca29b0950b4/_reset.scssc -------------------------------------------------------------------------------- /.sass-cache/c189c210ee29df00fc566f3ef0c8bca29b0950b4/styles.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c189c210ee29df00fc566f3ef0c8bca29b0950b4/styles.scssc -------------------------------------------------------------------------------- /.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_button.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_button.scssc -------------------------------------------------------------------------------- /.sass-cache/e7edd49301364893e8e1520ddbd903916ad22657/_is-num.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/e7edd49301364893e8e1520ddbd903916ad22657/_is-num.scssc -------------------------------------------------------------------------------- /.sass-cache/eac4c20d8ba7975086673cec083e62cd15aff564/_private.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/eac4c20d8ba7975086673cec083e62cd15aff564/_private.scssc -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_strip-units.scss: -------------------------------------------------------------------------------- 1 | // Srtips the units from a value. e.g. 12px -> 12 2 | 3 | @function strip-units($val) { 4 | @return ($val / ($val * 0 + 1)); 5 | } 6 | -------------------------------------------------------------------------------- /.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_flex-grid.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_flex-grid.scssc -------------------------------------------------------------------------------- /.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_px-to-em.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_px-to-em.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_flex-box.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_flex-box.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_font-face.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_font-face.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_keyframes.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_keyframes.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_transform.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_transform.scssc -------------------------------------------------------------------------------- /.sass-cache/c189c210ee29df00fc566f3ef0c8bca29b0950b4/_variables.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c189c210ee29df00fc566f3ef0c8bca29b0950b4/_variables.scssc -------------------------------------------------------------------------------- /.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_clearfix.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_clearfix.scssc -------------------------------------------------------------------------------- /.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_ellipsis.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_ellipsis.scssc -------------------------------------------------------------------------------- /.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_hide-text.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_hide-text.scssc -------------------------------------------------------------------------------- /.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_position.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_position.scssc -------------------------------------------------------------------------------- /.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_prefixer.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_prefixer.scssc -------------------------------------------------------------------------------- /.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_triangle.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_triangle.scssc -------------------------------------------------------------------------------- /.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_word-wrap.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_word-wrap.scssc -------------------------------------------------------------------------------- /assets/sass/_variables.scss: -------------------------------------------------------------------------------- 1 | $mobile-size: 480px; 2 | 3 | $mobile: new-breakpoint(min-width $mobile-size 4); 4 | 5 | $visual-grid-index: front; 6 | $visual-grid: true; 7 | $visual-grid-opacity: 0.4; 8 | -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_fill-parent.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_fill-parent.scssc -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_span-columns.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_span-columns.scssc -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_to-deprecate.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_to-deprecate.scssc -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_visual-grid.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_visual-grid.scssc -------------------------------------------------------------------------------- /.sass-cache/7ffc7902b585034bb2c337d809b2c01667923f8e/_neat-helpers.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/7ffc7902b585034bb2c337d809b2c01667923f8e/_neat-helpers.scssc -------------------------------------------------------------------------------- /.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_grid-width.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_grid-width.scssc -------------------------------------------------------------------------------- /.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_tint-shade.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_tint-shade.scssc -------------------------------------------------------------------------------- /.sass-cache/aeedc6d56b6d18347c012a6ed41e0813e61d7b55/_visual-grid.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/aeedc6d56b6d18347c012a6ed41e0813e61d7b55/_visual-grid.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_background.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_background.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_border-image.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_border-image.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_perspective.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_perspective.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_placeholder.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_placeholder.scssc -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_transition.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_transition.scssc -------------------------------------------------------------------------------- /.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_retina-image.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/c68c130ea9f3d1b1fa446e7150ac5c3a121d2431/_retina-image.scssc -------------------------------------------------------------------------------- /.sass-cache/e7edd49301364893e8e1520ddbd903916ad22657/_str-to-num.scssc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iheanyi/fernanda-portfolio/master/.sass-cache/e7edd49301364893e8e1520ddbd903916ad22657/_str-to-num.scssc -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_filter.scss: -------------------------------------------------------------------------------- 1 | @mixin filter($function: none) { 2 | // [ 2 | 3 |
4 | 5 |
6 |

title()) ?>

7 | text()) ?> 8 |
9 | 10 |
11 | 12 | -------------------------------------------------------------------------------- /site/snippets/menu.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bower_components/neat/test/new-breakpoint.scss: -------------------------------------------------------------------------------- 1 | @import 'setup'; 2 | 3 | $tablet: new-breakpoint(max-width 768px 12); 4 | 5 | .responsive-element { 6 | @include media($tablet) { 7 | color: #000; 8 | } 9 | } 10 | 11 | #visual-grid-breakpoints { 12 | value: $visual-grid-breakpoints 13 | } 14 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_perspective.scss: -------------------------------------------------------------------------------- 1 | @mixin perspective($depth: none) { 2 | // none | 3 | @include prefixer(perspective, $depth, webkit moz spec); 4 | } 5 | 6 | @mixin perspective-origin($value: 50% 50%) { 7 | @include prefixer(perspective-origin, $value, webkit moz spec); 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/responsive-nav/client/test/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "globals" : { 3 | "expect" : false, 4 | "spyOn" : false, 5 | "describe" : false, 6 | "it" : false, 7 | "beforeEach" : false, 8 | "afterEach" : false, 9 | "jasmine" : false, 10 | "xit" : false 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_pad.scss: -------------------------------------------------------------------------------- 1 | @mixin pad($padding: flex-gutter()) { 2 | $padding-list: null; 3 | @each $value in $padding { 4 | $value: if($value == 'default', flex-gutter(), $value); 5 | $padding-list: join($padding-list, $value); 6 | } 7 | padding: $padding-list; 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_tint-shade.scss: -------------------------------------------------------------------------------- 1 | // Add percentage of white to a color 2 | @function tint($color, $percent){ 3 | @return mix(white, $color, $percent); 4 | } 5 | 6 | // Add percentage of black to a color 7 | @function shade($color, $percent){ 8 | @return mix(black, $color, $percent); 9 | } 10 | -------------------------------------------------------------------------------- /bower_components/neat/test/pad.scss: -------------------------------------------------------------------------------- 1 | @import 'setup'; 2 | 3 | .pad-default { 4 | @include pad; 5 | } 6 | 7 | .pad-explicit { 8 | @include pad(20px); 9 | } 10 | 11 | .pad-shorthand { 12 | @include pad(30px 20px 10px 5px); 13 | } 14 | 15 | .pad-shorthand-default { 16 | @include pad(30px default 10px default); 17 | } 18 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_assign.scss: -------------------------------------------------------------------------------- 1 | @function assign-inputs($inputs, $pseudo: null) { 2 | $list : (); 3 | 4 | @each $input in $inputs { 5 | $input: unquote($input); 6 | $input: if($pseudo, $input + ":" + $pseudo, $input); 7 | $list: append($list, $input, comma); 8 | } 9 | 10 | @return $list; 11 | } -------------------------------------------------------------------------------- /bower_components/bourbon/dist/settings/_prefixer.scss: -------------------------------------------------------------------------------- 1 | // Variable settings for /addons/prefixer.scss 2 | $prefix-for-webkit: true !default; 3 | $prefix-for-mozilla: true !default; 4 | $prefix-for-microsoft: true !default; 5 | $prefix-for-opera: true !default; 6 | $prefix-for-spec: true !default; // required for keyframe mixin 7 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_reset.scss: -------------------------------------------------------------------------------- 1 | @mixin reset-display { 2 | $container-display-table: false !global; 3 | } 4 | 5 | @mixin reset-layout-direction { 6 | $layout-direction: $default-layout-direction !global; 7 | } 8 | 9 | @mixin reset-all { 10 | @include reset-display; 11 | @include reset-layout-direction; 12 | } 13 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/settings/_visual-grid.scss: -------------------------------------------------------------------------------- 1 | $visual-grid: false !default; // Display the base grid 2 | $visual-grid-color: #EEE !default; 3 | $visual-grid-index: back !default; // Show grid behind content (back) or overlay it over the content (front) 4 | $visual-grid-opacity: 0.4 !default; 5 | $visual-grid-breakpoints: () !default; 6 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/addons/_font-family.scss: -------------------------------------------------------------------------------- 1 | $georgia: Georgia, Cambria, "Times New Roman", Times, serif; 2 | $helvetica: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; 3 | $lucida-grande: "Lucida Grande", Tahoma, Verdana, Arial, sans-serif; 4 | $monospace: "Bitstream Vera Sans Mono", Consolas, Courier, monospace; 5 | $verdana: Verdana, Geneva, sans-serif; 6 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_backface-visibility.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Backface-visibility mixin 3 | //************************************************************************// 4 | @mixin backface-visibility($visibility) { 5 | @include prefixer(backface-visibility, $visibility, webkit spec); 6 | } 7 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_shape-size-stripper.scss: -------------------------------------------------------------------------------- 1 | @function _shape-size-stripper($shape-size) { 2 | $shape-size-spec: null; 3 | @each $value in $shape-size { 4 | @if ($value == "cover") or ($value == "contain") { 5 | $value: null; 6 | } 7 | $shape-size-spec: "#{$shape-size-spec} #{$value}"; 8 | } 9 | @return $shape-size-spec; 10 | } 11 | -------------------------------------------------------------------------------- /site/templates/blogarticle.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 |
6 |

title()) ?>

7 | text()) ?> 8 | 9 | Back… 10 | 11 |
12 |
13 | 14 | -------------------------------------------------------------------------------- /bower_components/bourbon/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bourbon", 3 | "homepage": "http://bourbon.io/", 4 | "version": "4.0.2", 5 | "main": "dist/_bourbon.scss", 6 | "ignore": [ 7 | "app", 8 | "bin", 9 | "features", 10 | "lib", 11 | ".gitignore", 12 | "Gemfile", 13 | "Gemfile.lock", 14 | "Rakefile", 15 | "bourbon.gemspec" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /bower_components/neat/spec/support/matchers/be_contained_in.rb: -------------------------------------------------------------------------------- 1 | RSpec::Matchers.define :be_contained_in do |expected| 2 | match do |actual| 3 | @query = ParserSupport.parser.find_by_selector(actual, expected) 4 | @query.any? 5 | end 6 | 7 | failure_message_for_should do |actual| 8 | %{expected selector #{actual} to be contained in #{expected}} 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /content/home/home.txt: -------------------------------------------------------------------------------- 1 | Title: Home 2 | 3 | ---- 4 | 5 | Text: 6 | 7 | Yay! If you are seeing this, the installation of Kirby worked :) 8 | Now just give the links in the menu a try to see if URL redirection works as well. 9 | 10 | Check out the docs: if you run into any problems or send me an email: 11 | 12 | Have fun with Kirby! -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "engines": { 3 | "node": ">= 0.10.0" 4 | }, 5 | "devDependencies": { 6 | "grunt": "^0.4.5", 7 | "grunt-contrib-concat": "~0.3.0", 8 | "grunt-contrib-jshint": "~0.7.2", 9 | "grunt-contrib-qunit": "~0.3.0", 10 | "grunt-contrib-sass": "^0.7.3", 11 | "grunt-contrib-uglify": "~0.2.7", 12 | "grunt-contrib-watch": "~0.5.3" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_is-num.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Helper for linear-gradient-parser 3 | //************************************************************************// 4 | @function _is-num($char) { 5 | $values: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 0 1 2 3 4 5 6 7 8 9; 6 | $index: index($values, $char); 7 | @return if($index, true, false); 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/neat/spec/neat/container_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "@include outer-container()" do 4 | before(:all) do 5 | ParserSupport.parse_file("outer-container") 6 | end 7 | 8 | it "adds clearfix" do 9 | expect('.container-default:after').to have_rule('clear: both') 10 | end 11 | 12 | it "sets max-width" do 13 | expect('.container-default').to have_rule('max-width: 960px') 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/addons/_size.scss: -------------------------------------------------------------------------------- 1 | @mixin size($size) { 2 | $height: nth($size, 1); 3 | $width: $height; 4 | 5 | @if length($size) > 1 { 6 | $height: nth($size, 2); 7 | } 8 | 9 | @if $height == auto or (type-of($height) == number and not unitless($height)) { 10 | height: $height; 11 | } 12 | 13 | @if $width == auto or (type-of($width) == number and not unitless($width)) { 14 | width: $width; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_image-rendering.scss: -------------------------------------------------------------------------------- 1 | @mixin image-rendering ($mode:auto) { 2 | 3 | @if ($mode == crisp-edges) { 4 | -ms-interpolation-mode: nearest-neighbor; // IE8+ 5 | image-rendering: -moz-crisp-edges; 6 | image-rendering: -o-crisp-edges; 7 | image-rendering: -webkit-optimize-contrast; 8 | image-rendering: crisp-edges; 9 | } 10 | 11 | @else { 12 | image-rendering: $mode; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_px-to-rem.scss: -------------------------------------------------------------------------------- 1 | // Convert pixels to rems 2 | // eg. for a relational value of 12px write rem(12) 3 | // Assumes $em-base is the font-size of 4 | 5 | @function rem($pxval) { 6 | @if not unitless($pxval) { 7 | $pxval: strip-units($pxval); 8 | } 9 | 10 | $base: $em-base; 11 | @if not unitless($base) { 12 | $base: strip-units($base); 13 | } 14 | @return ($pxval / $base) * 1rem; 15 | } 16 | -------------------------------------------------------------------------------- /bower_components/neat/test/omega.scss: -------------------------------------------------------------------------------- 1 | @import 'setup'; 2 | 3 | .omega-default { 4 | @include omega; 5 | } 6 | 7 | .omega-nth-default { 8 | @include omega(4n) 9 | } 10 | 11 | .omega-complex-nth { 12 | @include omega("4n+1"); 13 | } 14 | 15 | section { 16 | @include row($direction: RTL); 17 | 18 | .omega-default-left { 19 | @include omega; 20 | } 21 | 22 | .omega-nth-default-left { 23 | @include omega(4n block); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /bower_components/neat/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "neat", 3 | "version": "1.6.0", 4 | "homepage": "http://neat.bourbon.io/", 5 | "main": "app/assets/stylesheets/_neat.scss", 6 | "ignore": [ 7 | "bin", 8 | "lib", 9 | ".gitignore", 10 | "Gemfile", 11 | "Gemfile.lock", 12 | "Rakefile", 13 | "neat.gemspec", 14 | "CONTRIBUTING.md", 15 | "NEWS.md" 16 | ], 17 | "dependencies": { 18 | "bourbon": ">=3.1" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_px-to-em.scss: -------------------------------------------------------------------------------- 1 | // Convert pixels to ems 2 | // eg. for a relational value of 12px write em(12) when the parent is 16px 3 | // if the parent is another value say 24px write em(12, 24) 4 | 5 | @function em($pxval, $base: $em-base) { 6 | @if not unitless($pxval) { 7 | $pxval: strip-units($pxval); 8 | } 9 | @if not unitless($base) { 10 | $base: strip-units($base); 11 | } 12 | @return ($pxval / $base) * 1em; 13 | } 14 | -------------------------------------------------------------------------------- /bower_components/neat/test/row.scss: -------------------------------------------------------------------------------- 1 | @import 'setup'; 2 | 3 | .row-default { 4 | @include row; 5 | } 6 | 7 | .row-table { 8 | @include row(table); 9 | } 10 | 11 | .row-invalid-display { 12 | @include row(invalid-argument); 13 | } 14 | 15 | .row-table-reset { 16 | @include row(table); 17 | 18 | .block-child { 19 | @include span-columns(4, block); 20 | @include reset-display; 21 | } 22 | } 23 | 24 | .no-row { 25 | @include span-columns(4); 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/neat/test/span-columns.scss: -------------------------------------------------------------------------------- 1 | @import 'setup'; 2 | 3 | .span-columns-default { 4 | @include span-columns(6); 5 | 6 | .span-columns-nested { 7 | @include span-columns(2 of 6); 8 | } 9 | } 10 | 11 | .span-columns-table { 12 | @include span-columns(6, table); 13 | } 14 | 15 | .span-columns-collapse { 16 | @include span-columns(6, block-collapse); 17 | } 18 | 19 | .span-columns-no-display { 20 | @include span-columns(6, no-display); 21 | } 22 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/_bourbon-deprecated-upcoming.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // These mixins/functions are deprecated 3 | // They will be removed in the next MAJOR version release 4 | //************************************************************************// 5 | @mixin inline-block { 6 | display: inline-block; 7 | @warn "inline-block mixin is deprecated and will be removed in the next major version release"; 8 | } 9 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_row.scss: -------------------------------------------------------------------------------- 1 | @mixin row($display: block, $direction: $default-layout-direction) { 2 | @include clearfix; 3 | $layout-direction: $direction !global; 4 | 5 | @if $display == table { 6 | display: table; 7 | @include fill-parent; 8 | table-layout: fixed; 9 | $container-display-table: true !global; 10 | } 11 | 12 | @else { 13 | display: block; 14 | $container-display-table: false !global; 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fernanda-portfolio", 3 | "version": "1.1.2", 4 | "homepage": "iheanyi.com", 5 | "authors": [ 6 | "Iheanyi Ekechukwu " 7 | ], 8 | "license": "MIT", 9 | "private": true, 10 | "ignore": [ 11 | "**/.*", 12 | "node_modules", 13 | "bower_components", 14 | "test", 15 | "tests" 16 | ], 17 | "dependencies": { 18 | "bourbon": "~4.0.2", 19 | "neat": "~1.6.0", 20 | "flexnav": "~1.3.3" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /bower_components/flexnav/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flexnav", 3 | "version": "1.1", 4 | "repository": "https://github.com/indyplanets/flexnav", 5 | "license": "http://unlicense.org/", 6 | "devDependencies": { 7 | "grunt": "latest", 8 | "grunt-contrib-coffee": "latest", 9 | "grunt-contrib-sass": "latest", 10 | "grunt-coffeelint": "latest", 11 | "grunt-contrib-uglify": "latest", 12 | "grunt-contrib-watch": "latest" 13 | } 14 | } -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_grid-width.scss: -------------------------------------------------------------------------------- 1 | @function grid-width($n) { 2 | @return $n * $gw-column + ($n - 1) * $gw-gutter; 3 | } 4 | 5 | // The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function. 6 | // 7 | // $gw-column: 100px; // Column Width 8 | // $gw-gutter: 40px; // Gutter Width 9 | // 10 | // div { 11 | // width: grid-width(4); // returns 520px; 12 | // margin-left: $gw-gutter; // returns 40px; 13 | // } 14 | -------------------------------------------------------------------------------- /kirby/parsers/defaults.php: -------------------------------------------------------------------------------- 1 | findOpen(); 5 | $items = ($open) ? $open->children()->visible() : false; 6 | 7 | ?> 8 | count()): ?> 9 | 16 | 17 | -------------------------------------------------------------------------------- /bower_components/neat/spec/support/matchers/have_value.rb: -------------------------------------------------------------------------------- 1 | RSpec::Matchers.define :have_value do |expected| 2 | match do |actual| 3 | selector_id = actual.sub('$','#') 4 | value_attribute = ParserSupport.parser.find_by_selector(selector_id)[0] 5 | 6 | unless value_attribute.nil? 7 | actual_value = value_attribute.split(':')[1].strip.sub(';', '') 8 | actual_value == expected 9 | end 10 | end 11 | 12 | failure_message_for_should do |actual| 13 | %{expected variable #{actual} to have value "#{expected}"} 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_color-lightness.scss: -------------------------------------------------------------------------------- 1 | // Programatically determines whether a color is light or dark 2 | // Returns a boolean 3 | // More details here http://robots.thoughtbot.com/closer-look-color-lightness 4 | 5 | @function is-light($hex-color) { 6 | $-local-red: red(rgba($hex-color, 1.0)); 7 | $-local-green: green(rgba($hex-color, 1.0)); 8 | $-local-blue: blue(rgba($hex-color, 1.0)); 9 | 10 | $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255; 11 | 12 | @return $-local-lightness > .6; 13 | } 14 | -------------------------------------------------------------------------------- /bower_components/flexnav/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flexnav", 3 | "version": "1.2.2", 4 | "homepage": "http://jasonweaver.name/lab/flexiblenavigation/", 5 | "description": "A jQuery plugin for responsive menus", 6 | "keywords": [ 7 | "jquery", 8 | "plugin", 9 | "menus", 10 | "responsive navigation", 11 | "flexnav" 12 | ], 13 | "authors": [ 14 | "Jason Weaver" 15 | ], 16 | "license": "Unlicense", 17 | "ignore": [ 18 | "**/.*", 19 | "node_modules", 20 | "bower_components", 21 | "test", 22 | "tests" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/functions/_new-breakpoint.scss: -------------------------------------------------------------------------------- 1 | @function new-breakpoint($query:$feature $value $columns, $total-columns: $grid-columns) { 2 | 3 | @if length($query) == 1 { 4 | $query: $default-feature nth($query, 1) $total-columns; 5 | } 6 | 7 | @else if length($query) % 2 == 0 { 8 | $query: append($query, $total-columns); 9 | } 10 | 11 | @if not belongs-to($query, $visual-grid-breakpoints) { 12 | $visual-grid-breakpoints: append($visual-grid-breakpoints, $query, comma) !global; 13 | } 14 | 15 | @return $query; 16 | } 17 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/_neat.scss: -------------------------------------------------------------------------------- 1 | // Bourbon Neat 1.6.0.pre 2 | // MIT Licensed 3 | // Copyright (c) 2012-2013 thoughtbot, inc. 4 | 5 | // Helpers 6 | @import "neat-helpers"; 7 | 8 | // Grid 9 | @import "grid/private"; 10 | @import "grid/reset"; 11 | @import "grid/grid"; 12 | @import "grid/omega"; 13 | @import "grid/outer-container"; 14 | @import "grid/span-columns"; 15 | @import "grid/row"; 16 | @import "grid/shift"; 17 | @import "grid/pad"; 18 | @import "grid/fill-parent"; 19 | @import "grid/media"; 20 | @import "grid/to-deprecate"; 21 | @import "grid/visual-grid"; 22 | -------------------------------------------------------------------------------- /bower_components/neat/spec/neat/new_breakpoint_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "new-breakpoint()" do 4 | before(:all) do 5 | ParserSupport.parse_file("new-breakpoint") 6 | end 7 | 8 | context "with argument (max-width 768px 12)" do 9 | it "outputs (max-width 768px)" do 10 | expect('.responsive-element').to be_contained_in('screen and (max-width: 768px)') 11 | end 12 | 13 | it "adds (max-width 768px 12) to visual grid breakpoints" do 14 | expect('$visual-grid-breakpoints').to have_value('max-width 768px 12') 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_gradient-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _gradient-positions-parser($gradient-type, $gradient-positions) { 2 | @if $gradient-positions 3 | and ($gradient-type == linear) 4 | and (type-of($gradient-positions) != color) { 5 | $gradient-positions: _linear-positions-parser($gradient-positions); 6 | } 7 | @else if $gradient-positions 8 | and ($gradient-type == radial) 9 | and (type-of($gradient-positions) != color) { 10 | $gradient-positions: _radial-positions-parser($gradient-positions); 11 | } 12 | @return $gradient-positions; 13 | } 14 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_transform.scss: -------------------------------------------------------------------------------- 1 | @mixin transform($property: none) { 2 | // none | 3 | @include prefixer(transform, $property, webkit moz ms o spec); 4 | } 5 | 6 | @mixin transform-origin($axes: 50%) { 7 | // x-axis - left | center | right | length | % 8 | // y-axis - top | center | bottom | length | % 9 | // z-axis - length 10 | @include prefixer(transform-origin, $axes, webkit moz ms o spec); 11 | } 12 | 13 | @mixin transform-style ($style: flat) { 14 | @include prefixer(transform-style, $style, webkit moz ms o spec); 15 | } 16 | -------------------------------------------------------------------------------- /site/templates/blog.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 |

title()) ?>

7 | text()) ?> 8 | 9 | children()->visible()->flip() as $article): ?> 10 | 11 |
12 |

title()) ?>

13 |

text(), 300) ?>

14 | Read more… 15 |
16 | 17 | 18 | 19 |
20 | 21 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_unpack.scss: -------------------------------------------------------------------------------- 1 | // Convert shorthand to the 4-value syntax 2 | 3 | @function unpack($shorthand) { 4 | @if length($shorthand) == 1 { 5 | @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1); 6 | } 7 | @else if length($shorthand) == 2 { 8 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2); 9 | } 10 | @else if length($shorthand) == 3 { 11 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2); 12 | } 13 | @else { 14 | @return $shorthand; 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_radial-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-positions-parser($gradient-pos) { 2 | $shape-size: nth($gradient-pos, 1); 3 | $pos: nth($gradient-pos, 2); 4 | $shape-size-spec: _shape-size-stripper($shape-size); 5 | 6 | $pre-spec: unquote(if($pos, "#{$pos}, ", null)) 7 | unquote(if($shape-size, "#{$shape-size},", null)); 8 | $pos-spec: if($pos, "at #{$pos}", null); 9 | 10 | $spec: "#{$shape-size-spec} #{$pos-spec}"; 11 | 12 | // Add comma 13 | @if ($spec != ' ') { 14 | $spec: "#{$spec}," 15 | } 16 | 17 | @return $pre-spec $spec; 18 | } 19 | -------------------------------------------------------------------------------- /bower_components/responsive-nav/client/test/polyfills.spec.js: -------------------------------------------------------------------------------- 1 | /*global describe: false, it: false */ 2 | describe("polyfills", function () { 3 | 4 | /** 5 | * computed 6 | */ 7 | describe("computed", function () { 8 | 9 | it("checks if getComputedStyles is supported and polyfills it if not", function () { 10 | var el = document.createElement("div"); 11 | el.style.display = "inline"; 12 | document.getElementsByTagName("body")[0].appendChild(el); 13 | var test = window.getComputedStyle(el); 14 | expect(test.display).toEqual("inline"); 15 | }); 16 | 17 | }); 18 | 19 | }); 20 | -------------------------------------------------------------------------------- /bower_components/responsive-nav/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "responsive-nav", 3 | "version": "1.0.32", 4 | "main": [ 5 | "responsive-nav.css", 6 | "responsive-nav.js" 7 | ], 8 | "ignore": [ 9 | "demos/" 10 | ], 11 | "homepage": "https://github.com/viljamis/responsive-nav.js", 12 | "_release": "1.0.32", 13 | "_resolution": { 14 | "type": "version", 15 | "tag": "1.0.32", 16 | "commit": "fc96f6f4211f727690a9b5399c5165cedee61855" 17 | }, 18 | "_source": "git://github.com/viljamis/responsive-nav.js.git", 19 | "_target": "~1.0.32", 20 | "_originalSource": "responsive-nav", 21 | "_direct": true 22 | } -------------------------------------------------------------------------------- /bower_components/responsive-nav/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Pull Request Guidelines 2 | 3 | Please follow these conventions below if you want to do a pull request. 4 | 5 | ## General 6 | 7 | * Each pull request for a single feature or bug fix 8 | * If you are planning on doing something big, please discuss first with [@viljamis](http://twitter.com/viljamis) about it 9 | * Does it fit into the current design? 10 | 11 | ## Code formatting 12 | 13 | * Don’t use tabs to indent, instead use Soft Tabs (spaces) with tab size of 2. 14 | * Don’t leave trailing whitespaces. 15 | * Use Grunt and the included settings to run tests and build up the project. 16 | -------------------------------------------------------------------------------- /bower_components/neat/test/shift.scss: -------------------------------------------------------------------------------- 1 | @import 'setup'; 2 | 3 | .shift-default { 4 | @include shift; 5 | } 6 | 7 | .shift-positive { 8 | @include shift(2); 9 | } 10 | 11 | .shift-negative { 12 | @include shift(-3); 13 | } 14 | 15 | // Nesting 16 | .shifted-parent { 17 | @include span-columns(6); 18 | 19 | .shifted-child { 20 | @include shift(2 of 6); 21 | } 22 | } 23 | 24 | .post-nested-shift { 25 | @include shift(2); 26 | } 27 | 28 | // Changing direction 29 | section { 30 | @include row($direction: RTL); 31 | 32 | .shift-negative { 33 | @include shift(-3); 34 | @include reset-layout-direction; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/addons/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // Modern micro clearfix provides an easy way to contain floats without adding additional markup. 2 | // 3 | // Example usage: 4 | // 5 | // // Contain all floats within .wrapper 6 | // .wrapper { 7 | // @include clearfix; 8 | // .content, 9 | // .sidebar { 10 | // float : left; 11 | // } 12 | // } 13 | 14 | @mixin clearfix { 15 | &:after { 16 | content:""; 17 | display:table; 18 | clear:both; 19 | } 20 | } 21 | 22 | // Acknowledgements 23 | // Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php) 24 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_shift.scss: -------------------------------------------------------------------------------- 1 | @mixin shift($n-columns: 1) { 2 | @include shift-in-context($n-columns); 3 | } 4 | 5 | @mixin shift-in-context($shift: $columns of $container-columns) { 6 | $n-columns: nth($shift, 1); 7 | $parent-columns: container-shift($shift) !global; 8 | 9 | $direction: get-direction($layout-direction, $default-layout-direction); 10 | $opposite-direction: get-opposite-direction($direction); 11 | 12 | margin-#{$opposite-direction}: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns); 13 | 14 | // Reset nesting context 15 | $parent-columns: $grid-columns !global; 16 | } 17 | -------------------------------------------------------------------------------- /bower_components/responsive-nav/client/src/polyfills.js: -------------------------------------------------------------------------------- 1 | var computed = !!window.getComputedStyle; 2 | 3 | // getComputedStyle polyfill 4 | if (!computed) { 5 | window.getComputedStyle = function(el) { 6 | this.el = el; 7 | this.getPropertyValue = function(prop) { 8 | var re = /(\-([a-z]){1})/g; 9 | if (prop === "float") { 10 | prop = "styleFloat"; 11 | } 12 | if (re.test(prop)) { 13 | prop = prop.replace(re, function () { 14 | return arguments[2].toUpperCase(); 15 | }); 16 | } 17 | return el.currentStyle[prop] ? el.currentStyle[prop] : null; 18 | }; 19 | return this; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /bower_components/bourbon/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bourbon", 3 | "version": "4.0.2", 4 | "description": "A simple and lightweight mixin library for Sass.", 5 | "main": "dist/_bourbon.scss", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/thoughtbot/bourbon" 12 | }, 13 | "keywords": [ 14 | "scss", 15 | "css", 16 | "mixins" 17 | ], 18 | "author": "Thoughtbot", 19 | "license": "MIT", 20 | "bugs": { 21 | "url": "https://github.com/thoughtbot/bourbon/issues" 22 | }, 23 | "homepage": "https://github.com/thoughtbot/bourbon" 24 | } 25 | -------------------------------------------------------------------------------- /bower_components/bourbon/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bourbon", 3 | "homepage": "http://bourbon.io/", 4 | "version": "4.0.2", 5 | "main": "dist/_bourbon.scss", 6 | "ignore": [ 7 | "app", 8 | "bin", 9 | "features", 10 | "lib", 11 | ".gitignore", 12 | "Gemfile", 13 | "Gemfile.lock", 14 | "Rakefile", 15 | "bourbon.gemspec" 16 | ], 17 | "_release": "4.0.2", 18 | "_resolution": { 19 | "type": "version", 20 | "tag": "v4.0.2", 21 | "commit": "216bef68de9f9e0a8a8f4f17c2676b19400a64a1" 22 | }, 23 | "_source": "git://github.com/thoughtbot/bourbon.git", 24 | "_target": "~4.0.2", 25 | "_originalSource": "bourbon", 26 | "_direct": true 27 | } -------------------------------------------------------------------------------- /bower_components/neat/spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) 2 | $LOAD_PATH.unshift(File.dirname(__FILE__)) 3 | require 'rspec' 4 | require 'neat' 5 | require 'aruba/api' 6 | require 'css_parser' 7 | Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f } 8 | 9 | RSpec.configure do |config| 10 | config.include BourbonSupport 11 | config.include SassSupport 12 | config.include CssParser 13 | config.include ParserSupport 14 | config.include Aruba::Api 15 | 16 | config.before(:all) do 17 | install_bourbon_files 18 | generate_css 19 | end 20 | 21 | config.after(:all) do 22 | remove_bourbon_files 23 | clean_up 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /content/01-about-us/about-us.txt: -------------------------------------------------------------------------------- 1 | Title: About 2 | ---- 3 | Text: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, 4 | -------------------------------------------------------------------------------- /content/02-portfolio/projects.txt: -------------------------------------------------------------------------------- 1 | Title: Portfolio 2 | 3 | ---- 4 | 5 | Text: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, -------------------------------------------------------------------------------- /content/02-portfolio/01-project-a/project.txt: -------------------------------------------------------------------------------- 1 | Title: Project A 2 | ---- 3 | Text: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, 4 | 5 | -------------------------------------------------------------------------------- /content/02-portfolio/02-project-b/project.txt: -------------------------------------------------------------------------------- 1 | Title: Project B 2 | ---- 3 | Text: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, 4 | 5 | -------------------------------------------------------------------------------- /content/02-portfolio/03-project-c/project.txt: -------------------------------------------------------------------------------- 1 | Title: Project C 2 | ---- 3 | Text: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, 4 | 5 | -------------------------------------------------------------------------------- /bower_components/neat/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "neat", 3 | "version": "1.6.0", 4 | "homepage": "http://neat.bourbon.io/", 5 | "main": "app/assets/stylesheets/_neat.scss", 6 | "ignore": [ 7 | "bin", 8 | "lib", 9 | ".gitignore", 10 | "Gemfile", 11 | "Gemfile.lock", 12 | "Rakefile", 13 | "neat.gemspec", 14 | "CONTRIBUTING.md", 15 | "NEWS.md" 16 | ], 17 | "dependencies": { 18 | "bourbon": ">=3.1" 19 | }, 20 | "_release": "1.6.0", 21 | "_resolution": { 22 | "type": "version", 23 | "tag": "v1.6.0", 24 | "commit": "9a89e73fae9c6d0bcbcc1796b6c2f91be7e67e9b" 25 | }, 26 | "_source": "git://github.com/thoughtbot/neat.git", 27 | "_target": "~1.6.0", 28 | "_originalSource": "neat", 29 | "_direct": true 30 | } -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_convert-units.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Helper function for str-to-num fn. 3 | // Source: http://sassmeister.com/gist/9647408 4 | //************************************************************************// 5 | @function _convert-units($number, $unit) { 6 | $strings: 'px' 'cm' 'mm' '%' 'ch' 'pica' 'in' 'em' 'rem' 'pt' 'pc' 'ex' 'vw' 'vh' 'vmin' 'vmax', 'deg', 'rad', 'grad', 'turn'; 7 | $units: 1px 1cm 1mm 1% 1ch 1pica 1in 1em 1rem 1pt 1pc 1ex 1vw 1vh 1vmin 1vmax, 1deg, 1rad, 1grad, 1turn; 8 | $index: index($strings, $unit); 9 | 10 | @if not $index { 11 | @warn "Unknown unit `#{$unit}`."; 12 | @return false; 13 | } 14 | @return $number * nth($units, $index); 15 | } 16 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_transition-property-name.scss: -------------------------------------------------------------------------------- 1 | // Return vendor-prefixed property names if appropriate 2 | // Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background 3 | //************************************************************************// 4 | @function transition-property-names($props, $vendor: false) { 5 | $new-props: (); 6 | 7 | @each $prop in $props { 8 | $new-props: append($new-props, transition-property-name($prop, $vendor), comma); 9 | } 10 | 11 | @return $new-props; 12 | } 13 | 14 | @function transition-property-name($prop, $vendor: false) { 15 | // put other properties that need to be prefixed here aswell 16 | @if $vendor and $prop == transform { 17 | @return unquote('-'+$vendor+'-'+$prop); 18 | } 19 | @else { 20 | @return $prop; 21 | } 22 | } -------------------------------------------------------------------------------- /bower_components/neat/test/media.scss: -------------------------------------------------------------------------------- 1 | @import 'setup'; 2 | 3 | $composite: new-breakpoint(max-width 768px min-width 110px orientation portait 6); 4 | 5 | .media-default { 6 | @include media(481px) { 7 | color: #000; 8 | } 9 | } 10 | 11 | .media-max-width { 12 | @include media(max-width 480px) { 13 | position: relative; 14 | } 15 | } 16 | 17 | .media-min-max-width { 18 | @include media(min-width 320px max-width 480px) { 19 | position: relative; 20 | } 21 | } 22 | 23 | .change-media-context { 24 | @include media(481px, 6) { 25 | @include span-columns(6); 26 | } 27 | } 28 | 29 | .change-media-context-shorthand { 30 | @include media(max-width 480px 6) { 31 | @include span-columns(6); 32 | } 33 | } 34 | 35 | .composite-media-query { 36 | @include media($composite) { 37 | @include span-columns(6); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /bower_components/flexnav/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flexnav", 3 | "version": "1.3.3", 4 | "homepage": "http://jasonweaver.name/lab/flexiblenavigation/", 5 | "description": "A jQuery plugin for responsive menus", 6 | "keywords": [ 7 | "jquery", 8 | "plugin", 9 | "menus", 10 | "responsive navigation", 11 | "flexnav" 12 | ], 13 | "authors": [ 14 | "Jason Weaver" 15 | ], 16 | "license": "Unlicense", 17 | "ignore": [ 18 | "**/.*", 19 | "node_modules", 20 | "bower_components", 21 | "test", 22 | "tests" 23 | ], 24 | "_release": "1.3.3", 25 | "_resolution": { 26 | "type": "version", 27 | "tag": "v1.3.3", 28 | "commit": "39f5468675582d3b64ce0303bac20b26587c0a1b" 29 | }, 30 | "_source": "git://github.com/indyplanets/flexnav.git", 31 | "_target": "~1.3.3", 32 | "_originalSource": "flexnav", 33 | "_direct": true 34 | } -------------------------------------------------------------------------------- /bower_components/bourbon/dist/addons/_position.scss: -------------------------------------------------------------------------------- 1 | @mixin position ($position: relative, $coordinates: null null null null) { 2 | 3 | @if type-of($position) == list { 4 | $coordinates: $position; 5 | $position: relative; 6 | } 7 | 8 | $coordinates: unpack($coordinates); 9 | 10 | $top: nth($coordinates, 1); 11 | $right: nth($coordinates, 2); 12 | $bottom: nth($coordinates, 3); 13 | $left: nth($coordinates, 4); 14 | 15 | position: $position; 16 | 17 | @if ($top and $top == auto) or (type-of($top) == number) { 18 | top: $top; 19 | } 20 | 21 | @if ($right and $right == auto) or (type-of($right) == number) { 22 | right: $right; 23 | } 24 | 25 | @if ($bottom and $bottom == auto) or (type-of($bottom) == number) { 26 | bottom: $bottom; 27 | } 28 | 29 | @if ($left and $left == auto) or (type-of($left) == number) { 30 | left: $left; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /bower_components/neat/spec/support/matchers/have_rule.rb: -------------------------------------------------------------------------------- 1 | RSpec::Matchers.define :have_rule do |expected| 2 | match do |actual| 3 | @rules = rules_from_selector(actual) 4 | @rules.include? expected 5 | end 6 | 7 | failure_message_for_should do |actual| 8 | if @rules.empty? 9 | %{no CSS rules for selector #{actual} were found} 10 | else 11 | %{expected selector #{actual} to have CSS rule "#{expected}"} 12 | end 13 | end 14 | 15 | def rules_from_selector(selector) 16 | rulesets = ParserSupport.parser.find_by_selector(selector) 17 | if rulesets.empty? 18 | [] 19 | else 20 | rules(rulesets) 21 | end 22 | end 23 | 24 | def rules(rulesets) 25 | rules = [] 26 | rulesets.map do |ruleset| 27 | ruleset.split(';').each do |rule| 28 | rules << rule.strip 29 | end 30 | end 31 | rules 32 | end 33 | end 34 | -------------------------------------------------------------------------------- /bower_components/responsive-nav/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "responsive-nav", 3 | "version": "1.0.32", 4 | "description": "Responsive Nav JS plugin", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "grunt test --verbose" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/viljamis/responsive-nav.js.git" 12 | }, 13 | "bugs": { 14 | "url": "https://github.com/viljamis/responsive-nav/issues" 15 | }, 16 | "devDependencies": { 17 | "grunt": "~0.4.1", 18 | "grunt-contrib-jasmine": "~0.5.1", 19 | "grunt-contrib-jshint": "~0.6.3", 20 | "grunt-rigger": "~0.5.0", 21 | "grunt-contrib-watch": "~0.5.2", 22 | "grunt-contrib-uglify": "~0.2.2", 23 | "express": "~3.3.5", 24 | "grunt-shell": "~0.3.1", 25 | "grunt-replace": "~0.4.4", 26 | "grunt-karma": "~0.6.1", 27 | "grunt-contrib-copy": "~0.4.1" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /.sass-cache/e711513959359fa3bddbca12416905355059dfef/_asset-pipeline.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | bff5ef8a859a7e5f467323262aeb71047fda6814 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::VariableNode : 4 | @nameI"asset-pipeline:ET: 5 | @expro: Sass::Script::Tree::Literal : @valueo:Sass::Script::Value::Bool; F: @options{: 6 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position;i: @offseti: @end_poso;;i;i: 7 | @fileI"@bower_components/bourbon/dist/settings/_asset-pipeline.scss; T:@importero: Sass::Importers::Filesystem: 8 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 9 | @hash{:@filename@: @guardedT: @global0;[;i;o; ;o;;i;i;o;;i;i%;@;@;@ :@templateI"&$asset-pipeline: false !default; 10 | ; T;i;o; ;o;;i;i;o;;i;i;@;@:@has_childrenT;@ -------------------------------------------------------------------------------- /bower_components/responsive-nav/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "bitwise" : true, 3 | "camelcase" : true, 4 | "curly" : true, 5 | "eqeqeq" : true, 6 | "forin" : false, 7 | "immed" : true, 8 | "indent" : 2, 9 | "latedef" : true, 10 | "newcap" : true, 11 | "noarg" : true, 12 | "noempty" : true, 13 | "nonew" : true, 14 | "quotmark" : "double", 15 | "undef" : true, 16 | "unused" : "vars", 17 | "trailing" : true, 18 | "expr" : true, 19 | "browser" : true, 20 | "devel" : true, 21 | "node" : true, 22 | "globals" : { 23 | "index" : true, 24 | "responsiveNav" : true, 25 | "ResponsiveNav" : true, 26 | "addEvent" : true, 27 | "removeEvent" : true, 28 | "addClass" : true, 29 | "removeClass" : true, 30 | "setAttributes" : true, 31 | "getChildren" : true, 32 | "forEach" : true, 33 | "options" : true, 34 | "opts" : true, 35 | "nav" : true 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_linear-angle-parser.scss: -------------------------------------------------------------------------------- 1 | // Private function for linear-gradient-parser 2 | @function _linear-angle-parser($image, $first-val, $prefix, $suffix) { 3 | $offset: null; 4 | $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val)); 5 | $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val)); 6 | 7 | @if ($unit-long == "grad") or 8 | ($unit-long == "turn") { 9 | $offset: if($unit-long == "grad", -100grad * 3, -0.75turn); 10 | } 11 | 12 | @else if ($unit-short == "deg") or 13 | ($unit-short == "rad") { 14 | $offset: if($unit-short == "deg", -90 * 3, 1.6rad); 15 | } 16 | 17 | @if $offset { 18 | $num: _str-to-num($first-val); 19 | 20 | @return ( 21 | webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix, 22 | spec-image: $image 23 | ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /.sass-cache/e711513959359fa3bddbca12416905355059dfef/_px-to-em.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | 14880c373629b1e71abf17d6dc147ca56126856a 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::VariableNode : 4 | @nameI" em-base:ET: 5 | @expro: Sass::Script::Tree::Literal : @valueo: Sass::Script::Value::Number 6 | ; i:@numerator_units[I"px; T:@denominator_units[:@originalI" 16px; F: @options{: 7 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position;i: @offseti: @end_poso;;i;i: 8 | @fileI":bower_components/bourbon/dist/settings/_px-to-em.scss; T:@importero: Sass::Importers::Filesystem: 9 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 10 | @hash{:@filename@: @guardedT: @global0;[;i;o; ;o;;i;i;o;;i;i;@;@;@:@templateI"$em-base: 16px !default; 11 | ; T;i;o; ;o;;i;i;o;;i;i;@;@:@has_childrenT;@ -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_border-radius.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Shorthand Border-radius mixins 3 | //************************************************************************// 4 | @mixin border-top-radius($radii) { 5 | @include prefixer(border-top-left-radius, $radii, spec); 6 | @include prefixer(border-top-right-radius, $radii, spec); 7 | } 8 | 9 | @mixin border-bottom-radius($radii) { 10 | @include prefixer(border-bottom-left-radius, $radii, spec); 11 | @include prefixer(border-bottom-right-radius, $radii, spec); 12 | } 13 | 14 | @mixin border-left-radius($radii) { 15 | @include prefixer(border-top-left-radius, $radii, spec); 16 | @include prefixer(border-bottom-left-radius, $radii, spec); 17 | } 18 | 19 | @mixin border-right-radius($radii) { 20 | @include prefixer(border-top-right-radius, $radii, spec); 21 | @include prefixer(border-bottom-right-radius, $radii, spec); 22 | } 23 | -------------------------------------------------------------------------------- /bower_components/neat/spec/neat/pad_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "@include pad()" do 4 | before(:all) do 5 | ParserSupport.parse_file("pad") 6 | end 7 | 8 | context "with no argument" do 9 | it "sets padding to gutter percentage" do 10 | expect('.pad-default').to have_rule('padding: 2.35765%') 11 | end 12 | end 13 | 14 | context "with argument (20px)" do 15 | it "sets padding to 20px" do 16 | expect('.pad-explicit').to have_rule('padding: 20px') 17 | end 18 | end 19 | 20 | context "with argument (30px 20px 10px 5px)" do 21 | it "sets padding to 30px 20px 10px 5px" do 22 | expect('.pad-shorthand').to have_rule('padding: 30px 20px 10px 5px') 23 | end 24 | end 25 | 26 | context "with argument (default)" do 27 | it "uses default gutter percentage" do 28 | expect('.pad-shorthand-default').to have_rule('padding: 30px 2.35765% 10px 2.35765%') 29 | end 30 | end 31 | end 32 | 33 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_render-gradients.scss: -------------------------------------------------------------------------------- 1 | // User for linear and radial gradients within background-image or border-image properties 2 | 3 | @function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) { 4 | $pre-spec: null; 5 | $spec: null; 6 | $vendor-gradients: null; 7 | @if $gradient-type == linear { 8 | @if $gradient-positions { 9 | $pre-spec: nth($gradient-positions, 1); 10 | $spec: nth($gradient-positions, 2); 11 | } 12 | } 13 | @else if $gradient-type == radial { 14 | $pre-spec: nth($gradient-positions, 1); 15 | $spec: nth($gradient-positions, 2); 16 | } 17 | 18 | @if $vendor { 19 | $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients); 20 | } 21 | @else if $vendor == false { 22 | $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})"; 23 | $vendor-gradients: unquote($vendor-gradients); 24 | } 25 | @return $vendor-gradients; 26 | } 27 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/addons/_retina-image.scss: -------------------------------------------------------------------------------- 1 | @mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) { 2 | @if $asset-pipeline { 3 | background-image: image-url("#{$filename}.#{$extension}"); 4 | } 5 | @else { 6 | background-image: url("#{$filename}.#{$extension}"); 7 | } 8 | 9 | @include hidpi { 10 | @if $asset-pipeline { 11 | @if $retina-filename { 12 | background-image: image-url("#{$retina-filename}.#{$extension}"); 13 | } 14 | @else { 15 | background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}"); 16 | } 17 | } 18 | 19 | @else { 20 | @if $retina-filename { 21 | background-image: url("#{$retina-filename}.#{$extension}"); 22 | } 23 | @else { 24 | background-image: url("#{$filename}#{$retina-suffix}.#{$extension}"); 25 | } 26 | } 27 | 28 | background-size: $background-size; 29 | 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /content/04-contact/contact.txt: -------------------------------------------------------------------------------- 1 | Title: Contact 2 | 3 | ---- 4 | 5 | Text: ## Drop us a buzz! 6 | 7 | We'd love to hear what you have to say, so drop us a line. 8 | 9 |
10 | 11 | 12 |
13 | 14 | 15 |
16 | 17 | 18 |

Characters left: 500

19 | 20 | 21 |
22 | 23 |
24 |
25 | 26 | -------------------------------------------------------------------------------- /assets/scripts/contact.js: -------------------------------------------------------------------------------- 1 | var submitted; 2 | 3 | $(document).ready(function() { 4 | $("#comment").on('keyup', function() { 5 | $("#character-count").text("Characters left: " + (500 - $(this).val().length)); 6 | }); 7 | }); 8 | 9 | $('#contact-form').submit(function(e) { 10 | if (submitted == true) { 11 | $('#info').text('Your message has already been received and we will try to get back to you as soon as possible. In the meantime, please enjoy some good cat memes. You have our permission.'); 12 | return false; 13 | } 14 | 15 | e.preventDefault(); 16 | var formData = $("#contact-form").serialize(); 17 | 18 | $.ajax({ 19 | type: "POST", 20 | url: "server/mail.php", 21 | data: formData 22 | }).done(function(xhr) { 23 | submitted = true; 24 | console.log(xhr); 25 | $('#info').text('Awesome man, we\'re so happy to get feedback. We\'ll try to get back to you as soon as possible.'); 26 | }).fail(function(xhr, err) { 27 | console.log(xhr.status + ' ' + err); 28 | $('#info').text('Something went wrong, please refresh the page and try again.'); 29 | }); 30 | }); -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_linear-side-corner-parser.scss: -------------------------------------------------------------------------------- 1 | // Private function for linear-gradient-parser 2 | @function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) { 3 | $val-1: str-slice($first-val, 0, $has-multiple-vals - 1 ); 4 | $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val)); 5 | $val-3: null; 6 | $has-val-3: str-index($val-2, " "); 7 | 8 | @if $has-val-3 { 9 | $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2)); 10 | $val-2: str-slice($val-2, 0, $has-val-3 - 1); 11 | } 12 | 13 | $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3); 14 | $pos: unquote($pos + ""); 15 | 16 | // Use old spec for webkit 17 | @if $val-1 == "to" { 18 | @return ( 19 | webkit-image: -webkit- + $prefix + $pos + $suffix, 20 | spec-image: $image 21 | ); 22 | } 23 | 24 | // Bring the code up to spec 25 | @else { 26 | @return ( 27 | webkit-image: -webkit- + $image, 28 | spec-image: $prefix + "to " + $pos + $suffix 29 | ); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /bower_components/responsive-nav/responsive-nav.css: -------------------------------------------------------------------------------- 1 | /*! responsive-nav.js 1.0.32 by @viljamis */ 2 | 3 | .nav-collapse ul { 4 | margin: 0; 5 | padding: 0; 6 | width: 100%; 7 | display: block; 8 | list-style: none; 9 | } 10 | 11 | .nav-collapse li { 12 | width: 100%; 13 | display: block; 14 | } 15 | 16 | .js .nav-collapse { 17 | clip: rect(0 0 0 0); 18 | max-height: 0; 19 | position: absolute; 20 | display: block; 21 | overflow: hidden; 22 | zoom: 1; 23 | } 24 | 25 | .nav-collapse.opened { 26 | max-height: 9999px; 27 | } 28 | 29 | .disable-pointer-events { 30 | pointer-events: none !important; 31 | } 32 | 33 | .nav-toggle { 34 | -webkit-tap-highlight-color: rgba(0,0,0,0); 35 | -webkit-touch-callout: none; 36 | -webkit-user-select: none; 37 | -moz-user-select: none; 38 | -ms-user-select: none; 39 | -o-user-select: none; 40 | user-select: none; 41 | } 42 | 43 | @media screen and (min-width: 40em) { 44 | .js .nav-collapse { 45 | position: relative; 46 | } 47 | .js .nav-collapse.closed { 48 | max-height: none; 49 | } 50 | .nav-toggle { 51 | display: none; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /bower_components/responsive-nav/client/dist/styles/responsive-nav.css: -------------------------------------------------------------------------------- 1 | /*! responsive-nav.js 1.0.32 by @viljamis */ 2 | 3 | .nav-collapse ul { 4 | margin: 0; 5 | padding: 0; 6 | width: 100%; 7 | display: block; 8 | list-style: none; 9 | } 10 | 11 | .nav-collapse li { 12 | width: 100%; 13 | display: block; 14 | } 15 | 16 | .js .nav-collapse { 17 | clip: rect(0 0 0 0); 18 | max-height: 0; 19 | position: absolute; 20 | display: block; 21 | overflow: hidden; 22 | zoom: 1; 23 | } 24 | 25 | .nav-collapse.opened { 26 | max-height: 9999px; 27 | } 28 | 29 | .disable-pointer-events { 30 | pointer-events: none !important; 31 | } 32 | 33 | .nav-toggle { 34 | -webkit-tap-highlight-color: rgba(0,0,0,0); 35 | -webkit-touch-callout: none; 36 | -webkit-user-select: none; 37 | -moz-user-select: none; 38 | -ms-user-select: none; 39 | -o-user-select: none; 40 | user-select: none; 41 | } 42 | 43 | @media screen and (min-width: 40em) { 44 | .js .nav-collapse { 45 | position: relative; 46 | } 47 | .js .nav-collapse.closed { 48 | max-height: none; 49 | } 50 | .nav-toggle { 51 | display: none; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /bower_components/neat/spec/neat/row_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "@include row()" do 4 | before(:all) do 5 | ParserSupport.parse_file("row") 6 | end 7 | 8 | context "with no argument" do 9 | it "adds clearfix" do 10 | expect('.row-default:after').to have_rule('clear: both') 11 | end 12 | 13 | it "sets display to block" do 14 | expect('.row-default').to have_rule('display: block') 15 | end 16 | end 17 | 18 | context "with argument (table)" do 19 | it "sets display to table" do 20 | expect('.row-table').to have_rule('display: table') 21 | end 22 | 23 | it "forces table-cell display on child elements" do 24 | expect('.row-table-reset .block-child').to have_rule('display: table-cell') 25 | end 26 | end 27 | 28 | context "with reset-display()" do 29 | it "resets display to block" do 30 | expect('.no-row').to have_rule('display: block') 31 | end 32 | end 33 | 34 | context "with invalid display argument" do 35 | it "sets display to block" do 36 | expect('.row-invalid-display').to have_rule('display: block') 37 | end 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /bower_components/responsive-nav/client/src/styles/responsive-nav.css: -------------------------------------------------------------------------------- 1 | /*! responsive-nav.js @@version by @viljamis */ 2 | 3 | .nav-collapse ul { 4 | margin: 0; 5 | padding: 0; 6 | width: 100%; 7 | display: block; 8 | list-style: none; 9 | } 10 | 11 | .nav-collapse li { 12 | width: 100%; 13 | display: block; 14 | } 15 | 16 | .js .nav-collapse { 17 | clip: rect(0 0 0 0); 18 | max-height: 0; 19 | position: absolute; 20 | display: block; 21 | overflow: hidden; 22 | zoom: 1; 23 | } 24 | 25 | .nav-collapse.opened { 26 | max-height: 9999px; 27 | } 28 | 29 | .disable-pointer-events { 30 | pointer-events: none !important; 31 | } 32 | 33 | .nav-toggle { 34 | -webkit-tap-highlight-color: rgba(0,0,0,0); 35 | -webkit-touch-callout: none; 36 | -webkit-user-select: none; 37 | -moz-user-select: none; 38 | -ms-user-select: none; 39 | -o-user-select: none; 40 | user-select: none; 41 | } 42 | 43 | @media screen and (min-width: 40em) { 44 | .js .nav-collapse { 45 | position: relative; 46 | } 47 | .js .nav-collapse.closed { 48 | max-height: none; 49 | } 50 | .nav-toggle { 51 | display: none; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_font-face.scss: -------------------------------------------------------------------------------- 1 | // Order of the includes matters, and it is: normal, bold, italic, bold+italic. 2 | 3 | @mixin font-face($font-family, $file-path, $weight: normal, $style: normal, $asset-pipeline: $asset-pipeline) { 4 | @font-face { 5 | font-family: $font-family; 6 | font-weight: $weight; 7 | font-style: $style; 8 | 9 | @if $asset-pipeline == true { 10 | src: font-url('#{$file-path}.eot'); 11 | src: font-url('#{$file-path}.eot?#iefix') format('embedded-opentype'), 12 | font-url('#{$file-path}.woff') format('woff'), 13 | font-url('#{$file-path}.ttf') format('truetype'), 14 | font-url('#{$file-path}.svg##{$font-family}') format('svg'); 15 | } @else { 16 | src: url('#{$file-path}.eot'); 17 | src: url('#{$file-path}.eot?#iefix') format('embedded-opentype'), 18 | url('#{$file-path}.woff') format('woff'), 19 | url('#{$file-path}.ttf') format('truetype'), 20 | url('#{$file-path}.svg##{$font-family}') format('svg'); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_media.scss: -------------------------------------------------------------------------------- 1 | @mixin media($query:$feature $value $columns, $total-columns: $grid-columns) { 2 | @if length($query) == 1 { 3 | @media screen and ($default-feature: nth($query, 1)) { 4 | $default-grid-columns: $grid-columns; 5 | $grid-columns: $total-columns !global; 6 | @content; 7 | $grid-columns: $default-grid-columns !global; 8 | } 9 | } 10 | 11 | @else { 12 | $loopTo: length($query); 13 | $mediaQuery: 'screen and '; 14 | $default-grid-columns: $grid-columns; 15 | $grid-columns: $total-columns !global; 16 | 17 | @if length($query) % 2 != 0 { 18 | $grid-columns: nth($query, $loopTo) !global; 19 | $loopTo: $loopTo - 1; 20 | } 21 | 22 | $i: 1; 23 | @while $i <= $loopTo { 24 | $mediaQuery: $mediaQuery + '(' + nth($query, $i) + ': ' + nth($query, $i + 1) + ') '; 25 | 26 | @if ($i + 1) != $loopTo { 27 | $mediaQuery: $mediaQuery + 'and '; 28 | } 29 | 30 | $i: $i + 2; 31 | } 32 | 33 | @media #{$mediaQuery} { 34 | @content; 35 | $grid-columns: $default-grid-columns !global; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /kirby/lib/template.php: -------------------------------------------------------------------------------- 1 | IsSMTP(); // set mailer to use SMTP 8 | // $mail->Host = ""; // specify main and backup server 9 | // $mail->SMTPAuth = true; // turn on SMTP authentication 10 | // $mail->Username = ""; // SMTP username 11 | // $mail->Password = ""; // SMTP password 12 | 13 | if ($_POST) { 14 | 15 | $name = htmlspecialchars($_POST["user-name"]); 16 | 17 | $email = htmlspecialchars($_POST["user-email"]); 18 | 19 | $message = htmlspecialchars($_POST["comment"]); 20 | 21 | $userBcc = $_POST["user-bcc"]; 22 | 23 | $siteAdminEmail = ""; 24 | 25 | $siteAdminName = ""; 26 | 27 | $mail->setFrom($email, $name); 28 | 29 | $mail->AddAddress($siteAdminEmail, $siteAdminName); 30 | 31 | $mail->AddReplyTo($email, $name); 32 | 33 | if ($userBcc == true) { 34 | $mail->addBCC($email); 35 | } 36 | 37 | $mail->Subject = "Contact form"; 38 | $mail->Body = $message; 39 | $mail->WordWrap = 80; 40 | 41 | if(!$mail->Send()) { 42 | echo "Message could not be sent."; 43 | echo "Mailer Error: " . $mail->ErrorInfo; 44 | exit; 45 | } 46 | 47 | echo "Message has been sent"; 48 | 49 | } 50 | 51 | ?> -------------------------------------------------------------------------------- /bower_components/flexnav/LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_linear-gradient-parser.scss: -------------------------------------------------------------------------------- 1 | @function _linear-gradient-parser($image) { 2 | $image: unquote($image); 3 | $gradients: (); 4 | $start: str-index($image, "("); 5 | $end: str-index($image, ","); 6 | $first-val: str-slice($image, $start + 1, $end - 1); 7 | 8 | $prefix: str-slice($image, 0, $start); 9 | $suffix: str-slice($image, $end, str-length($image)); 10 | 11 | $has-multiple-vals: str-index($first-val, " "); 12 | $has-single-position: unquote(_position-flipper($first-val) + ""); 13 | $has-angle: _is-num(str-slice($first-val, 0, 0)); 14 | 15 | @if $has-multiple-vals { 16 | $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals); 17 | } 18 | 19 | @else if $has-single-position != "" { 20 | $pos: unquote($has-single-position + ""); 21 | 22 | $gradients: ( 23 | webkit-image: -webkit- + $image, 24 | spec-image: $prefix + "to " + $pos + $suffix 25 | ); 26 | } 27 | 28 | @else if $has-angle { 29 | // Rotate degree for webkit 30 | $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix); 31 | } 32 | 33 | @else { 34 | $gradients: ( 35 | webkit-image: -webkit- + $image, 36 | spec-image: $image 37 | ); 38 | } 39 | 40 | @return $gradients; 41 | } 42 | -------------------------------------------------------------------------------- /assets/sass/_reset.scss: -------------------------------------------------------------------------------- 1 | /* http://meyerweb.com/eric/tools/css/reset/ 2 | v2.0 | 20110126 3 | License: none (public domain) 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { 7 | margin: 0; 8 | padding: 0; 9 | border: 0; 10 | font-size: 100%; 11 | font: inherit; 12 | vertical-align: baseline; } 13 | 14 | /* HTML5 display-role reset for older browsers */ 15 | 16 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 17 | display: block; } 18 | 19 | body { 20 | line-height: 1; } 21 | 22 | ol, ul { 23 | list-style: none; } 24 | 25 | blockquote, q { 26 | quotes: none; } 27 | 28 | blockquote { 29 | &:before, &:after { 30 | content: ''; 31 | content: none; } } 32 | 33 | q { 34 | &:before, &:after { 35 | content: ''; 36 | content: none; } } 37 | 38 | table { 39 | border-collapse: collapse; 40 | border-spacing: 0; } -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_keyframes.scss: -------------------------------------------------------------------------------- 1 | // Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content 2 | @mixin keyframes($name) { 3 | $original-prefix-for-webkit: $prefix-for-webkit; 4 | $original-prefix-for-mozilla: $prefix-for-mozilla; 5 | $original-prefix-for-microsoft: $prefix-for-microsoft; 6 | $original-prefix-for-opera: $prefix-for-opera; 7 | $original-prefix-for-spec: $prefix-for-spec; 8 | 9 | @if $original-prefix-for-webkit { 10 | @include disable-prefix-for-all(); 11 | $prefix-for-webkit: true !global; 12 | @-webkit-keyframes #{$name} { 13 | @content; 14 | } 15 | } 16 | @if $original-prefix-for-mozilla { 17 | @include disable-prefix-for-all(); 18 | $prefix-for-mozilla: true !global; 19 | @-moz-keyframes #{$name} { 20 | @content; 21 | } 22 | } 23 | 24 | $prefix-for-webkit: $original-prefix-for-webkit !global; 25 | $prefix-for-mozilla: $original-prefix-for-mozilla !global; 26 | $prefix-for-microsoft: $original-prefix-for-microsoft !global; 27 | $prefix-for-opera: $original-prefix-for-opera !global; 28 | $prefix-for-spec: $original-prefix-for-spec !global; 29 | 30 | @if $original-prefix-for-spec { 31 | @keyframes #{$name} { 32 | @content; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /bower_components/neat/spec/neat/shift_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "@include shift()" do 4 | before(:all) do 5 | ParserSupport.parse_file("shift") 6 | end 7 | 8 | context "with no argument" do 9 | it "shifts element one column in the default direction" do 10 | expect('.shift-default').to have_rule('margin-left: 8.5298%') 11 | end 12 | end 13 | 14 | context "with argument (2)" do 15 | it "shifts element 2 columns in the default direction" do 16 | expect('.shift-positive').to have_rule('margin-left: 17.05961%') 17 | end 18 | end 19 | 20 | context "with argument (-3)" do 21 | it "shifts element 3 columns in the opposite direction" do 22 | expect('.shift-negative').to have_rule('margin-left: -25.58941%') 23 | end 24 | end 25 | 26 | context "when nested" do 27 | it "shifts element relative to its parent" do 28 | expect('.shifted-parent .shifted-child').to have_rule('margin-left: 34.94305%') 29 | end 30 | 31 | it "resets nesting context" do 32 | expect('.post-nested-shift').to have_rule('margin-left: 17.05961%') 33 | end 34 | end 35 | 36 | context "when layout direction changes" do 37 | it "shifts element in the corresponding direction" do 38 | expect('section .shift-negative').to have_rule('margin-right: -25.58941%') 39 | end 40 | end 41 | end 42 | -------------------------------------------------------------------------------- /site/snippets/header.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <?php echo html($site->title()) ?> - <?php echo html($page->title()) ?> 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 33 | 36 | 37 |
-------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_visual-grid.scss: -------------------------------------------------------------------------------- 1 | @mixin grid-column-gradient($values...) { 2 | background-image: deprecated-webkit-gradient(linear, left top, left bottom, $values); 3 | background-image: -webkit-linear-gradient(left, $values); 4 | background-image: -moz-linear-gradient(left, $values); 5 | background-image: -ms-linear-gradient(left, $values); 6 | background-image: -o-linear-gradient(left, $values); 7 | background-image: unquote("linear-gradient(left, #{$values})"); 8 | } 9 | 10 | @if $visual-grid == true or $visual-grid == yes { 11 | body:before { 12 | content: ''; 13 | display: inline-block; 14 | @include grid-column-gradient(gradient-stops($grid-columns)); 15 | height: 100%; 16 | left: 0; 17 | margin: 0 auto; 18 | max-width: $max-width; 19 | opacity: $visual-grid-opacity; 20 | position: fixed; 21 | right: 0; 22 | width: 100%; 23 | pointer-events: none; 24 | 25 | @if $visual-grid-index == back { 26 | z-index: -1; 27 | } 28 | 29 | @else if $visual-grid-index == front { 30 | z-index: 9999; 31 | } 32 | 33 | @each $breakpoint in $visual-grid-breakpoints { 34 | @if $breakpoint != nil { 35 | @include media($breakpoint) { 36 | @include grid-column-gradient(gradient-stops($grid-columns)); 37 | } 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /bower_components/neat/spec/neat/omega_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "@include omega()" do 4 | before(:all) do 5 | ParserSupport.parse_file("omega") 6 | end 7 | 8 | context "with no argument" do 9 | it "removes right margin" do 10 | expect('.omega-default').to have_rule('margin-right: 0') 11 | end 12 | end 13 | 14 | context "with argument (4n)" do 15 | it "removes right margin of nth-child(4n)" do 16 | expect('.omega-nth-default:nth-child(4n)').to have_rule('margin-right: 0') 17 | end 18 | 19 | it "adds clear to nth-child(4n+1)" do 20 | expect('.omega-nth-default:nth-child(4n+1)').to have_rule('clear: left') 21 | end 22 | end 23 | 24 | context "with argument ('4n+1')" do 25 | it "removes right margin of nth-child(4n+1)" do 26 | expect('.omega-complex-nth:nth-child(4n+1)').to have_rule('margin-right: 0') 27 | end 28 | end 29 | 30 | context "when called inside an RTL row" do 31 | context "with no argument" do 32 | it "removes left margin" do 33 | expect('section .omega-default-left').to have_rule('margin-left: 0') 34 | end 35 | end 36 | 37 | context "with argument (4n block)" do 38 | it "removes left margin of nth-child(4n)" do 39 | expect('section .omega-nth-default-left:nth-child(4n)').to have_rule('margin-left: 0') 40 | end 41 | end 42 | end 43 | end 44 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/addons/_prefixer.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Example: @include prefixer(border-radius, $radii, webkit ms spec); 3 | //************************************************************************// 4 | // Variables located in /settings/_prefixer.scss 5 | 6 | @mixin prefixer ($property, $value, $prefixes) { 7 | @each $prefix in $prefixes { 8 | @if $prefix == webkit { 9 | @if $prefix-for-webkit { 10 | -webkit-#{$property}: $value; 11 | } 12 | } 13 | @else if $prefix == moz { 14 | @if $prefix-for-mozilla { 15 | -moz-#{$property}: $value; 16 | } 17 | } 18 | @else if $prefix == ms { 19 | @if $prefix-for-microsoft { 20 | -ms-#{$property}: $value; 21 | } 22 | } 23 | @else if $prefix == o { 24 | @if $prefix-for-opera { 25 | -o-#{$property}: $value; 26 | } 27 | } 28 | @else if $prefix == spec { 29 | @if $prefix-for-spec { 30 | #{$property}: $value; 31 | } 32 | } 33 | @else { 34 | @warn "Unrecognized prefix: #{$prefix}"; 35 | } 36 | } 37 | } 38 | 39 | @mixin disable-prefix-for-all() { 40 | $prefix-for-webkit: false !global; 41 | $prefix-for-mozilla: false !global; 42 | $prefix-for-microsoft: false !global; 43 | $prefix-for-opera: false !global; 44 | $prefix-for-spec: false !global; 45 | } 46 | -------------------------------------------------------------------------------- /kirby/modals/mbstring.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Kirby Installation 6 | 7 | 8 | 9 | 49 | 50 | 51 | 52 | 53 | 54 |

Kirby Installation

55 | 56 |
57 |
Missing mbstring functions
58 |
59 | Kirby requires PHP mbstring functions: http://php.net/manual/en/book.mbstring.php.

60 | Please ask your system administrator
or hosting company 61 | to install them for you. 62 |
63 |
64 | If you got further questions, please contact me:
65 | bastian@getkirby.com 66 |
67 |
68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_private.scss: -------------------------------------------------------------------------------- 1 | $parent-columns: $grid-columns !default; 2 | $fg-column: $column; 3 | $fg-gutter: $gutter; 4 | $fg-max-columns: $grid-columns; 5 | $container-display-table: false !default; 6 | $layout-direction: nil !default; 7 | 8 | @function flex-grid($columns, $container-columns: $fg-max-columns) { 9 | $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; 10 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 11 | @return percentage($width / $container-width); 12 | } 13 | 14 | @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { 15 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 16 | @return percentage($gutter / $container-width); 17 | } 18 | 19 | @function grid-width($n) { 20 | @return $n * $gw-column + ($n - 1) * $gw-gutter; 21 | } 22 | 23 | @function get-parent-columns($columns) { 24 | @if $columns != $grid-columns { 25 | $parent-columns: $columns !global; 26 | } @else { 27 | $parent-columns: $grid-columns !global; 28 | } 29 | 30 | @return $parent-columns; 31 | } 32 | 33 | @function is-display-table($container-is-display-table, $display) { 34 | $display-table: false; 35 | 36 | @if $container-is-display-table == true { 37 | $display-table: true; 38 | } @else if $display == table { 39 | $display-table: true; 40 | } 41 | 42 | @return $display-table; 43 | } 44 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_columns.scss: -------------------------------------------------------------------------------- 1 | @mixin columns($arg: auto) { 2 | // || 3 | @include prefixer(columns, $arg, webkit moz spec); 4 | } 5 | 6 | @mixin column-count($int: auto) { 7 | // auto || integer 8 | @include prefixer(column-count, $int, webkit moz spec); 9 | } 10 | 11 | @mixin column-gap($length: normal) { 12 | // normal || length 13 | @include prefixer(column-gap, $length, webkit moz spec); 14 | } 15 | 16 | @mixin column-fill($arg: auto) { 17 | // auto || length 18 | @include prefixer(column-fill, $arg, webkit moz spec); 19 | } 20 | 21 | @mixin column-rule($arg) { 22 | // || || 23 | @include prefixer(column-rule, $arg, webkit moz spec); 24 | } 25 | 26 | @mixin column-rule-color($color) { 27 | @include prefixer(column-rule-color, $color, webkit moz spec); 28 | } 29 | 30 | @mixin column-rule-style($style: none) { 31 | // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid 32 | @include prefixer(column-rule-style, $style, webkit moz spec); 33 | } 34 | 35 | @mixin column-rule-width ($width: none) { 36 | @include prefixer(column-rule-width, $width, webkit moz spec); 37 | } 38 | 39 | @mixin column-span($arg: none) { 40 | // none || all 41 | @include prefixer(column-span, $arg, webkit moz spec); 42 | } 43 | 44 | @mixin column-width($length: auto) { 45 | // auto || length 46 | @include prefixer(column-width, $length, webkit moz spec); 47 | } 48 | -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_span-columns.scss: -------------------------------------------------------------------------------- 1 | @mixin span-columns($span: $columns of $container-columns, $display: block) { 2 | $columns: nth($span, 1); 3 | $container-columns: container-span($span); 4 | 5 | // Set nesting context (used by shift()) 6 | $parent-columns: get-parent-columns($container-columns) !global; 7 | 8 | $direction: get-direction($layout-direction, $default-layout-direction); 9 | $opposite-direction: get-opposite-direction($direction); 10 | 11 | $display-table: is-display-table($container-display-table, $display); 12 | 13 | @if $display-table { 14 | display: table-cell; 15 | width: percentage($columns / $container-columns); 16 | } @else { 17 | float: #{$opposite-direction}; 18 | 19 | @if $display != no-display { 20 | display: block; 21 | } 22 | 23 | @if $display == collapse { 24 | @warn "The 'collapse' argument will be deprecated. Use 'block-collapse' instead." 25 | } 26 | 27 | @if $display == collapse or $display == block-collapse { 28 | width: flex-grid($columns, $container-columns) + flex-gutter($container-columns); 29 | 30 | &:last-child { 31 | width: flex-grid($columns, $container-columns); 32 | } 33 | 34 | } @else { 35 | margin-#{$direction}: flex-gutter($container-columns); 36 | width: flex-grid($columns, $container-columns); 37 | 38 | &:last-child { 39 | margin-#{$direction}: 0; 40 | } 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_str-to-num.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Helper function for linear/radial-gradient-parsers. 3 | // Source: http://sassmeister.com/gist/9647408 4 | //************************************************************************// 5 | @function _str-to-num($string) { 6 | // Matrices 7 | $strings: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'; 8 | $numbers: 0 1 2 3 4 5 6 7 8 9; 9 | 10 | // Result 11 | $result: 0; 12 | $divider: 0; 13 | $minus: false; 14 | 15 | // Looping through all characters 16 | @for $i from 1 through str-length($string) { 17 | $character: str-slice($string, $i, $i); 18 | $index: index($strings, $character); 19 | 20 | @if $character == '-' { 21 | $minus: true; 22 | } 23 | 24 | @else if $character == '.' { 25 | $divider: 1; 26 | } 27 | 28 | @else { 29 | @if not $index { 30 | $result: if($minus, $result * -1, $result); 31 | @return _convert-units($result, str-slice($string, $i)); 32 | } 33 | 34 | $number: nth($numbers, $index); 35 | 36 | @if $divider == 0 { 37 | $result: $result * 10; 38 | } 39 | 40 | @else { 41 | // Move the decimal dot to the left 42 | $divider: $divider * 10; 43 | $number: $number / $divider; 44 | } 45 | 46 | $result: $result + $number; 47 | } 48 | } 49 | @return if($minus, $result * -1, $result); 50 | } 51 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_linear-gradient.scss: -------------------------------------------------------------------------------- 1 | @mixin linear-gradient($pos, $G1, $G2: null, 2 | $G3: null, $G4: null, 3 | $G5: null, $G6: null, 4 | $G7: null, $G8: null, 5 | $G9: null, $G10: null, 6 | $fallback: null) { 7 | // Detect what type of value exists in $pos 8 | $pos-type: type-of(nth($pos, 1)); 9 | $pos-spec: null; 10 | $pos-degree: null; 11 | 12 | // If $pos is missing from mixin, reassign vars and add default position 13 | @if ($pos-type == color) or (nth($pos, 1) == "transparent") { 14 | $G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5; 15 | $G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos; 16 | $pos: null; 17 | } 18 | 19 | @if $pos { 20 | $positions: _linear-positions-parser($pos); 21 | $pos-degree: nth($positions, 1); 22 | $pos-spec: nth($positions, 2); 23 | } 24 | 25 | $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10; 26 | 27 | // Set $G1 as the default fallback color 28 | $fallback-color: nth($G1, 1); 29 | 30 | // If $fallback is a color use that color as the fallback color 31 | @if (type-of($fallback) == color) or ($fallback == "transparent") { 32 | $fallback-color: $fallback; 33 | } 34 | 35 | background-color: $fallback-color; 36 | background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome 37 | background-image: unquote("linear-gradient(#{$pos-spec}#{$full})"); 38 | } 39 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_radial-gradient-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-gradient-parser($image) { 2 | $image: unquote($image); 3 | $gradients: (); 4 | $start: str-index($image, "("); 5 | $end: str-index($image, ","); 6 | $first-val: str-slice($image, $start + 1, $end - 1); 7 | 8 | $prefix: str-slice($image, 0, $start); 9 | $suffix: str-slice($image, $end, str-length($image)); 10 | 11 | $is-spec-syntax: str-index($first-val, "at"); 12 | 13 | @if $is-spec-syntax and $is-spec-syntax > 1 { 14 | $keyword: str-slice($first-val, 1, $is-spec-syntax - 2); 15 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); 16 | $pos: append($pos, $keyword, comma); 17 | 18 | $gradients: ( 19 | webkit-image: -webkit- + $prefix + $pos + $suffix, 20 | spec-image: $image 21 | ) 22 | } 23 | 24 | @else if $is-spec-syntax == 1 { 25 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); 26 | 27 | $gradients: ( 28 | webkit-image: -webkit- + $prefix + $pos + $suffix, 29 | spec-image: $image 30 | ) 31 | } 32 | 33 | @else if str-index($image, "cover") or str-index($image, "contain") { 34 | @warn "Radial-gradient needs to be updated to conform to latest spec."; 35 | 36 | $gradients: ( 37 | webkit-image: null, 38 | spec-image: $image 39 | ) 40 | } 41 | 42 | @else { 43 | $gradients: ( 44 | webkit-image: -webkit- + $image, 45 | spec-image: $image 46 | ) 47 | } 48 | 49 | @return $gradients; 50 | } 51 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_background-image.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Background-image property for adding multiple background images with 3 | // gradients, or for stringing multiple gradients together. 4 | //************************************************************************// 5 | 6 | @mixin background-image($images...) { 7 | $webkit-images: (); 8 | $spec-images: (); 9 | 10 | @each $image in $images { 11 | $webkit-image: (); 12 | $spec-image: (); 13 | 14 | @if (type-of($image) == string) { 15 | $url-str: str-slice($image, 0, 3); 16 | $gradient-type: str-slice($image, 0, 6); 17 | 18 | @if $url-str == "url" { 19 | $webkit-image: $image; 20 | $spec-image: $image; 21 | } 22 | 23 | @else if $gradient-type == "linear" { 24 | $gradients: _linear-gradient-parser($image); 25 | $webkit-image: map-get($gradients, webkit-image); 26 | $spec-image: map-get($gradients, spec-image); 27 | } 28 | 29 | @else if $gradient-type == "radial" { 30 | $gradients: _radial-gradient-parser($image); 31 | $webkit-image: map-get($gradients, webkit-image); 32 | $spec-image: map-get($gradients, spec-image); 33 | } 34 | } 35 | 36 | $webkit-images: append($webkit-images, $webkit-image, comma); 37 | $spec-images: append($spec-images, $spec-image, comma); 38 | } 39 | 40 | background-image: $webkit-images; 41 | background-image: $spec-images; 42 | } 43 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_radial-gradient.scss: -------------------------------------------------------------------------------- 1 | // Requires Sass 3.1+ 2 | @mixin radial-gradient($G1, $G2, 3 | $G3: null, $G4: null, 4 | $G5: null, $G6: null, 5 | $G7: null, $G8: null, 6 | $G9: null, $G10: null, 7 | $pos: null, 8 | $shape-size: null, 9 | $fallback: null) { 10 | 11 | $data: _radial-arg-parser($G1, $G2, $pos, $shape-size); 12 | $G1: nth($data, 1); 13 | $G2: nth($data, 2); 14 | $pos: nth($data, 3); 15 | $shape-size: nth($data, 4); 16 | 17 | $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10; 18 | 19 | // Strip deprecated cover/contain for spec 20 | $shape-size-spec: _shape-size-stripper($shape-size); 21 | 22 | // Set $G1 as the default fallback color 23 | $first-color: nth($full, 1); 24 | $fallback-color: nth($first-color, 1); 25 | 26 | @if (type-of($fallback) == color) or ($fallback == "transparent") { 27 | $fallback-color: $fallback; 28 | } 29 | 30 | // Add Commas and spaces 31 | $shape-size: if($shape-size, '#{$shape-size}, ', null); 32 | $pos: if($pos, '#{$pos}, ', null); 33 | $pos-spec: if($pos, 'at #{$pos}', null); 34 | $shape-size-spec: if(($shape-size-spec != ' ') and ($pos == null), '#{$shape-size-spec}, ', '#{$shape-size-spec} '); 35 | 36 | background-color: $fallback-color; 37 | background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full})); 38 | background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})"); 39 | } 40 | -------------------------------------------------------------------------------- /.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_golden-ratio.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | 807ea5c7de586073f7b87c8112c54caa8e3f11ad 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::FunctionNode : 4 | @nameI"golden-ratio:ET: 5 | @args[[o:!Sass::Script::Tree::Variable ;I" 6 | value; T:@underscored_nameI" 7 | value; T: 8 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti: @end_poso;; i;i#: 9 | @fileI"?bower_components/bourbon/dist/functions/_golden-ratio.scss; T:@importero: Sass::Importers::Filesystem: 10 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 11 | @hash{:@filename@: @options{0[o; ;I"increment; T; I"increment; T; i;o; ;o;; i;i%;o;; i;i/;@;@;@;@0: @splat0;[o:Sass::Tree::ReturnNode 12 | : 13 | @expro: Sass::Script::Tree::Funcall;I"modular-scale; T; 14 | [o; ;I" 15 | value; T; I" 16 | value; T; i;o; ;o;; i;i;o;; i;i$;@;@;@;@o; ;I"increment; T; I"increment; T; i;o; ;o;; i;i&;o;; i;i0;@;@;@;@o; ;I" golden; T; I" golden; T; i;o; ;o;; i;i2;o;; i;i9;@;@;@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{: @map{;0:@kwarg_splat0; i;o; ;o;; i;i;o;; i;i:;@;@;@;@;[; i;o; ;o;; i;i;o;; i;i;@;@;@; i;o; ;o;; i;i;o;; i;i1;@;@:@has_childrenT;@:@templateI"i@function golden-ratio($value, $increment) { 17 | @return modular-scale($value, $increment, $golden) 18 | } 19 | ; T; i;o; ;o;; i;i;o;; i;i;@;@;&T;@ -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | value = $value; 10 | $this->parent = $parent; 11 | } 12 | 13 | function __toString() { 14 | return (string)$this->value; 15 | } 16 | 17 | } 18 | 19 | class variables extends file { 20 | 21 | function __construct($array) { 22 | 23 | parent::__construct($array); 24 | 25 | $vars = self::fetch($this->root); 26 | $this->_['variables'] = array(); 27 | $this->filecontent = @$vars['raw']; 28 | 29 | if($vars && is_array($vars)) { 30 | foreach($vars['data'] as $key => $var) { 31 | $this->_['variables'][$key] = $var; 32 | } 33 | } 34 | 35 | } 36 | 37 | static function fetch($file) { 38 | if(!file_exists($file)) return array( 39 | 'raw' => false, 40 | 'data' => array() 41 | ); 42 | $content = f::read($file); 43 | $content = str_replace("\xEF\xBB\xBF", '', $content); 44 | $sections = preg_split('![\r\n]+[-]{4,}!i', $content); 45 | $data = array(); 46 | foreach($sections AS $s) { 47 | $parts = explode(':', $s); 48 | if(count($parts) == 1 && count($sections) == 1) { 49 | return $content; 50 | } 51 | $key = str::lower(preg_replace('![^a-z0-9]+!i', '_', trim($parts[0]))); 52 | if(empty($key)) continue; 53 | $value = trim(implode(':', array_slice($parts, 1))); 54 | $data[$key] = $value; 55 | } 56 | 57 | return array( 58 | 'raw' => $content, 59 | 'data' => $data, 60 | ); 61 | } 62 | 63 | } 64 | 65 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_flex-grid.scss: -------------------------------------------------------------------------------- 1 | // Flexible grid 2 | @function flex-grid($columns, $container-columns: $fg-max-columns) { 3 | $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; 4 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 5 | @return percentage($width / $container-width); 6 | } 7 | 8 | // Flexible gutter 9 | @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { 10 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 11 | @return percentage($gutter / $container-width); 12 | } 13 | 14 | // The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function. 15 | // This function takes the fluid grid equation (target / context = result) and uses columns to help define each. 16 | // 17 | // The calculation presumes that your column structure will be missing the last gutter: 18 | // 19 | // -- column -- gutter -- column -- gutter -- column 20 | // 21 | // $fg-column: 60px; // Column Width 22 | // $fg-gutter: 25px; // Gutter Width 23 | // $fg-max-columns: 12; // Total Columns For Main Container 24 | // 25 | // div { 26 | // width: flex-grid(4); // returns (315px / 995px) = 31.65829%; 27 | // margin-left: flex-gutter(); // returns (25px / 995px) = 2.51256%; 28 | // 29 | // p { 30 | // width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; 31 | // float: left; 32 | // margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%; 33 | // } 34 | // 35 | // blockquote { 36 | // float: left; 37 | // width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; 38 | // } 39 | // } -------------------------------------------------------------------------------- /bower_components/bourbon/dist/functions/_modular-scale.scss: -------------------------------------------------------------------------------- 1 | // Scaling Variables 2 | $golden: 1.618; 3 | $minor-second: 1.067; 4 | $major-second: 1.125; 5 | $minor-third: 1.2; 6 | $major-third: 1.25; 7 | $perfect-fourth: 1.333; 8 | $augmented-fourth: 1.414; 9 | $perfect-fifth: 1.5; 10 | $minor-sixth: 1.6; 11 | $major-sixth: 1.667; 12 | $minor-seventh: 1.778; 13 | $major-seventh: 1.875; 14 | $octave: 2; 15 | $major-tenth: 2.5; 16 | $major-eleventh: 2.667; 17 | $major-twelfth: 3; 18 | $double-octave: 4; 19 | 20 | @function modular-scale($value, $increment, $ratio) { 21 | $v1: nth($value, 1); 22 | $v2: nth($value, length($value)); 23 | $value: $v1; 24 | 25 | // scale $v2 to just above $v1 26 | @while $v2 > $v1 { 27 | $v2: ($v2 / $ratio); // will be off-by-1 28 | } 29 | @while $v2 < $v1 { 30 | $v2: ($v2 * $ratio); // will fix off-by-1 31 | } 32 | 33 | // check AFTER scaling $v2 to prevent double-counting corner-case 34 | $double-stranded: $v2 > $v1; 35 | 36 | @if $increment > 0 { 37 | @for $i from 1 through $increment { 38 | @if $double-stranded and ($v1 * $ratio) > $v2 { 39 | $value: $v2; 40 | $v2: ($v2 * $ratio); 41 | } @else { 42 | $v1: ($v1 * $ratio); 43 | $value: $v1; 44 | } 45 | } 46 | } 47 | 48 | @if $increment < 0 { 49 | // adjust $v2 to just below $v1 50 | @if $double-stranded { 51 | $v2: ($v2 / $ratio); 52 | } 53 | 54 | @for $i from $increment through -1 { 55 | @if $double-stranded and ($v1 / $ratio) < $v2 { 56 | $value: $v2; 57 | $v2: ($v2 / $ratio); 58 | } @else { 59 | $v1: ($v1 / $ratio); 60 | $value: $v1; 61 | } 62 | } 63 | } 64 | 65 | @return $value; 66 | } 67 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_animation.scss: -------------------------------------------------------------------------------- 1 | // http://www.w3.org/TR/css3-animations/#the-animation-name-property- 2 | // Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties. 3 | 4 | // Official animation shorthand property. 5 | @mixin animation ($animations...) { 6 | @include prefixer(animation, $animations, webkit moz spec); 7 | } 8 | 9 | // Individual Animation Properties 10 | @mixin animation-name ($names...) { 11 | @include prefixer(animation-name, $names, webkit moz spec); 12 | } 13 | 14 | 15 | @mixin animation-duration ($times...) { 16 | @include prefixer(animation-duration, $times, webkit moz spec); 17 | } 18 | 19 | 20 | @mixin animation-timing-function ($motions...) { 21 | // ease | linear | ease-in | ease-out | ease-in-out 22 | @include prefixer(animation-timing-function, $motions, webkit moz spec); 23 | } 24 | 25 | 26 | @mixin animation-iteration-count ($values...) { 27 | // infinite | 28 | @include prefixer(animation-iteration-count, $values, webkit moz spec); 29 | } 30 | 31 | 32 | @mixin animation-direction ($directions...) { 33 | // normal | alternate 34 | @include prefixer(animation-direction, $directions, webkit moz spec); 35 | } 36 | 37 | 38 | @mixin animation-play-state ($states...) { 39 | // running | paused 40 | @include prefixer(animation-play-state, $states, webkit moz spec); 41 | } 42 | 43 | 44 | @mixin animation-delay ($times...) { 45 | @include prefixer(animation-delay, $times, webkit moz spec); 46 | } 47 | 48 | 49 | @mixin animation-fill-mode ($modes...) { 50 | // none | forwards | backwards | both 51 | @include prefixer(animation-fill-mode, $modes, webkit moz spec); 52 | } 53 | -------------------------------------------------------------------------------- /server/PHPMailerAutoload.php: -------------------------------------------------------------------------------- 1 | 8 | * @author Jim Jagielski (jimjag) 9 | * @author Andy Prevost (codeworxtech) 10 | * @author Brent R. Matzelle (original founder) 11 | * @copyright 2013 Marcus Bointon 12 | * @copyright 2010 - 2012 Jim Jagielski 13 | * @copyright 2004 - 2009 Andy Prevost 14 | * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License 15 | * @note This program is distributed in the hope that it will be useful - WITHOUT 16 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 17 | * FITNESS FOR A PARTICULAR PURPOSE. 18 | */ 19 | 20 | /** 21 | * PHPMailer SPL autoloader. 22 | * @param string $classname The name of the class to load 23 | */ 24 | function PHPMailerAutoload($classname) 25 | { 26 | //Can't use __DIR__ as it's only in PHP 5.3+ 27 | $filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php'; 28 | if (is_readable($filename)) { 29 | require $filename; 30 | } 31 | } 32 | 33 | if (version_compare(PHP_VERSION, '5.1.2', '>=')) { 34 | //SPL autoloading was introduced in PHP 5.1.2 35 | if (version_compare(PHP_VERSION, '5.3.0', '>=')) { 36 | spl_autoload_register('PHPMailerAutoload', true, true); 37 | } else { 38 | spl_autoload_register('PHPMailerAutoload'); 39 | } 40 | } else { 41 | /** 42 | * Fall back to traditional autoload for old PHP versions 43 | * @param string $classname The name of the class to load 44 | */ 45 | function __autoload($classname) 46 | { 47 | PHPMailerAutoload($classname); 48 | } 49 | } -------------------------------------------------------------------------------- /kirby/system.php: -------------------------------------------------------------------------------- 1 | load(); 66 | 67 | -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_box-sizing.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | c5370108803c21cdaa4d572d2b0a3002f3c6e1aa 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::MixinDefNode : 4 | @nameI"box-sizing:ET: 5 | @args[[o:!Sass::Script::Tree::Variable ;I"box; T:@underscored_nameI"box; T: 6 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti: @end_poso;; i;i: 7 | @fileI"8bower_components/bourbon/dist/css3/_box-sizing.scss; T:@importero: Sass::Importers::Filesystem: 8 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 9 | @hash{:@filename@: @options{0: @splat0;[o:Sass::Tree::CommentNode 10 | : @value[I"./* content-box | border-box | inherit */; T: 11 | @type: silent;[; i;@o:Sass::Tree::MixinNode;I" prefixer; T; 12 | [o: Sass::Script::Tree::Literal ;o: Sass::Script::Value::String;I"box-sizing; T; :identifier;@; i;o; ;o;; i;i;o;; i;i$;@;@;@o; ;I"box; T; I"box; T; i;o; ;o;; i;i&;o;; i;i*;@;@;@;@o:$Sass::Script::Tree::ListLiteral :@elements[o;# ;o;$;I" webkit; T; ;%;@; i;o; ;o;; i;i,;o;; i;i2;@;@;@o;# ;o;$;I"moz; T; ;%;@; i;o; ;o;; i;i3;o;; i;i6;@;@;@o;# ;o;$;I" spec; T; ;%;@; i;o; ;o;; i;i7;o;; i;i;;@;@;@:@separator: 13 | space; i;o; ;o;; i;i+;o;; i;i;;@;@;@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{: @map{;0:@kwarg_splat0;[; i;o; ;o;; i;i;o;; i;i<;@;@;@; i;o; ;o;; i;i;o;; i;i;@;@:@has_childrenT;@:@templateI"|@mixin box-sizing ($box) { 14 | // content-box | border-box | inherit 15 | @include prefixer(box-sizing, $box, webkit moz spec); 16 | } 17 | ; T; i;o; ;o;; i;i;o;; i;i;@;@;/T;@ -------------------------------------------------------------------------------- /.sass-cache/844d091e1b4edb3713ee154eb910064a93d1cf92/_strip-units.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | 619ad2f45e59b01c5dd5d6990ce327d08113a4b9 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::CommentNode 4 | : @value[I"9/* Srtips the units from a value. e.g. 12px -> 12 */:ET: 5 | @type: silent;[: 6 | @linei: @options{o:Sass::Tree::FunctionNode : 7 | @nameI"strip-units; T: 8 | @args[[o:!Sass::Script::Tree::Variable ;I"val; T:@underscored_nameI"val; T; i:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti: @end_poso;; i;i : 9 | @fileI">bower_components/bourbon/dist/functions/_strip-units.scss; T:@importero: Sass::Importers::Filesystem: 10 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 11 | @hash{:@filename@; @ 0: @splat0;[o:Sass::Tree::ReturnNode 12 | : 13 | @expro:"Sass::Script::Tree::Operation :@operand1o; ;I"val; T;I"val; T; i ;o; ;o;; i ;i;o;; i ;i;@;@; @; @ :@operand2o;$ ;%o;$ ;%o; ;I"val; T;I"val; T; i ;o; ;o;; i ;i;o;; i ;i;@;@; @; @ ;&o: Sass::Script::Tree::Literal ;o: Sass::Script::Value::Number 14 | ;i:@numerator_units[:@denominator_units[:@originalI"0; F; @ ; i ;o; ;o;; i ;i ;o;; i ;i!;@;@; @:@operator: 15 | times; i ;o; ;@*;o;; i ;i!;@;@; @; @ ;&o;' ;o;( 16 | ;i;)[;*@/;+I"1; F; @ ; i ;o; ;o;; i ;i$;o;; i ;i%;@;@; @;,: plus; i ;o; ;@*;o;; i ;i%;@;@; @; @ ;,:div; i ;o; ;@";o;; i ;i&;@;@; @; @ ;[; i ;o; ;o;; i ;i;o;; i ;i';@;@; @ ; i;o; ;o;; i;i;o;; i;i";@;@:@has_childrenT; @ :@templateI"{// Srtips the units from a value. e.g. 12px -> 12 17 | 18 | @function strip-units($val) { 19 | @return ($val / ($val * 0 + 1)); 20 | } 21 | ; T; i;o; ;o;; i;i;o;; i;i;@;@;0T; @ -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_user-select.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | 803ee137e7db2aad4fbe56b965f27358276b5f25 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::MixinDefNode : 4 | @nameI"user-select:ET: 5 | @args[[o:!Sass::Script::Tree::Variable ;I"arg; T:@underscored_nameI"arg; T: 6 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti: @end_poso;; i;i: 7 | @fileI"9bower_components/bourbon/dist/css3/_user-select.scss; T:@importero: Sass::Importers::Filesystem: 8 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 9 | @hash{:@filename@: @options{o: Sass::Script::Tree::Literal : @valueo: Sass::Script::Value::String;I" none; T: 10 | @type:identifier;@; i;o; ;o;; i;i;o;; i;i#;@;@;@: @splat0;[o:Sass::Tree::MixinNode;I" prefixer; T; 11 | [o; ;o;;I"user-select; T; ;!;@; i;o; ;o;; i;i;o;; i;i%;@;@;@o; ;I"arg; T; I"arg; T; i;o; ;o;; i;i';o;; i;i+;@;@;@;@o:$Sass::Script::Tree::ListLiteral :@elements[ o; ;o;;I" webkit; T; ;!;@; i;o; ;o;; i;i-;o;; i;i3;@;@;@o; ;o;;I"moz; T; ;!;@; i;o; ;o;; i;i4;o;; i;i7;@;@;@o; ;o;;I"ms; T; ;!;@; i;o; ;o;; i;i8;o;; i;i:;@;@;@o; ;o;;I" spec; T; ;!;@; i;o; ;o;; i;i;;o;; i;i?;@;@;@:@separator: 12 | space; i;o; ;o;; i;i,;o;; i;i?;@;@;@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{: @map{;"0:@kwarg_splat0;[; i;o; ;o;; i;i;o;; i;i@;@;@;@; i;o; ;o;; i;i;o;; i;i%;@;@:@has_childrenT;@:@templateI"d@mixin user-select($arg: none) { 13 | @include prefixer(user-select, $arg, webkit moz ms spec); 14 | } 15 | ; T; i;o; ;o;; i;i;o;; i;i;@;@;-T;@ -------------------------------------------------------------------------------- /bower_components/bourbon/dist/addons/_timing-functions.scss: -------------------------------------------------------------------------------- 1 | // CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie) 2 | // Timing functions are the same as demo'ed here: http://jqueryui.com/resources/demos/effect/easing.html 3 | 4 | // EASE IN 5 | $ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530); 6 | $ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190); 7 | $ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220); 8 | $ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060); 9 | $ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715); 10 | $ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035); 11 | $ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335); 12 | $ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045); 13 | 14 | // EASE OUT 15 | $ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940); 16 | $ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000); 17 | $ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000); 18 | $ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000); 19 | $ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000); 20 | $ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000); 21 | $ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000); 22 | $ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275); 23 | 24 | // EASE IN OUT 25 | $ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955); 26 | $ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000); 27 | $ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000); 28 | $ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000); 29 | $ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950); 30 | $ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000); 31 | $ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860); 32 | $ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550); 33 | -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | # Kirby .htaccess 2 | 3 | # rewrite rules 4 | 5 | 6 | # enable awesome urls. i.e.: http://yourdomain.com/about-us/team 7 | RewriteEngine on 8 | 9 | RewriteBase / 10 | 11 | # block text files in the content folder from being accessed directly 12 | RewriteRule ^content/(.*)\.(txt|md|mdown)$ error [R=301,L] 13 | 14 | # block all files in the site folder from being accessed directly 15 | RewriteRule ^site/(.*) error [R=301,L] 16 | 17 | # block all files in the kirby folder from being accessed directly 18 | RewriteRule ^kirby/(.*) error [R=301,L] 19 | 20 | # leave robots.txt alone for search engines 21 | RewriteRule ^robots.txt robots.txt [L] 22 | 23 | # make panel links work 24 | RewriteCond %{REQUEST_FILENAME} !-f 25 | RewriteCond %{REQUEST_FILENAME} !-d 26 | RewriteRule ^panel/(.*) panel/index.php [L] 27 | 28 | # make site links work 29 | RewriteCond %{REQUEST_FILENAME} !-f 30 | RewriteCond %{REQUEST_FILENAME} !-d 31 | RewriteRule ^(.*) index.php [L] 32 | 33 | 34 | 35 | # GZIP Compression for supported servers 36 | 37 | 38 | mod_gzip_on Yes 39 | mod_gzip_dechunk Yes 40 | mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ 41 | mod_gzip_item_include handler ^cgi-script$ 42 | mod_gzip_item_include mime ^text/.* 43 | mod_gzip_item_include mime ^application/x-javascript.* 44 | mod_gzip_item_exclude mime ^image/.* 45 | mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 46 | 47 | 48 | # Leverage browser caching (1 week from access date) 49 | 50 | 51 | ExpiresDefault "access plus 1 week" 52 | 53 | Header set Cache-Control "max-age=604800, public, must-revalidate" 54 | 55 | 56 | 57 | # Additional recommended values, remove comments for those you want to use. 58 | # 59 | # AddDefaultCharset UTF-8 60 | # php_flag short_open_tag on 61 | -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_appearance.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | bb214da69cbaca2730b496ea3ba5c204499954bb 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::MixinDefNode : 4 | @nameI"appearance:ET: 5 | @args[[o:!Sass::Script::Tree::Variable ;I" 6 | value; T:@underscored_nameI" 7 | value; T: 8 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti: @end_poso;; i;i: 9 | @fileI"8bower_components/bourbon/dist/css3/_appearance.scss; T:@importero: Sass::Importers::Filesystem: 10 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 11 | @hash{:@filename@: @options{0: @splat0;[o:Sass::Tree::MixinNode;I" prefixer; T; 12 | [o: Sass::Script::Tree::Literal : @valueo: Sass::Script::Value::String; I"appearance; T: 13 | @type:identifier;@; i;o; ;o;; i;i;o;; i;i$;@;@;@o; ;I" 14 | value; T; I" 15 | value; T; i;o; ;o;; i;i&;o;; i;i,;@;@;@;@o:$Sass::Script::Tree::ListLiteral :@elements[ 16 | o; ; o;!; I" webkit; T;";#;@; i;o; ;o;; i;i.;o;; i;i4;@;@;@o; ; o;!; I"moz; T;";#;@; i;o; ;o;; i;i5;o;; i;i8;@;@;@o; ; o;!; I"ms; T;";#;@; i;o; ;o;; i;i9;o;; i;i;;@;@;@o; ; o;!; I"o; T;";#;@; i;o; ;o;; i;i<;o;; i;i=;@;@;@o; ; o;!; I" spec; T;";#;@; i;o; ;o;; i;i>;o;; i;iB;@;@;@:@separator: 17 | space; i;o; ;o;; i;i-;o;; i;iB;@;@;@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{: @map{;0:@kwarg_splat0;[; i;o; ;o;; i;i;o;; i;iC;@;@;@; i;o; ;o;; i;i;o;; i;i!;@;@:@has_childrenT;@:@templateI"c@mixin appearance ($value) { 18 | @include prefixer(appearance, $value, webkit moz ms o spec); 19 | } 20 | ; T; i;o; ;o;; i;i;o;; i;i;@;@;-T;@ -------------------------------------------------------------------------------- /.sass-cache/e711513959359fa3bddbca12416905355059dfef/_prefixer.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | 0b0f9f8f114b9b16fe65281e685fb685f46b37c7 3 | o:Sass::Tree::RootNode :@children[ o:Sass::Tree::CommentNode 4 | : @value[I"6/* Variable settings for /addons/prefixer.scss */:ET: 5 | @type: silent;[: 6 | @linei: @options{o:Sass::Tree::VariableNode : 7 | @nameI"prefix-for-webkit; T: 8 | @expro: Sass::Script::Tree::Literal ;o:Sass::Script::Value::Bool;T; @ ; i:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti: @end_poso;; i;i!: 9 | @fileI":bower_components/bourbon/dist/settings/_prefixer.scss; T:@importero: Sass::Importers::Filesystem: 10 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 11 | @hash{:@filename@: @guardedT: @global0;[; i;o; ;o;; i;i;o;; i;i*;@;@; @ o; ;I"prefix-for-mozilla; T;o; ;@; i;o; ;o;; i;i;o;; i;i!;@;@; @;!T;"0;[; i;o; ;o;; i;i;o;; i;i*;@;@; @ o; ;I"prefix-for-microsoft; T;o; ;@; i ;o; ;o;; i ;i;o;; i ;i!;@;@; @;!T;"0;[; i ;o; ;o;; i ;i;o;; i ;i*;@;@; @ o; ;I"prefix-for-opera; T;o; ;@; i 12 | ;o; ;o;; i 13 | ;i;o;; i 14 | ;i!;@;@; @;!T;"0;[; i 15 | ;o; ;o;; i 16 | ;i;o;; i 17 | ;i*;@;@; @ o; ;I"prefix-for-spec; T;o; ;@; i ;o; ;o;; i ;i;o;; i ;i!;@;@; @;!T;"0;[; i ;o; ;o;; i ;i;o;; i ;i*;@;@; @ o; 18 | ;[I"&/* required for keyframe mixin */; T; 19 | ; ;[; i ; @ :@templateI" // Variable settings for /addons/prefixer.scss 20 | $prefix-for-webkit: true !default; 21 | $prefix-for-mozilla: true !default; 22 | $prefix-for-microsoft: true !default; 23 | $prefix-for-opera: true !default; 24 | $prefix-for-spec: true !default; // required for keyframe mixin 25 | ; T; i;o; ;o;; i;i;o;; i;i;@;@:@has_childrenT; @ -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_background.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Background property for adding multiple backgrounds using shorthand 3 | // notation. 4 | //************************************************************************// 5 | 6 | @mixin background($backgrounds...) { 7 | $webkit-backgrounds: (); 8 | $spec-backgrounds: (); 9 | 10 | @each $background in $backgrounds { 11 | $webkit-background: (); 12 | $spec-background: (); 13 | $background-type: type-of($background); 14 | 15 | @if $background-type == string or list { 16 | $background-str: if($background-type == list, nth($background, 1), $background); 17 | 18 | $url-str: str-slice($background-str, 0, 3); 19 | $gradient-type: str-slice($background-str, 0, 6); 20 | 21 | @if $url-str == "url" { 22 | $webkit-background: $background; 23 | $spec-background: $background; 24 | } 25 | 26 | @else if $gradient-type == "linear" { 27 | $gradients: _linear-gradient-parser("#{$background}"); 28 | $webkit-background: map-get($gradients, webkit-image); 29 | $spec-background: map-get($gradients, spec-image); 30 | } 31 | 32 | @else if $gradient-type == "radial" { 33 | $gradients: _radial-gradient-parser("#{$background}"); 34 | $webkit-background: map-get($gradients, webkit-image); 35 | $spec-background: map-get($gradients, spec-image); 36 | } 37 | 38 | @else { 39 | $webkit-background: $background; 40 | $spec-background: $background; 41 | } 42 | } 43 | 44 | @else { 45 | $webkit-background: $background; 46 | $spec-background: $background; 47 | } 48 | 49 | $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma); 50 | $spec-backgrounds: append($spec-backgrounds, $spec-background, comma); 51 | } 52 | 53 | background: $webkit-backgrounds; 54 | background: $spec-backgrounds; 55 | } 56 | -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_hyphens.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | 7fd4bb1bbca508533d4cd98d572a352cf5b88148 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::MixinDefNode : 4 | @nameI" hyphens:ET: 5 | @args[[o:!Sass::Script::Tree::Variable ;I"hyphenation; T:@underscored_nameI"hyphenation; T: 6 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti: @end_poso;; i;i!: 7 | @fileI"5bower_components/bourbon/dist/css3/_hyphens.scss; T:@importero: Sass::Importers::Filesystem: 8 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 9 | @hash{:@filename@: @options{o: Sass::Script::Tree::Literal : @valueo: Sass::Script::Value::String;I" none; T: 10 | @type:identifier;@; i;o; ;o;; i;i#;o;; i;i';@;@;@: @splat0;[o:Sass::Tree::CommentNode 11 | ;[I"/* none | manual | auto */; T; : silent;[; i;@o:Sass::Tree::MixinNode;I" prefixer; T; 12 | [o; ;o;;I" hyphens; T; ;!;@; i;o; ;o;; i;i;o;; i;i!;@;@;@o; ;I"hyphenation; T; I"hyphenation; T; i;o; ;o;; i;i#;o;; i;i/;@;@;@;@o:$Sass::Script::Tree::ListLiteral :@elements[ o; ;o;;I" webkit; T; ;!;@; i;o; ;o;; i;i1;o;; i;i7;@;@;@o; ;o;;I"moz; T; ;!;@; i;o; ;o;; i;i8;o;; i;i;;@;@;@o; ;o;;I"ms; T; ;!;@; i;o; ;o;; i;i<;o;; i;i>;@;@;@o; ;o;;I" spec; T; ;!;@; i;o; ;o;; i;i?;o;; i;iC;@;@;@:@separator: 13 | space; i;o; ;o;; i;i0;o;; i;iC;@;@;@;@:@keywordso:Sass::Util::NormalizedMap:@key_strings{: @map{;"0:@kwarg_splat0;[; i;o; ;o;; i;i;o;; i;iD;@;@;@; i;o; ;o;; i;i;o;; i;i);@;@:@has_childrenT;@:@templateI"~@mixin hyphens($hyphenation: none) { 14 | // none | manual | auto 15 | @include prefixer(hyphens, $hyphenation, webkit moz ms spec); 16 | }; T; i;o; ;o;; i;i;o;; i;i;@;@;/T;@ -------------------------------------------------------------------------------- /bower_components/neat/app/assets/stylesheets/grid/_to-deprecate.scss: -------------------------------------------------------------------------------- 1 | @mixin breakpoint($query:$feature $value $columns, $total-columns: $grid-columns) { 2 | @warn "The breakpoint() mixin was renamed to media() in Neat 1.0. Please update your project with the new syntax before the next version bump."; 3 | 4 | @if length($query) == 1 { 5 | @media screen and ($default-feature: nth($query, 1)) { 6 | $default-grid-columns: $grid-columns; 7 | $grid-columns: $total-columns; 8 | @content; 9 | $grid-columns: $default-grid-columns; 10 | } 11 | } 12 | 13 | @else if length($query) == 2 { 14 | @media screen and (nth($query, 1): nth($query, 2)) { 15 | $default-grid-columns: $grid-columns; 16 | $grid-columns: $total-columns; 17 | @content; 18 | $grid-columns: $default-grid-columns; 19 | } 20 | } 21 | 22 | @else if length($query) == 3 { 23 | @media screen and (nth($query, 1): nth($query, 2)) { 24 | $default-grid-columns: $grid-columns; 25 | $grid-columns: nth($query, 3); 26 | @content; 27 | $grid-columns: $default-grid-columns; 28 | } 29 | } 30 | 31 | @else if length($query) == 4 { 32 | @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) { 33 | $default-grid-columns: $grid-columns; 34 | $grid-columns: $total-columns; 35 | @content; 36 | $grid-columns: $default-grid-columns; 37 | } 38 | } 39 | 40 | @else if length($query) == 5 { 41 | @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) { 42 | $default-grid-columns: $grid-columns; 43 | $grid-columns: nth($query, 5); 44 | @content; 45 | $grid-columns: $default-grid-columns; 46 | } 47 | } 48 | 49 | @else { 50 | @warn "Wrong number of arguments for breakpoint(). Read the documentation for more details."; 51 | } 52 | } 53 | 54 | @mixin nth-omega($nth, $display: block, $direction: default) { 55 | @warn "The nth-omega() mixin is deprecated. Please use omega() instead."; 56 | @include omega($nth $display, $direction); 57 | } 58 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/css3/_border-image.scss: -------------------------------------------------------------------------------- 1 | @mixin border-image($borders...) { 2 | $webkit-borders: (); 3 | $spec-borders: (); 4 | 5 | @each $border in $borders { 6 | $webkit-border: (); 7 | $spec-border: (); 8 | $border-type: type-of($border); 9 | 10 | @if $border-type == string or list { 11 | $border-str: if($border-type == list, nth($border, 1), $border); 12 | 13 | $url-str: str-slice($border-str, 0, 3); 14 | $gradient-type: str-slice($border-str, 0, 6); 15 | 16 | @if $url-str == "url" { 17 | $webkit-border: $border; 18 | $spec-border: $border; 19 | } 20 | 21 | @else if $gradient-type == "linear" { 22 | $gradients: _linear-gradient-parser("#{$border}"); 23 | $webkit-border: map-get($gradients, webkit-image); 24 | $spec-border: map-get($gradients, spec-image); 25 | } 26 | 27 | @else if $gradient-type == "radial" { 28 | $gradients: _radial-gradient-parser("#{$border}"); 29 | $webkit-border: map-get($gradients, webkit-image); 30 | $spec-border: map-get($gradients, spec-image); 31 | } 32 | 33 | @else { 34 | $webkit-border: $border; 35 | $spec-border: $border; 36 | } 37 | } 38 | 39 | @else { 40 | $webkit-border: $border; 41 | $spec-border: $border; 42 | } 43 | 44 | $webkit-borders: append($webkit-borders, $webkit-border, comma); 45 | $spec-borders: append($spec-borders, $spec-border, comma); 46 | } 47 | 48 | -webkit-border-image: $webkit-borders; 49 | border-image: $spec-borders; 50 | border-style: solid; 51 | } 52 | 53 | //Examples: 54 | // @include border-image(url("image.png")); 55 | // @include border-image(url("image.png") 20 stretch); 56 | // @include border-image(linear-gradient(45deg, orange, yellow)); 57 | // @include border-image(linear-gradient(45deg, orange, yellow) stretch); 58 | // @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round); 59 | // @include border-image(radial-gradient(top, cover, orange, yellow, orange)); 60 | -------------------------------------------------------------------------------- /bower_components/flexnav/Gruntfile.js: -------------------------------------------------------------------------------- 1 | /*global module:false*/ 2 | module.exports = function(grunt) { 3 | 'use strict'; 4 | 5 | grunt.initConfig({ 6 | pkg: grunt.file.readJSON('package.json'), 7 | sass: { 8 | dist: { 9 | files: { 10 | 'css/flexnav.css': 'sass/flexnav.scss', 11 | 'css/page.css': 'sass/page.scss' 12 | } 13 | } 14 | }, 15 | uglify: { 16 | options: { 17 | banner: '/*! <%= pkg.name %> <%= pkg.repository %> <%= pkg.license %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' 18 | }, 19 | build: { 20 | src: 'js/jquery.flexnav.js', 21 | dest: 'js/jquery.flexnav.min.js' 22 | } 23 | }, 24 | coffee: { 25 | compile: { 26 | files: { 27 | 'js/jquery.flexnav.js': 'coffeescripts/jquery.flexnav.coffee' 28 | } 29 | } 30 | }, 31 | coffeelint: { 32 | files: ['coffeescripts/*.coffee'], 33 | options: { 34 | 'no_trailing_whitespace': { 35 | 'level': 'error' 36 | }, 37 | 'max_line_length': { 38 | 'level': 'ignore' 39 | } 40 | } 41 | }, 42 | watch: { 43 | coffee: { 44 | files: ['<%= coffeelint.files %>'], 45 | tasks: ['coffeelint', 'coffee'] 46 | }, 47 | sass: { 48 | files: ['sass/*.scss'], 49 | tasks: 'sass' 50 | } 51 | } 52 | }); 53 | 54 | // Load necessary plugins 55 | grunt.loadNpmTasks('grunt-coffeelint'); 56 | grunt.loadNpmTasks('grunt-contrib-sass'); 57 | grunt.loadNpmTasks('grunt-contrib-coffee'); 58 | grunt.loadNpmTasks('grunt-contrib-watch'); 59 | grunt.loadNpmTasks('grunt-contrib-uglify'); 60 | 61 | grunt.registerTask('build', ['uglify']); 62 | grunt.registerTask('test', ['coffeelint']); 63 | grunt.registerTask('default', ['sass', 'coffee', 'uglify', 'watch']); 64 | }; -------------------------------------------------------------------------------- /bower_components/neat/spec/neat/media_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | 3 | describe "@include media()" do 4 | before(:all) do 5 | ParserSupport.parse_file("media") 6 | end 7 | 8 | context "with argument (481px)" do 9 | it "outputs @media screen and (min-width: 481px)" do 10 | expect('.media-default').to be_contained_in('screen and (min-width: 481px)') 11 | end 12 | end 13 | 14 | context "with argument (max-width 480px)" do 15 | it "outputs @media screen and (max-width: 480px)" do 16 | expect('.media-max-width').to be_contained_in('screen and (max-width: 480px)') 17 | end 18 | end 19 | 20 | context "with argument (min-width 320px max-width 480px)" do 21 | it "outputs @media screen and (min-width: 320px) and (max-width: 480px)" do 22 | expect('.media-min-max-width').to be_contained_in('screen and (min-width: 320px) and (max-width: 480px)') 23 | end 24 | end 25 | 26 | context "with argument (481px, 6)" do 27 | it "outputs @media screen and (min-width: 481px)" do 28 | expect('.change-media-context').to be_contained_in('screen and (min-width: 481px)') 29 | end 30 | 31 | it "uses a 6-column grid" do 32 | expect('.change-media-context').to have_rule('width: 100%') 33 | end 34 | end 35 | 36 | context "with shorthand argument (max-width 480px 6)" do 37 | it "outputs @media screen and (max-width: 480px)" do 38 | expect('.change-media-context-shorthand').to be_contained_in('screen and (max-width: 480px)') 39 | end 40 | 41 | it "uses a 6-column grid" do 42 | expect('.change-media-context-shorthand').to have_rule('width: 100%') 43 | end 44 | end 45 | 46 | context "with composite argument (max-width 768px min-width 110px orientation portait 6)" do 47 | it "outputs @media screen and (max-width: 768px) and (min-width: 110px) and (orientation: portait)" do 48 | expect('.composite-media-query').to be_contained_in('screen and (max-width: 768px) and (min-width: 110px) and (orientation: portait)') 49 | end 50 | 51 | it "uses a 6-column grid" do 52 | expect('.composite-media-query').to have_rule('width: 100%') 53 | end 54 | end 55 | end 56 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_radial-arg-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-arg-parser($G1, $G2, $pos, $shape-size) { 2 | @each $value in $G1, $G2 { 3 | $first-val: nth($value, 1); 4 | $pos-type: type-of($first-val); 5 | $spec-at-index: null; 6 | 7 | // Determine if spec was passed to mixin 8 | @if type-of($value) == list { 9 | $spec-at-index: if(index($value, at), index($value, at), false); 10 | } 11 | @if $spec-at-index { 12 | @if $spec-at-index > 1 { 13 | @for $i from 1 through ($spec-at-index - 1) { 14 | $shape-size: $shape-size nth($value, $i); 15 | } 16 | @for $i from ($spec-at-index + 1) through length($value) { 17 | $pos: $pos nth($value, $i); 18 | } 19 | } 20 | @else if $spec-at-index == 1 { 21 | @for $i from ($spec-at-index + 1) through length($value) { 22 | $pos: $pos nth($value, $i); 23 | } 24 | } 25 | $G1: null; 26 | } 27 | 28 | // If not spec calculate correct values 29 | @else { 30 | @if ($pos-type != color) or ($first-val != "transparent") { 31 | @if ($pos-type == number) 32 | or ($first-val == "center") 33 | or ($first-val == "top") 34 | or ($first-val == "right") 35 | or ($first-val == "bottom") 36 | or ($first-val == "left") { 37 | 38 | $pos: $value; 39 | 40 | @if $pos == $G1 { 41 | $G1: null; 42 | } 43 | } 44 | 45 | @else if 46 | ($first-val == "ellipse") 47 | or ($first-val == "circle") 48 | or ($first-val == "closest-side") 49 | or ($first-val == "closest-corner") 50 | or ($first-val == "farthest-side") 51 | or ($first-val == "farthest-corner") 52 | or ($first-val == "contain") 53 | or ($first-val == "cover") { 54 | 55 | $shape-size: $value; 56 | 57 | @if $value == $G1 { 58 | $G1: null; 59 | } 60 | 61 | @else if $value == $G2 { 62 | $G2: null; 63 | } 64 | } 65 | } 66 | } 67 | } 68 | @return $G1, $G2, $pos, $shape-size; 69 | } 70 | -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_outer-container.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | 3390bb39661797f73c901133e966356ca6b7279e 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::MixinDefNode : 4 | @nameI"outer-container:ET: 5 | @args[: @splat0;[o:Sass::Tree::MixinNode;I" clearfix; T; 6 | [:@keywords{; 0:@kwarg_splat0;[: 7 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position;i: @offseti: @end_poso;;i;i: 8 | @fileI"Lbower_components/neat/app/assets/stylesheets/grid/_outer-container.scss; T:@importero: Sass::Importers::Filesystem: 9 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 10 | @hash{: @options{o:Sass::Tree::PropNode;[I"max-width; T: @valueo:!Sass::Script::Tree::Variable ;I"max-width; T:@underscored_nameI"max_width; T;i;o; ;o;;i;i;o;;i;i;@;@:@filename@;@: 11 | @tabsi:@prop_syntax:new;[;i;o; ;o;;i;i;o;;i;i;@;@:@name_source_rangeo; ;@$;o;;i;i;@;@:@value_source_rangeo; ;o;;i;i;@%;@;@;@o;;[I" margin; T;o: Sass::Script::Tree::Literal;o: Sass::Script::Value::String;I"; T: 12 | @type:identifier;@;i ;o; ;o;;i ;i;o;;i ;i;@;@;#i;$;%;[o;;[I" left; T;o;(;o;);I" auto; T;*;+;@;i 13 | ;o; ;o;;i 14 | ;i;o;;i 15 | ;i;@;@;#i;$;%;[;i 16 | ;o; ;o;;i 17 | ;i 18 | ;o;;i 19 | ;i;@;@;&o; ;@?;o;;i 20 | ;i;@;@;'o; ;o;;i 21 | ;i;@@;@;@;@o;;[I" 22 | right; T;o;(;o;);I" auto; T;*;+;@;i ;o; ;o;;i ;i;o;;i ;i;@;@;#i;$;%;[;i ;o; ;o;;i ;i 23 | ;o;;i ;i;@;@;&o; ;@P;o;;i ;i;@;@;'o; ;o;;i ;i;@Q;@;@;@;i ;o; ;o;;i ;i;o;;i ;i;@;@;&o; ;@W;o;;i ;i;@;@;'o; ;o;;i ;i;@X;@;@;@:@has_childrenT;i;o; ;o;;i;i;o;;i;i;@;@;,T;@:@templateI"@mixin outer-container { 24 | @include clearfix; 25 | max-width: $max-width; 26 | margin: { 27 | left: auto; 28 | right: auto; 29 | } 30 | } 31 | ; T;i;o; ;o;;i;i;o;;i;i;@;@;,T;@ -------------------------------------------------------------------------------- /readme.mdown: -------------------------------------------------------------------------------- 1 | # Kirby 2 | 3 | Kirby is a file-based CMS. 4 | Easy to setup, easy to use, flexible as hell. 5 | 6 | 7 | 8 | Follow @getkirby on Twitter for updates: 9 | 10 | ## Buy 11 | 12 | Though Kirby's source code is available on Github: , you must purchase a license per website. Please go to for more information. 13 | 14 | 15 | ## Installation 16 | 17 | Installing Kirby couldn't be simpler. Just connect to your FTP-Server and upload all files contained in the Kirby package to the document root of your server – done! 18 | 19 | Visit (you should probably replace the with your url :)) and take a look at your brand new, Kirby-flavoured site. 20 | 21 | 22 | ### Adding your license code 23 | 24 | After you've purchased a license for Kirby, please add your license code to site/config/config.php: 25 | 26 | c::set('license', 'put your license code here'); 27 | 28 | 29 | ### Running Kirby in a subfolder of your domain 30 | 31 | Kirby will try to automatically detect if your site is installed in a subfolder. I.e.: `http://yourdomain.com/subfolder` 32 | 33 | Sometimes auto-detection might fail, depending on your server setup. In that case, go to `site/config/config.php` and make sure you manually set the url config variable: 34 | 35 | c::set('url', 'http://yourdomain.com/subfolder'); 36 | 37 | Afterwards make sure to also set the subfolder name: 38 | 39 | c::set('subfolder', 'mySubfolderName'); 40 | 41 | You probably also need to adjust the RewriteBase in the .htaccess file if you want to use mod_rewrite. You will find more information about all this in the default config file and the htaccess file. 42 | 43 | 44 | ### URL Rewriting 45 | 46 | If you are not allowed to have your own .htaccess file or to use mod_rewrite, go to `site/config/config.php` and search for the part where you can switch off url rewriting. 47 | 48 | 49 | ## Documentation 50 | 51 | 52 | 53 | ## Support 54 | 55 | 56 | 57 | ## Contact 58 | 59 | 60 | 61 | ## Copyright 62 | 63 | © 2009-2014 Bastian Allgeier GmbH 64 | 65 | -------------------------------------------------------------------------------- /bower_components/bourbon/dist/helpers/_linear-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _linear-positions-parser($pos) { 2 | $type: type-of(nth($pos, 1)); 3 | $spec: null; 4 | $degree: null; 5 | $side: null; 6 | $corner: null; 7 | $length: length($pos); 8 | // Parse Side and corner positions 9 | @if ($length > 1) { 10 | @if nth($pos, 1) == "to" { // Newer syntax 11 | $side: nth($pos, 2); 12 | 13 | @if $length == 2 { // eg. to top 14 | // Swap for backwards compatability 15 | $degree: _position-flipper(nth($pos, 2)); 16 | } 17 | @else if $length == 3 { // eg. to top left 18 | $corner: nth($pos, 3); 19 | } 20 | } 21 | @else if $length == 2 { // Older syntax ("top left") 22 | $side: _position-flipper(nth($pos, 1)); 23 | $corner: _position-flipper(nth($pos, 2)); 24 | } 25 | 26 | @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") { 27 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 28 | } 29 | @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") { 30 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 31 | } 32 | @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") { 33 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 34 | } 35 | @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") { 36 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 37 | } 38 | $spec: to $side $corner; 39 | } 40 | @else if $length == 1 { 41 | // Swap for backwards compatability 42 | @if $type == string { 43 | $degree: $pos; 44 | $spec: to _position-flipper($pos); 45 | } 46 | @else { 47 | $degree: -270 - $pos; //rotate the gradient opposite from spec 48 | $spec: $pos; 49 | } 50 | } 51 | $degree: unquote($degree + ","); 52 | $spec: unquote($spec + ","); 53 | @return $degree $spec; 54 | } 55 | 56 | @function _position-flipper($pos) { 57 | @return if($pos == left, right, null) 58 | if($pos == right, left, null) 59 | if($pos == top, bottom, null) 60 | if($pos == bottom, top, null); 61 | } 62 | -------------------------------------------------------------------------------- /.sass-cache/bdc07876aed8666f245b206c5c59b949c5442dd6/_calc.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | 30d5b9d1baedc2df31ae977c7ba86ed1e1431414 3 | o:Sass::Tree::RootNode :@children[o:Sass::Tree::MixinDefNode : 4 | @nameI" calc:ET: 5 | @args[[o:!Sass::Script::Tree::Variable ;I" property; T:@underscored_nameI" property; T: 6 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti: @end_poso;; i;i: 7 | @fileI"2bower_components/bourbon/dist/css3/_calc.scss; T:@importero: Sass::Importers::Filesystem: 8 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 9 | @hash{:@filename@: @options{0[o; ;I" 10 | value; T; I" 11 | value; T; i;o; ;o;; i;i;o;; i;i#;@;@;@;@0: @splat0;[o:Sass::Tree::PropNode;[o; ;I" property; T; I" property; T; i;o; ;o;; i;i 12 | ;o;; i;i;@;@;@;@: @valueo:&Sass::Script::Tree::Interpolation: @beforeo: Sass::Script::Tree::Literal ;o: Sass::Script::Value::String;I"-webkit-calc(; T: 13 | @type:identifier;@; i;o; ;o;; i;i;o;; i;i#;@;@;@: @mido; ;I" 14 | value; T; I" 15 | value; T; i;o; ;o;; i;i$;o;; i;i*;@;@;@;@: @aftero;" ;o;#;I"); T;$;%;@; i;o; ;@3;o;; i;i+;@;@;@:@whitespace_beforeF:@whitespace_afterF:@originally_textF; i;o; ;@,;@8;@;@;@;@: 16 | @tabsi:@prop_syntax:new;[; i;o; ;o;; i;i;o;; i;i-;@;@:@name_source_rangeo; ;@<;o;; i;i;@;@:@value_source_rangeo; ;o;; i;i;@=;@;@;@o;;[o; ;I" property; T; I" property; T; i;o; ;o;; i;i 17 | ;o;; i;i;@;@;@;@;o; ;!o;" ;o;#;I" 18 | calc(; T;$;%;@; i;o; ;o;; i;i;o;; i;i#;@;@;@;&o; ;I" 19 | value; T; I" 20 | value; T; i;o; ;o;; i;i$;o;; i;i*;@;@;@;@;'o;" ;o;#;I"); T;$;%;@; i;o; ;@V;o;; i;i+;@;@;@;(F;)F;*F; i;o; ;@O;@[;@;@;@;@;+i;,;-;[; i;o; ;o;; i;i;o;; i;i-;@;@;.o; ;@_;o;; i;i;@;@;/o; ;o;; i;i;@`;@;@;@; i;o; ;o;; i;i;o;; i;i%;@;@:@has_childrenT;@:@templateI"z@mixin calc($property, $value) { 21 | #{$property}: -webkit-calc(#{$value}); 22 | #{$property}: calc(#{$value}); 23 | } 24 | ; T; i;o; ;o;; i;i;o;; i;i;@;@;0T;@ -------------------------------------------------------------------------------- /kirby/lib/obj.php: -------------------------------------------------------------------------------- 1 | _ = $array; 23 | } 24 | 25 | function __set($n, $v) { 26 | $this->_[$n] = $v; 27 | } 28 | 29 | function __get($n) { 30 | return a::get($this->_, $n); 31 | } 32 | 33 | function __call($n, $args) { 34 | return a::get($this->_, $n); 35 | } 36 | 37 | function rewind() { 38 | reset($this->_); 39 | } 40 | 41 | function current() { 42 | return current($this->_); 43 | } 44 | 45 | function key() { 46 | return key($this->_); 47 | } 48 | 49 | function next() { 50 | return next($this->_); 51 | } 52 | 53 | function prev() { 54 | return prev($this->_); 55 | } 56 | 57 | function nth($n) { 58 | $array = array_values($this->_); 59 | return (isset($array[$n])) ? $array[$n] : false; 60 | } 61 | 62 | function valid() { 63 | $key = key($this->_); 64 | $var = ($key !== NULL && $key !== FALSE); 65 | return $var; 66 | } 67 | 68 | function find() { 69 | 70 | $args = func_get_args(); 71 | $key = @$args[0]; 72 | $default = @$args[1]; 73 | 74 | if(!$key) return $this->_; 75 | return a::get($this->_, $key, $default); 76 | } 77 | 78 | function count() { 79 | return count($this->_); 80 | } 81 | 82 | function first() { 83 | return a::first($this->_); 84 | } 85 | 86 | function last() { 87 | return a::last($this->_); 88 | } 89 | 90 | function indexOf($needle) { 91 | foreach(array_values($this->_) as $key => $value) { 92 | if($value === $needle) return $key; 93 | } 94 | return false; 95 | } 96 | 97 | function shuffle() { 98 | $this->_ = a::shuffle($this->_); 99 | return $this; 100 | } 101 | 102 | function toArray() { 103 | return $this->_; 104 | } 105 | 106 | } 107 | 108 | -------------------------------------------------------------------------------- /.sass-cache/5be1de2e34f28420236e618f4d7dce18ba9154f1/_grid.scssc: -------------------------------------------------------------------------------- 1 | 3.3.7 (Maptastic Maple) 2 | 915be101f8bf9cad085f6c7dd183d193f97a0de0 3 | o:Sass::Tree::RootNode :@children[u:Sass::Tree::IfNodek[o:"Sass::Script::Tree::Operation :@operand1o:!Sass::Script::Tree::Variable : 4 | @nameI"border-box-sizing:ET:@underscored_nameI"border_box_sizing; T: 5 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; i: @offseti 6 | : @end_poso;; i;i: 7 | @fileI"Abower_components/neat/app/assets/stylesheets/grid/_grid.scss; T:@importero: Sass::Importers::Filesystem: 8 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 9 | @hash{:@filename@ : @options{:@operand2o: Sass::Script::Tree::Literal : @valueo:Sass::Script::Value::Bool;T;@; o; ;o;; i 10 | ;i;o;; i 11 | ;i;I"Ebower_components/neat/app/assets/stylesheets/settings/_grid.scss; T;@; i; o; ;o;; i;i ;o;; i;i$;@ ;@;@ :@operator:eq; i; o; ;@ ;o;; i;i%;@ ;@;@ ;@0[o:Sass::Tree::RuleNode: 12 | @rule[I"*; T:@selector_source_rangeo; ;o;; i;i;o;; i;i 13 | ;@ ;@: 14 | @tabsi:@parsed_ruleso:"Sass::Selector::CommaSequence: @members[o:Sass::Selector::Sequence;'[o:#Sass::Selector::SimpleSequence ;'[o:Sass::Selector::Universal:@namespace0; i;I"; T: @subject0: @sourceso;;{; o; ;o;; i;i;o;; i;i;@,;0; i;@,; i;@,:@children[o:Sass::Tree::MixinNode;I"box-sizing; T: 15 | @args[o; ;o: Sass::Script::Value::String;I"border-box; T: 16 | @type:identifier;@; i; o; ;o;; i;i;o;; i;i(;@ ;@;@ :@keywordso:Sass::Util::NormalizedMap:@key_strings{: @map{: @splat0:@kwarg_splat0;.[; i; o; ;o;; i;i 17 | ;o;; i;i);@ ;@;@; i; o; ;o;; i;i;o;; i;i 18 | ;@ ;@:@has_childrenT;@:@templateI"W@if $border-box-sizing == true { 19 | * { 20 | @include box-sizing(border-box); 21 | } 22 | } 23 | :ET: 24 | @linei:@source_rangeo:Sass::Source::Range :@start_poso:Sass::Source::Position; 25 | i: @offseti: @end_poso;; 26 | i;i: 27 | @fileI"Abower_components/neat/app/assets/stylesheets/grid/_grid.scss; T:@importero: Sass::Importers::Filesystem: 28 | @rootI"R/Volumes/Storage/Users/iheanyi/development/programming/web/fernanda-portfolio; T:@same_name_warningso:Set: 29 | @hash{:@has_childrenT: @options{ -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | /*global module:false*/ 2 | module.exports = function(grunt) { 3 | 4 | // Project configuration. 5 | grunt.initConfig({ 6 | // Metadata. 7 | pkg: grunt.file.readJSON('package.json'), 8 | banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + 9 | '<%= grunt.template.today("yyyy-mm-dd") %>\n' + 10 | '<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' + 11 | '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + 12 | ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */\n', 13 | // Task configuration. 14 | sass: { 15 | dist: { 16 | files: [{ 17 | expand: true, 18 | cwd: 'assets/sass', 19 | src: ['*.scss'], 20 | dest: 'assets/styles', 21 | ext: '.css' 22 | }], 23 | }, 24 | }, 25 | 26 | concat: { 27 | options: { 28 | banner: '<%= banner %>', 29 | stripBanners: true 30 | }, 31 | dist: { 32 | src: ['lib/<%= pkg.name %>.js'], 33 | dest: 'dist/<%= pkg.name %>.js' 34 | } 35 | }, 36 | uglify: { 37 | options: { 38 | banner: '<%= banner %>' 39 | }, 40 | dist: { 41 | src: '<%= concat.dist.dest %>', 42 | dest: 'dist/<%= pkg.name %>.min.js' 43 | } 44 | }, 45 | 46 | gruntfile: { 47 | src: 'Gruntfile.js' 48 | }, 49 | watch: { 50 | options: { 51 | livereload: true 52 | }, 53 | 54 | sass: { 55 | files: 'assets/sass/*.scss', 56 | tasks: ['sass'], 57 | }, 58 | 59 | livereload: { 60 | files: ['assets/scripts/**/*.js', 'assets/styles/*.css', 'assets/images/**/*.{jpg,gif,svg,jpeg,png}', '*.php', 'site/**/*.php'], 61 | options: { 62 | livereload: true 63 | } 64 | }, 65 | } 66 | }); 67 | 68 | // These plugins provide necessary tasks. 69 | grunt.loadNpmTasks('grunt-contrib-concat'); 70 | grunt.loadNpmTasks('grunt-contrib-uglify'); 71 | grunt.loadNpmTasks('grunt-contrib-qunit'); 72 | grunt.loadNpmTasks('grunt-contrib-jshint'); 73 | grunt.loadNpmTasks('grunt-contrib-watch'); 74 | grunt.loadNpmTasks('grunt-contrib-sass'); 75 | 76 | grunt.registerTask('default', ['watch']); 77 | 78 | // Default task. 79 | //grunt.registerTask('default', ['qunit', 'concat', 'uglify']); 80 | grunt.registerTask('watchfile', ['watch']); 81 | 82 | }; 83 | -------------------------------------------------------------------------------- /kirby/lib/load.php: -------------------------------------------------------------------------------- 1 | = 1 { 50 | @include prefixer(transition, $properties, webkit moz spec); 51 | } 52 | 53 | @else { 54 | $properties: all 0.15s ease-out 0s; 55 | @include prefixer(transition, $properties, webkit moz spec); 56 | } 57 | } 58 | } 59 | 60 | @mixin transition-property ($properties...) { 61 | -webkit-transition-property: transition-property-names($properties, 'webkit'); 62 | -moz-transition-property: transition-property-names($properties, 'moz'); 63 | transition-property: transition-property-names($properties, false); 64 | } 65 | 66 | @mixin transition-duration ($times...) { 67 | @include prefixer(transition-duration, $times, webkit moz spec); 68 | } 69 | 70 | @mixin transition-timing-function ($motions...) { 71 | // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier() 72 | @include prefixer(transition-timing-function, $motions, webkit moz spec); 73 | } 74 | 75 | @mixin transition-delay ($times...) { 76 | @include prefixer(transition-delay, $times, webkit moz spec); 77 | } 78 | -------------------------------------------------------------------------------- /kirby/defaults.php: -------------------------------------------------------------------------------- 1 | 1, $height, $height/2); 15 | 16 | @if $direction == up { 17 | border-left: $width solid $background-color; 18 | border-right: $width solid $background-color; 19 | border-bottom: $height solid $foreground-color; 20 | 21 | } @else if $direction == right { 22 | border-top: $width solid $background-color; 23 | border-bottom: $width solid $background-color; 24 | border-left: $height solid $foreground-color; 25 | 26 | } @else if $direction == down { 27 | border-left: $width solid $background-color; 28 | border-right: $width solid $background-color; 29 | border-top: $height solid $foreground-color; 30 | 31 | } @else if $direction == left { 32 | border-top: $width solid $background-color; 33 | border-bottom: $width solid $background-color; 34 | border-right: $height solid $foreground-color; 35 | } 36 | } 37 | 38 | @else if ($direction == up-right) or ($direction == up-left) { 39 | border-top: $height solid $foreground-color; 40 | 41 | @if $direction == up-right { 42 | border-left: $width solid $background-color; 43 | 44 | } @else if $direction == up-left { 45 | border-right: $width solid $background-color; 46 | } 47 | } 48 | 49 | @else if ($direction == down-right) or ($direction == down-left) { 50 | border-bottom: $height solid $foreground-color; 51 | 52 | @if $direction == down-right { 53 | border-left: $width solid $background-color; 54 | 55 | } @else if $direction == down-left { 56 | border-right: $width solid $background-color; 57 | } 58 | } 59 | 60 | @else if ($direction == inset-up) { 61 | border-width: $height $width; 62 | border-style: solid; 63 | border-color: $background-color $background-color $foreground-color; 64 | } 65 | 66 | @else if ($direction == inset-down) { 67 | border-width: $height $width; 68 | border-style: solid; 69 | border-color: $foreground-color $background-color $background-color; 70 | } 71 | 72 | @else if ($direction == inset-right) { 73 | border-width: $width $height; 74 | border-style: solid; 75 | border-color: $background-color $background-color $background-color $foreground-color; 76 | } 77 | 78 | @else if ($direction == inset-left) { 79 | border-width: $width $height; 80 | border-style: solid; 81 | border-color: $background-color $foreground-color $background-color $background-color; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /kirby/lib/helpers.php: -------------------------------------------------------------------------------- 1 | uri->toURL(); 49 | } 50 | 51 | // go home 52 | function home() { 53 | go(url()); 54 | } 55 | 56 | // go to error page 57 | function notFound() { 58 | go(url('error')); 59 | } 60 | 61 | // embed a template snippet from the snippet folder 62 | function snippet($snippet, $data=array(), $return=false) { 63 | return tpl::loadFile(c::get('root.snippets') . '/' . $snippet . '.php', $data, $return); 64 | } 65 | 66 | // embed a stylesheet tag 67 | function css($url, $media=false) { 68 | $url = (str::match($url, '~(^\/\/|^https?:\/\/)~'))? $url : url(ltrim($url, '/')); 69 | if(!empty($media)) { 70 | return '' . "\n"; 71 | } else { 72 | return '' . "\n"; 73 | } 74 | } 75 | 76 | // embed a js tag 77 | function js($url, $async = false) { 78 | $url = (str::match($url, '~(^\/\/|^https?:\/\/)~'))? $url : url(ltrim($url, '/')); 79 | $async = ($async) ? ' async' : ''; 80 | return '' . "\n"; 81 | } 82 | 83 | // fetch a param from the URI 84 | function param($key, $default=false) { 85 | global $site; 86 | return $site->uri->params($key, $default); 87 | } 88 | 89 | // smart version of echo with an if condition as first argument 90 | function ecco($condition, $echo, $alternative = false) { 91 | echo ($condition) ? $echo : $alternative; 92 | } 93 | 94 | function dump($var) { 95 | return a::show($var); 96 | } -------------------------------------------------------------------------------- /bower_components/flexnav/js/jquery.flexnav.min.js: -------------------------------------------------------------------------------- 1 | /*! flexnav https://github.com/indyplanets/flexnav http://unlicense.org/ 2013-11-28 */ 2 | !function(){var a;a=jQuery,a.fn.flexNav=function(b){var c,d,e,f,g,h,i,j,k,l,m,n;return k=a.extend({animationSpeed:250,transitionOpacity:!0,buttonSelector:".menu-button",hoverIntent:!1,hoverIntentTimeout:150,calcItemWidths:!1,hover:!0},b),c=a(this),c.addClass("with-js"),k.transitionOpacity===!0&&c.addClass("opacity"),c.find("li").each(function(){return a(this).has("ul").length?a(this).addClass("item-with-ul").find("ul").hide():void 0}),k.calcItemWidths===!0&&(d=c.find(">li"),f=d.length,h=100/f,g=h+"%"),c.data("breakpoint")&&(e=c.data("breakpoint")),l=function(){return c.hasClass("lg-screen")===!0&&k.hover===!0?k.transitionOpacity===!0?a(this).find(">ul").addClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"],opacity:"toggle"},k.animationSpeed):a(this).find(">ul").addClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"]},k.animationSpeed):void 0},i=function(){return c.hasClass("lg-screen")===!0&&a(this).find(">ul").hasClass("flexnav-show")===!0&&k.hover===!0?k.transitionOpacity===!0?a(this).find(">ul").removeClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"],opacity:"toggle"},k.animationSpeed):a(this).find(">ul").removeClass("flexnav-show").stop(!0,!0).animate({height:["toggle","swing"]},k.animationSpeed):void 0},j=function(){var b;if(a(window).width()<=e)return c.removeClass("lg-screen").addClass("sm-screen"),k.calcItemWidths===!0&&d.css("width","100%"),b=k.buttonSelector+", "+k.buttonSelector+" .touch-button",a(b).removeClass("active"),a(".one-page li a").on("click",function(){return c.removeClass("flexnav-show")});if(a(window).width()>e){if(c.removeClass("sm-screen").addClass("lg-screen"),k.calcItemWidths===!0&&d.css("width",g),c.removeClass("flexnav-show").find(".item-with-ul").on(),a(".item-with-ul").find("ul").removeClass("flexnav-show"),i(),k.hoverIntent===!0)return a(".item-with-ul").hoverIntent({over:l,out:i,timeout:k.hoverIntentTimeout});if(k.hoverIntent===!1)return a(".item-with-ul").on("mouseenter",l).on("mouseleave",i)}},a(k.buttonSelector).data("navEl",c),n=".item-with-ul, "+k.buttonSelector,a(n).append(''),m=k.buttonSelector+", "+k.buttonSelector+" .touch-button",a(m).on("click",function(b){var c,d,e;return a(m).toggleClass("active"),b.preventDefault(),b.stopPropagation(),e=k.buttonSelector,c=a(this).is(e)?a(this):a(this).parent(e),d=c.data("navEl"),d.toggleClass("flexnav-show")}),a(".touch-button").on("click",function(){var b,d;return b=a(this).parent(".item-with-ul").find(">ul"),d=a(this).parent(".item-with-ul").find(">span.touch-button"),c.hasClass("lg-screen")===!0&&a(this).parent(".item-with-ul").siblings().find("ul.flexnav-show").removeClass("flexnav-show").hide(),b.hasClass("flexnav-show")===!0?(b.removeClass("flexnav-show").slideUp(k.animationSpeed),d.removeClass("active")):b.hasClass("flexnav-show")===!1?(b.addClass("flexnav-show").slideDown(k.animationSpeed),d.addClass("active")):void 0}),c.find(".item-with-ul *").focus(function(){return a(this).parent(".item-with-ul").parent().find(".open").not(this).removeClass("open").hide(),a(this).parent(".item-with-ul").find(">ul").addClass("open").show()}),j(),a(window).on("resize",j)}}.call(this); --------------------------------------------------------------------------------