Skip to content

Commit

Permalink
Merge pull request #268 from mpourismaiel/chore/global/resource-pipel…
Browse files Browse the repository at this point in the history
…ines

Add support for hugo resource pipelines and color modifications through site config
  • Loading branch information
stp-ip committed Sep 9, 2018
2 parents d708a70 + 0619728 commit 48aa81b
Show file tree
Hide file tree
Showing 56 changed files with 3,520 additions and 11,762 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 0 additions & 2 deletions static-main/js/index.js → assets/js/index.js
@@ -1,5 +1,3 @@
import './helpers/bootstrap-helper';
import './scroll';
import './modal';

import '../styles';
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
44 changes: 22 additions & 22 deletions static/syna-contact.js → assets/scripts/syna-contact.js

Large diffs are not rendered by default.

1,866 changes: 1,778 additions & 88 deletions static/syna-editor.js → assets/scripts/syna-editor.js

Large diffs are not rendered by default.

26 changes: 13 additions & 13 deletions static/syna-hero.js → assets/scripts/syna-hero.js

Large diffs are not rendered by default.

161 changes: 161 additions & 0 deletions assets/scripts/syna-main.js

Large diffs are not rendered by default.

32 changes: 16 additions & 16 deletions static/syna-portfolio.js → assets/scripts/syna-portfolio.js

Large diffs are not rendered by default.

353 changes: 353 additions & 0 deletions assets/scripts/syna-react.js

Large diffs are not rendered by default.

44 changes: 22 additions & 22 deletions static/syna-search.js → assets/scripts/syna-search.js

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
42 changes: 42 additions & 0 deletions assets/styles/index.scss
@@ -0,0 +1,42 @@
$fa-font-path: 'fonts';

$white: {{ .Site.Params.colors.white | default "#fff" }};
$gray-100: {{ .Site.Params.colors.gray100 | default "#f8f9fa" }};
$gray-200: {{ .Site.Params.colors.gray200 | default "#e9ecef" }};
$gray-300: {{ .Site.Params.colors.gray300 | default "#dee2e6" }};
$gray-400: {{ .Site.Params.colors.gray400 | default "#ced4da" }};
$gray-500: {{ .Site.Params.colors.gray500 | default "#adb5bd" }};
$gray-600: {{ .Site.Params.colors.gray600 | default "#868e96" }};
$gray-700: {{ .Site.Params.colors.gray700 | default "#495057" }};
$gray-800: {{ .Site.Params.colors.gray800 | default "#343a40" }};
$gray-900: {{ .Site.Params.colors.gray900 | default "#212529" }};
$black: {{ .Site.Params.colors.black | default "#000" }};

$blue: {{ .Site.Params.colors.blue | default "#00838F" }};
$indigo: {{ .Site.Params.colors.indigo | default "#54008f" }};
$purple: {{ .Site.Params.colors.purple | default "#8f0083" }};
$pink: {{ .Site.Params.colors.pink | default "#c77fc1" }};
$red: {{ .Site.Params.colors.red | default "#dc1200" }};
$orange: {{ .Site.Params.colors.orange | default "#fd9742" }};
$yellow: {{ .Site.Params.colors.yellow | default "#fdf314" }};
$green: {{ .Site.Params.colors.green | default "#008f54" }};
$teal: {{ .Site.Params.colors.teal | default "#4cb087" }};
$cyan: {{ .Site.Params.colors.cyan | default "#00c9dc" }};

$border-color: $gray-200;
$list-inline-padding: 5px;
{{ if not .Site.Params.fontawesome.disabled }}
@import '@fortawesome/fontawesome-free-webfonts/scss/fontawesome.scss';
@import '@fortawesome/fontawesome-free-webfonts/scss/fa-regular.scss';
@import '@fortawesome/fontawesome-free-webfonts/scss/fa-solid.scss';
@import '@fortawesome/fontawesome-free-webfonts/scss/fa-brands.scss';
{{ end }}
@import 'bootstrap/scss/bootstrap.scss';
@import './helpers';
@import './header';
@import './form';
@import './portfolio';
@import './pricing';
@import './modal';
@import './search';
@import './syna';
23 changes: 23 additions & 0 deletions exampleSite/config.toml
Expand Up @@ -49,6 +49,29 @@ googleAnalytics = ""
[params.fontawesome]
disabled = false

[params.colors]
white = "#fff"
gray100 = "#f8f9fa" # light
gray200 = "#e9ecef"
gray300 = "#dee2e6"
gray400 = "#ced4da"
gray500 = "#adb5bd"
gray600 = "#868e96" # secondary
gray700 = "#495057"
gray800 = "#343a40" # dark
gray900 = "#212529"
black = "#000"
blue = "#00838F" # primary
indigo = "#54008f"
purple = "#8f0083"
pink = "#c77fc1"
red = "#dc1200" # danger
orange = "#fd9742"
yellow = "#fdf314" # warning
green = "#008f54" # success
teal = "#4cb087"
cyan = "#00c9dc" # info

# main/prepend/postpend menus are displayed in nav fragment.
# Keep an eye out for updates. These will be moved out to make navbar more
# configurable.
Expand Down

Large diffs are not rendered by default.

@@ -0,0 +1 @@
{"Target":"scripts/syna-contact.min.348436327ef2f5aa3f1bcbbb53edfbf2d1825ab918e54e1cd3667c324656af13.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-NIQ2Mn7y9ao/G8u7U+378tGCWrkY5U4c02Z8MkZWrxM="}}

Large diffs are not rendered by default.

@@ -0,0 +1 @@
{"Target":"scripts/syna-editor.min.6fb7e24178f8d88b53a284d29f31fe374074e785b9378ad41113e923e5467d72.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-b7fiQXj42ItTooTSnzH+N0B054W5N4rUERPpI+VGfXI="}}

Large diffs are not rendered by default.

@@ -0,0 +1 @@
{"Target":"scripts/syna-hero.min.3dc1f09d48e122d5e69a8880c70758e63cd10f840df1d44cc4221b09c1734009.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-PcHwnUjhItXmmoiAxwdY5jzRD4QN8dRMxCIbCcFzQAk="}}
@@ -0,0 +1,17 @@
(function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId]){return installedModules[moduleId].exports;}
var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.l=true;return module.exports;}
__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.d=function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{enumerable:true,get:getter});}};__webpack_require__.r=function(exports){if(typeof Symbol!=='undefined'&&Symbol.toStringTag){Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});}
Object.defineProperty(exports,'__esModule',{value:true});};__webpack_require__.t=function(value,mode){if(mode&1)value=__webpack_require__(value);if(mode&8)return value;if((mode&4)&&typeof value==='object'&&value&&value.__esModule)return value;var ns=Object.create(null);__webpack_require__.r(ns);Object.defineProperty(ns,'default',{enumerable:true,value:value});if(mode&2&&typeof value!='string')for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key];}.bind(null,key));return ns;};__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module['default'];}:function getModuleExports(){return module;};__webpack_require__.d(getter,'a',getter);return getter;};__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};__webpack_require__.p="";return __webpack_require__(__webpack_require__.s="./assets/js/index.js");})
({"./assets/js/helpers/bootstrap-helper.js":/*!***********************************************!*\
!*** ./assets/js/helpers/bootstrap-helper.js ***!
\***********************************************//*!no static exports found*/(function(module,exports,__webpack_require__){"use strict";eval("\n\nvar _jqHelpers = __webpack_require__(/*! ./jq-helpers */ \"./assets/js/helpers/jq-helpers.js\");\n\nvar _jqHelpers2 = _interopRequireDefault(_jqHelpers);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar toggle = document.querySelectorAll('.navbar-toggler'); // Updated the script from https://stackoverflow.com/questions/43417452/animate-navbar-collapse-using-pure-js-css/43434017#43434017\n\nvar collapse = document.querySelectorAll('.navbar-collapse');\nvar dropdowns = document.querySelectorAll('.dropdown') || [];\n\nfunction toggleMenu(node) {\n var menu = document.querySelector(node.dataset.target);\n menu.classList.toggle('in');\n}\n\nfunction closeMenus() {\n Array.from(dropdowns || []).forEach(function (node) {\n node.querySelector('.dropdown-toggle').classList.remove('dropdown-open');\n node.classList.remove('open');\n });\n}\n\nfunction closeMenusOnResize() {\n if (document.body.clientWidth >= 768) {\n closeMenus();\n Array.from(collapse || []).forEach(function (node) {\n return node.classList.remove('in');\n });\n }\n}\n\nfunction toggleDropdown() {\n if (document.body.clientWidth < 768) {\n var open = this.classList.contains('open');\n closeMenus();\n if (!open) {\n this.querySelector('.dropdown-toggle').classList.toggle('dropdown-open');\n this.classList.toggle('open');\n }\n }\n}\n\nwindow.addEventListener('resize', closeMenusOnResize, false);\nArray.from(dropdowns || []).forEach(function (node) {\n return node.addEventListener('click', toggleDropdown);\n});\nArray.from(toggle || []).forEach(function (node) {\n return node.addEventListener('click', function (e) {\n return toggleMenu(node);\n }, false);\n});\n\n//# sourceURL=webpack:///./assets/js/helpers/bootstrap-helper.js?");}),"./assets/js/helpers/jq-helpers.js":/*!*****************************************!*\
!*** ./assets/js/helpers/jq-helpers.js ***!
\*****************************************//*!no static exports found*/(function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _serialize2 = __webpack_require__(/*! ./serialize */ \"./assets/js/helpers/serialize.js\");\n\nvar _serialize3 = _interopRequireDefault(_serialize2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction $(selector) {\n var nodes = Array.from((this && Array.isArray(this) ? this[0] : document).querySelectorAll(selector));\n\n var _returnee = {\n $nodes: nodes,\n $: $.bind(nodes),\n on: function on(event, callback) {\n nodes.forEach(function (node) {\n return node['on' + event] = callback.bind(node);\n });\n return _returnee;\n },\n addClass: function addClass(className) {\n nodes.forEach(function (node) {\n return node.classList.add(className);\n });\n return _returnee;\n },\n removeClass: function removeClass(className) {\n nodes.forEach(function (node) {\n return node.classList.remove(className);\n });\n return _returnee;\n },\n attr: function attr(attribute, value) {\n if (value === undefined && nodes.length > 1) {\n throw new Error('Can\\'t access value of several nodes\\' attributes');\n }\n\n if (value === undefined) {\n return nodes[0].getAttribute(attribute);\n } else {\n nodes.forEach(function (node) {\n return node.setAttribute(attribute, value);\n });\n }\n },\n append: function append(innerHTML) {\n nodes.forEach(function (node) {\n return node.innerHTML += innerHTML;\n });\n },\n html: function html(innerHTML) {\n if (innerHTML === undefined) {\n if (nodes.length > 1) {\n throw new Error('Can\\'t get several nodes innerHTML at once');\n }\n\n return nodes[0].innerHTML;\n }\n\n nodes.forEach(function (node) {\n return node.innerHTML = innerHTML;\n });\n },\n text: function text(innerText) {\n if (innerText === undefined) {\n if (nodes.length > 1) {\n throw new Error('Can\\'t get several nodes innerText at once');\n }\n\n return nodes[0].innerText;\n }\n\n nodes.forEach(function (node) {\n return node.innerText = innerText;\n });\n },\n val: function val(value) {\n if (value === undefined) {\n if (nodes.length > 1) {\n throw new Error('Can\\'t get several nodes value at once');\n }\n\n return nodes[0].value;\n }\n\n nodes.forEach(function (node) {\n return node.value = value;\n });\n },\n submit: function submit() {\n return nodes.forEach(function (node) {\n return node.submit();\n });\n },\n serialize: function serialize() {\n if (nodes.length > 1) {\n throw new Error('Can\\'t serialize forms at once');\n }\n\n return (0, _serialize3.default)(nodes[0]);\n },\n length: nodes.length\n };\n\n nodes.forEach(function (node, index) {\n return _returnee[index] = node;\n });\n\n return _returnee;\n}\n\n$.scrollTo = function scrollTo(element, to, duration) {\n if (duration <= 0) return;\n var difference = to - element.scrollTop;\n var perTick = difference / duration * 10;\n\n setTimeout(function () {\n element.scrollTop = element.scrollTop + perTick;\n if (element.scrollTop === to) return;\n scrollTo(element, to, duration - 10);\n }, 10);\n};\n\n$.ajax = function ajax(_ref) {\n var method = _ref.method,\n url = _ref.url,\n data = _ref.data;\n\n var xhr = new XMLHttpRequest();\n xhr.open(method.toUpperCase(), url);\n xhr.setRequestHeader(\"Content-Type\", \"application/json;charset=UTF-8\");\n xhr.send(data);\n\n return new Promise(function (resolve, reject) {\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200) {\n resolve(JSON.parse(xhr.responseXML || xhr.responseText));\n } else {\n reject(xhr.statusText);\n }\n }\n };\n });\n};\n\n$.post = function (url, data) {\n return $.ajax({ method: 'post', url: url, data: data });\n};\n\nexports.default = $;\n\n//# sourceURL=webpack:///./assets/js/helpers/jq-helpers.js?");}),"./assets/js/helpers/serialize.js":/*!****************************************!*\
!*** ./assets/js/helpers/serialize.js ***!
\****************************************//*!no static exports found*/(function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = serialize;\n// From https://code.google.com/archive/p/form-serialize/\nfunction serialize(form) {\n if (!form || form.nodeName !== \"FORM\") {\n return;\n }\n var i,\n j,\n q = [];\n for (i = form.elements.length - 1; i >= 0; i = i - 1) {\n if (form.elements[i].name === \"\") {\n continue;\n }\n switch (form.elements[i].nodeName) {\n case 'INPUT':\n switch (form.elements[i].type) {\n case 'text':\n case 'hidden':\n case 'password':\n case 'button':\n case 'reset':\n case 'submit':\n q.push(form.elements[i].name + \"=\" + encodeURIComponent(form.elements[i].value));\n break;\n case 'checkbox':\n case 'radio':\n if (form.elements[i].checked) {\n q.push(form.elements[i].name + \"=\" + encodeURIComponent(form.elements[i].value));\n }\n break;\n case 'file':\n break;\n }\n break;\n case 'TEXTAREA':\n q.push(form.elements[i].name + \"=\" + encodeURIComponent(form.elements[i].value));\n break;\n case 'SELECT':\n switch (form.elements[i].type) {\n case 'select-one':\n q.push(form.elements[i].name + \"=\" + encodeURIComponent(form.elements[i].value));\n break;\n case 'select-multiple':\n for (j = form.elements[i].options.length - 1; j >= 0; j = j - 1) {\n if (form.elements[i].options[j].selected) {\n q.push(form.elements[i].name + \"=\" + encodeURIComponent(form.elements[i].options[j].value));\n }\n }\n break;\n }\n break;\n case 'BUTTON':\n switch (form.elements[i].type) {\n case 'reset':\n case 'submit':\n case 'button':\n q.push(form.elements[i].name + \"=\" + encodeURIComponent(form.elements[i].value));\n break;\n }\n break;\n }\n }\n return q.join(\"&\");\n}\n\n//# sourceURL=webpack:///./assets/js/helpers/serialize.js?");}),"./assets/js/index.js":/*!****************************!*\
!*** ./assets/js/index.js ***!
\****************************//*!no static exports found*/(function(module,exports,__webpack_require__){"use strict";eval("\n\n__webpack_require__(/*! ./helpers/bootstrap-helper */ \"./assets/js/helpers/bootstrap-helper.js\");\n\n__webpack_require__(/*! ./scroll */ \"./assets/js/scroll.js\");\n\n__webpack_require__(/*! ./modal */ \"./assets/js/modal.js\");\n\n//# sourceURL=webpack:///./assets/js/index.js?");}),"./assets/js/modal.js":/*!****************************!*\
!*** ./assets/js/modal.js ***!
\****************************//*!no static exports found*/(function(module,exports,__webpack_require__){"use strict";eval("\n\nvar _jqHelpers = __webpack_require__(/*! ./helpers/jq-helpers */ \"./assets/js/helpers/jq-helpers.js\");\n\nvar _jqHelpers2 = _interopRequireDefault(_jqHelpers);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar modal = (0, _jqHelpers2.default)('.modal');\nvar dialog = (0, _jqHelpers2.default)('.modal .modal-dialog');\n\nfunction closeDialog() {\n (0, _jqHelpers2.default)('body').removeClass('modal-open');\n modal.removeClass('show');\n}\n\n(0, _jqHelpers2.default)('[data-dismiss=\"modal\"]').on('click', closeDialog);\n\nmodal.on('click', function (e) {\n if (!dialog[0].contains(e.target)) {\n closeDialog();\n }\n});\n\n(window.syna || (window.syna = {})).showModal = function (_ref) {\n var title = _ref.title,\n subtitle = _ref.subtitle,\n image = _ref.image,\n content = _ref.content,\n _ref$size = _ref.size,\n size = _ref$size === undefined ? '' : _ref$size;\n\n (0, _jqHelpers2.default)('body').addClass('modal-open');\n modal.addClass('show');\n dialog.$('.title').html(title || '');\n dialog.$('.subtitle').html(subtitle || '');\n dialog.$('img')[0].src = image;\n if (content) {\n dialog.$('.modal-body .content').html(content);\n dialog.$('.modal-body .content').removeClass('hidden');\n } else {\n dialog.$('.modal-body .content').addClass('hidden');\n }\n dialog.removeClass('md').removeClass('lg').addClass(size);\n};\n\n//# sourceURL=webpack:///./assets/js/modal.js?");}),"./assets/js/scroll.js":/*!*****************************!*\
!*** ./assets/js/scroll.js ***!
\*****************************//*!no static exports found*/(function(module,exports,__webpack_require__){"use strict";eval("\n\nvar _jqHelpers = __webpack_require__(/*! ./helpers/jq-helpers */ \"./assets/js/helpers/jq-helpers.js\");\n\nvar _jqHelpers2 = _interopRequireDefault(_jqHelpers);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n(function () {\n handleScroll();\n window.onscroll = handleScroll;\n (0, _jqHelpers2.default)('.scroll-to-top').on('click', scrollToTop);\n})();\n\nfunction handleScroll() {\n if (window.scrollY > window.innerHeight / 2) {\n (0, _jqHelpers2.default)('.scroll-to-top').removeClass('d-none');\n } else {\n (0, _jqHelpers2.default)('.scroll-to-top').addClass('d-none');\n }\n}\n\nfunction scrollToTop() {\n _jqHelpers2.default.scrollTo(document.body, 0, 250);\n}\n\n//# sourceURL=webpack:///./assets/js/scroll.js?");})});
@@ -0,0 +1 @@
{"Target":"scripts/syna-main.min.3fdac4375e81d31e073565ab13c85558b97da015f305920e5a7235752998ebe5.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-P9rEN16B0x4HNWWrE8hVWLl9oBXzBZIOWnI1dSmY6+U="}}

0 comments on commit 48aa81b

Please sign in to comment.