Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Γιάννης Δαγκουλής
e-iek
Commits
59e25b62
Commit
59e25b62
authored
Feb 23, 2017
by
Achilles
Browse files
added bootstrap bc_theme for d8
parent
17bf0bdb
Changes
771
Expand all
Hide whitespace changes
Inline
Side-by-side
dist/iekserver/themes/bc_theme/README.md
0 → 100644
View file @
59e25b62
<!-- @file Instructions for subtheming using the Sass Starterkit. -->
<!-- @defgroup sub_theming_sass -->
<!-- @ingroup sub_theming -->
# Sass Starterkit
Below are instructions on how to create a Bootstrap sub-theme using a Sass
preprocessor.
-
[
Prerequisites
](
#prerequisites
)
-
[
Additional Setup
](
#setup
)
-
[
Overrides
](
#overrides
)
## Prerequisites
-
Read the @link getting_started Getting Started @endlink and @link sub_theming Sub-theming @endlink documentation topics.
-
You must understand the basic concept of using the [Sass] CSS pre-processor.
-
You must use a
**[local Sass compiler](https://www.google.com/search?q=sass+compiler)**
.
-
You must use the [Bootstrap Framework Source Files] ending in the
`.scss`
extension, not files ending in
`.css`
.
## Additional Setup {#setup}
Download and extract the
**latest**
3.x.x version of
[Bootstrap Framework Source Files] into the root of your new sub-theme. After
it has been extracted, the directory should be renamed (if needed) so it reads
`./THEMENAME/bootstrap`
.
If for whatever reason you have an additional
`bootstrap`
directory wrapping the
first
`bootstrap`
directory (e.g.
`./THEMENAME/bootstrap/bootstrap`
), remove the
wrapping
`bootstrap`
directory. You will only ever need to touch these files if
or when you upgrade your version of the [Bootstrap Framework].
{.alert.alert-warning}
**WARNING:**
Do not modify the files inside of
`./THEMENAME/bootstrap`
directly. Doing so may cause issues when upgrading the
[Bootstrap Framework] in the future.
## Overrides {#overrides}
The
`./THEMENAME/sass/_default-variables.scss`
file is generally where you will
spend the majority of your time providing any default variables that should be
used by the [Bootstrap Framework] instead of its own.
The
`./THEMENAME/sass/overrides.scss`
file contains various Drupal overrides to
properly integrate with the [Bootstrap Framework]. It may contain a few
enhancements, feel free to edit this file as you see fit.
The
`./THEMENAME/scss/style.scss`
file is the glue that combines:
`_default-variables.scss`
, [Bootstrap Framework Source Files] and the
`overrides.scss`
file together. Generally, you will not need to modify this
file unless you need to add or remove files to be imported. This is the file
that you should compile to
`./THEMENAME/css/style.css`
(note the same file
name, using a different extension of course).
#### See also:
-
@link theme_settings Theme Settings @endlink
-
@link templates Templates @endlink
-
@link plugins Plugin System @endlink
[
Bootstrap Framework
]:
http://getbootstrap.com
[
Bootstrap Framework Source Files
]:
https://github.com/twbs/bootstrap-sass
[
Sass
]:
http://sass-lang.com
dist/iekserver/themes/bc_theme/bc_theme.info.yml
0 → 100644
View file @
59e25b62
core
:
8.x
type
:
theme
base theme
:
bootstrap
name
:
'
BC
THEME'
description
:
'
Uses
the
bootstrap
sass
files'
package
:
'
Bootstrap'
regions
:
navigation
:
'
Navigation'
navigation_collapsible
:
'
Navigation
(Collapsible)'
header
:
'
Top
Bar'
highlighted
:
'
Highlighted'
help
:
'
Help'
content
:
'
Content'
sidebar_first
:
'
Primary'
sidebar_second
:
'
Secondary'
footer
:
'
Footer'
page_top
:
'
Page
top'
page_bottom
:
'
Page
bottom'
libraries
:
-
'
bc_theme/global-styling'
-
'
bc_theme/bootstrap-scripts'
dist/iekserver/themes/bc_theme/bc_theme.layouts.yml
0 → 100644
View file @
59e25b62
special_page
:
label
:
Front special
category
:
bc
template
:
layouts/front_special/front-special
css
:
layouts/front_special/layout.css
regions
:
header_left
:
label
:
Header Left
header_right
:
label
:
Header Right
highlight
:
label
:
Highlighted
body_left
:
label
:
Body Left
body_right
:
label
:
Body Right
body_col1
:
label
:
Body Column
1
body_col2
:
label
:
Body Column
2
body_col3
:
label
:
Body Column
3
\ No newline at end of file
dist/iekserver/themes/bc_theme/bc_theme.libraries.yml
0 → 100644
View file @
59e25b62
global-styling
:
css
:
theme
:
css/style.css
:
{}
bootstrap-scripts
:
js
:
bootstrap/assets/javascripts/bootstrap/affix.js
:
{}
bootstrap/assets/javascripts/bootstrap/alert.js
:
{}
bootstrap/assets/javascripts/bootstrap/button.js
:
{}
bootstrap/assets/javascripts/bootstrap/carousel.js
:
{}
bootstrap/assets/javascripts/bootstrap/collapse.js
:
{}
bootstrap/assets/javascripts/bootstrap/dropdown.js
:
{}
bootstrap/assets/javascripts/bootstrap/modal.js
:
{}
bootstrap/assets/javascripts/bootstrap/tooltip.js
:
{}
bootstrap/assets/javascripts/bootstrap/popover.js
:
{}
bootstrap/assets/javascripts/bootstrap/scrollspy.js
:
{}
bootstrap/assets/javascripts/bootstrap/tab.js
:
{}
bootstrap/assets/javascripts/bootstrap/transition.js
:
{}
dist/iekserver/themes/bc_theme/bc_theme.theme
0 → 100644
View file @
59e25b62
<?php
/**
* @file
* Bootstrap sub-theme.
*
* Place your custom PHP code in this file.
*/
dist/iekserver/themes/bc_theme/bootstrap/assets/fonts/bootstrap/glyphicons-halflings-regular.eot
0 → 100644
View file @
59e25b62
File added
dist/iekserver/themes/bc_theme/bootstrap/assets/fonts/bootstrap/glyphicons-halflings-regular.svg
0 → 100644
View file @
59e25b62
This diff is collapsed.
Click to expand it.
dist/iekserver/themes/bc_theme/bootstrap/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf
0 → 100644
View file @
59e25b62
File added
dist/iekserver/themes/bc_theme/bootstrap/assets/fonts/bootstrap/glyphicons-halflings-regular.woff
0 → 100644
View file @
59e25b62
File added
dist/iekserver/themes/bc_theme/bootstrap/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2
0 → 100644
View file @
59e25b62
File added
dist/iekserver/themes/bc_theme/bootstrap/assets/images/.keep
0 → 100644
View file @
59e25b62
dist/iekserver/themes/bc_theme/bootstrap/assets/javascripts/bootstrap-sprockets.js
0 → 100644
View file @
59e25b62
//= require ./bootstrap/transition
//= require ./bootstrap/alert
//= require ./bootstrap/button
//= require ./bootstrap/carousel
//= require ./bootstrap/collapse
//= require ./bootstrap/dropdown
//= require ./bootstrap/modal
//= require ./bootstrap/tab
//= require ./bootstrap/affix
//= require ./bootstrap/scrollspy
//= require ./bootstrap/tooltip
//= require ./bootstrap/popover
dist/iekserver/themes/bc_theme/bootstrap/assets/javascripts/bootstrap.js
0 → 100644
View file @
59e25b62
This diff is collapsed.
Click to expand it.
dist/iekserver/themes/bc_theme/bootstrap/assets/javascripts/bootstrap.min.js
0 → 100644
View file @
59e25b62
This diff is collapsed.
Click to expand it.
dist/iekserver/themes/bc_theme/bootstrap/assets/javascripts/bootstrap/affix.js
0 → 100644
View file @
59e25b62
/* ========================================================================
* Bootstrap: affix.js v3.3.7
* http://getbootstrap.com/javascript/#affix
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'
use strict
'
;
// AFFIX CLASS DEFINITION
// ======================
var
Affix
=
function
(
element
,
options
)
{
this
.
options
=
$
.
extend
({},
Affix
.
DEFAULTS
,
options
)
this
.
$target
=
$
(
this
.
options
.
target
)
.
on
(
'
scroll.bs.affix.data-api
'
,
$
.
proxy
(
this
.
checkPosition
,
this
))
.
on
(
'
click.bs.affix.data-api
'
,
$
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
))
this
.
$element
=
$
(
element
)
this
.
affixed
=
null
this
.
unpin
=
null
this
.
pinnedOffset
=
null
this
.
checkPosition
()
}
Affix
.
VERSION
=
'
3.3.7
'
Affix
.
RESET
=
'
affix affix-top affix-bottom
'
Affix
.
DEFAULTS
=
{
offset
:
0
,
target
:
window
}
Affix
.
prototype
.
getState
=
function
(
scrollHeight
,
height
,
offsetTop
,
offsetBottom
)
{
var
scrollTop
=
this
.
$target
.
scrollTop
()
var
position
=
this
.
$element
.
offset
()
var
targetHeight
=
this
.
$target
.
height
()
if
(
offsetTop
!=
null
&&
this
.
affixed
==
'
top
'
)
return
scrollTop
<
offsetTop
?
'
top
'
:
false
if
(
this
.
affixed
==
'
bottom
'
)
{
if
(
offsetTop
!=
null
)
return
(
scrollTop
+
this
.
unpin
<=
position
.
top
)
?
false
:
'
bottom
'
return
(
scrollTop
+
targetHeight
<=
scrollHeight
-
offsetBottom
)
?
false
:
'
bottom
'
}
var
initializing
=
this
.
affixed
==
null
var
colliderTop
=
initializing
?
scrollTop
:
position
.
top
var
colliderHeight
=
initializing
?
targetHeight
:
height
if
(
offsetTop
!=
null
&&
scrollTop
<=
offsetTop
)
return
'
top
'
if
(
offsetBottom
!=
null
&&
(
colliderTop
+
colliderHeight
>=
scrollHeight
-
offsetBottom
))
return
'
bottom
'
return
false
}
Affix
.
prototype
.
getPinnedOffset
=
function
()
{
if
(
this
.
pinnedOffset
)
return
this
.
pinnedOffset
this
.
$element
.
removeClass
(
Affix
.
RESET
).
addClass
(
'
affix
'
)
var
scrollTop
=
this
.
$target
.
scrollTop
()
var
position
=
this
.
$element
.
offset
()
return
(
this
.
pinnedOffset
=
position
.
top
-
scrollTop
)
}
Affix
.
prototype
.
checkPositionWithEventLoop
=
function
()
{
setTimeout
(
$
.
proxy
(
this
.
checkPosition
,
this
),
1
)
}
Affix
.
prototype
.
checkPosition
=
function
()
{
if
(
!
this
.
$element
.
is
(
'
:visible
'
))
return
var
height
=
this
.
$element
.
height
()
var
offset
=
this
.
options
.
offset
var
offsetTop
=
offset
.
top
var
offsetBottom
=
offset
.
bottom
var
scrollHeight
=
Math
.
max
(
$
(
document
).
height
(),
$
(
document
.
body
).
height
())
if
(
typeof
offset
!=
'
object
'
)
offsetBottom
=
offsetTop
=
offset
if
(
typeof
offsetTop
==
'
function
'
)
offsetTop
=
offset
.
top
(
this
.
$element
)
if
(
typeof
offsetBottom
==
'
function
'
)
offsetBottom
=
offset
.
bottom
(
this
.
$element
)
var
affix
=
this
.
getState
(
scrollHeight
,
height
,
offsetTop
,
offsetBottom
)
if
(
this
.
affixed
!=
affix
)
{
if
(
this
.
unpin
!=
null
)
this
.
$element
.
css
(
'
top
'
,
''
)
var
affixType
=
'
affix
'
+
(
affix
?
'
-
'
+
affix
:
''
)
var
e
=
$
.
Event
(
affixType
+
'
.bs.affix
'
)
this
.
$element
.
trigger
(
e
)
if
(
e
.
isDefaultPrevented
())
return
this
.
affixed
=
affix
this
.
unpin
=
affix
==
'
bottom
'
?
this
.
getPinnedOffset
()
:
null
this
.
$element
.
removeClass
(
Affix
.
RESET
)
.
addClass
(
affixType
)
.
trigger
(
affixType
.
replace
(
'
affix
'
,
'
affixed
'
)
+
'
.bs.affix
'
)
}
if
(
affix
==
'
bottom
'
)
{
this
.
$element
.
offset
({
top
:
scrollHeight
-
height
-
offsetBottom
})
}
}
// AFFIX PLUGIN DEFINITION
// =======================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'
bs.affix
'
)
var
options
=
typeof
option
==
'
object
'
&&
option
if
(
!
data
)
$this
.
data
(
'
bs.affix
'
,
(
data
=
new
Affix
(
this
,
options
)))
if
(
typeof
option
==
'
string
'
)
data
[
option
]()
})
}
var
old
=
$
.
fn
.
affix
$
.
fn
.
affix
=
Plugin
$
.
fn
.
affix
.
Constructor
=
Affix
// AFFIX NO CONFLICT
// =================
$
.
fn
.
affix
.
noConflict
=
function
()
{
$
.
fn
.
affix
=
old
return
this
}
// AFFIX DATA-API
// ==============
$
(
window
).
on
(
'
load
'
,
function
()
{
$
(
'
[data-spy="affix"]
'
).
each
(
function
()
{
var
$spy
=
$
(
this
)
var
data
=
$spy
.
data
()
data
.
offset
=
data
.
offset
||
{}
if
(
data
.
offsetBottom
!=
null
)
data
.
offset
.
bottom
=
data
.
offsetBottom
if
(
data
.
offsetTop
!=
null
)
data
.
offset
.
top
=
data
.
offsetTop
Plugin
.
call
(
$spy
,
data
)
})
})
}(
jQuery
);
dist/iekserver/themes/bc_theme/bootstrap/assets/javascripts/bootstrap/alert.js
0 → 100644
View file @
59e25b62
/* ========================================================================
* Bootstrap: alert.js v3.3.7
* http://getbootstrap.com/javascript/#alerts
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'
use strict
'
;
// ALERT CLASS DEFINITION
// ======================
var
dismiss
=
'
[data-dismiss="alert"]
'
var
Alert
=
function
(
el
)
{
$
(
el
).
on
(
'
click
'
,
dismiss
,
this
.
close
)
}
Alert
.
VERSION
=
'
3.3.7
'
Alert
.
TRANSITION_DURATION
=
150
Alert
.
prototype
.
close
=
function
(
e
)
{
var
$this
=
$
(
this
)
var
selector
=
$this
.
attr
(
'
data-target
'
)
if
(
!
selector
)
{
selector
=
$this
.
attr
(
'
href
'
)
selector
=
selector
&&
selector
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
''
)
// strip for ie7
}
var
$parent
=
$
(
selector
===
'
#
'
?
[]
:
selector
)
if
(
e
)
e
.
preventDefault
()
if
(
!
$parent
.
length
)
{
$parent
=
$this
.
closest
(
'
.alert
'
)
}
$parent
.
trigger
(
e
=
$
.
Event
(
'
close.bs.alert
'
))
if
(
e
.
isDefaultPrevented
())
return
$parent
.
removeClass
(
'
in
'
)
function
removeElement
()
{
// detach from parent, fire event then clean up data
$parent
.
detach
().
trigger
(
'
closed.bs.alert
'
).
remove
()
}
$
.
support
.
transition
&&
$parent
.
hasClass
(
'
fade
'
)
?
$parent
.
one
(
'
bsTransitionEnd
'
,
removeElement
)
.
emulateTransitionEnd
(
Alert
.
TRANSITION_DURATION
)
:
removeElement
()
}
// ALERT PLUGIN DEFINITION
// =======================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'
bs.alert
'
)
if
(
!
data
)
$this
.
data
(
'
bs.alert
'
,
(
data
=
new
Alert
(
this
)))
if
(
typeof
option
==
'
string
'
)
data
[
option
].
call
(
$this
)
})
}
var
old
=
$
.
fn
.
alert
$
.
fn
.
alert
=
Plugin
$
.
fn
.
alert
.
Constructor
=
Alert
// ALERT NO CONFLICT
// =================
$
.
fn
.
alert
.
noConflict
=
function
()
{
$
.
fn
.
alert
=
old
return
this
}
// ALERT DATA-API
// ==============
$
(
document
).
on
(
'
click.bs.alert.data-api
'
,
dismiss
,
Alert
.
prototype
.
close
)
}(
jQuery
);
dist/iekserver/themes/bc_theme/bootstrap/assets/javascripts/bootstrap/button.js
0 → 100644
View file @
59e25b62
/* ========================================================================
* Bootstrap: button.js v3.3.7
* http://getbootstrap.com/javascript/#buttons
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'
use strict
'
;
// BUTTON PUBLIC CLASS DEFINITION
// ==============================
var
Button
=
function
(
element
,
options
)
{
this
.
$element
=
$
(
element
)
this
.
options
=
$
.
extend
({},
Button
.
DEFAULTS
,
options
)
this
.
isLoading
=
false
}
Button
.
VERSION
=
'
3.3.7
'
Button
.
DEFAULTS
=
{
loadingText
:
'
loading...
'
}
Button
.
prototype
.
setState
=
function
(
state
)
{
var
d
=
'
disabled
'
var
$el
=
this
.
$element
var
val
=
$el
.
is
(
'
input
'
)
?
'
val
'
:
'
html
'
var
data
=
$el
.
data
()
state
+=
'
Text
'
if
(
data
.
resetText
==
null
)
$el
.
data
(
'
resetText
'
,
$el
[
val
]())
// push to event loop to allow forms to submit
setTimeout
(
$
.
proxy
(
function
()
{
$el
[
val
](
data
[
state
]
==
null
?
this
.
options
[
state
]
:
data
[
state
])
if
(
state
==
'
loadingText
'
)
{
this
.
isLoading
=
true
$el
.
addClass
(
d
).
attr
(
d
,
d
).
prop
(
d
,
true
)
}
else
if
(
this
.
isLoading
)
{
this
.
isLoading
=
false
$el
.
removeClass
(
d
).
removeAttr
(
d
).
prop
(
d
,
false
)
}
},
this
),
0
)
}
Button
.
prototype
.
toggle
=
function
()
{
var
changed
=
true
var
$parent
=
this
.
$element
.
closest
(
'
[data-toggle="buttons"]
'
)
if
(
$parent
.
length
)
{
var
$input
=
this
.
$element
.
find
(
'
input
'
)
if
(
$input
.
prop
(
'
type
'
)
==
'
radio
'
)
{
if
(
$input
.
prop
(
'
checked
'
))
changed
=
false
$parent
.
find
(
'
.active
'
).
removeClass
(
'
active
'
)
this
.
$element
.
addClass
(
'
active
'
)
}
else
if
(
$input
.
prop
(
'
type
'
)
==
'
checkbox
'
)
{
if
((
$input
.
prop
(
'
checked
'
))
!==
this
.
$element
.
hasClass
(
'
active
'
))
changed
=
false
this
.
$element
.
toggleClass
(
'
active
'
)
}
$input
.
prop
(
'
checked
'
,
this
.
$element
.
hasClass
(
'
active
'
))
if
(
changed
)
$input
.
trigger
(
'
change
'
)
}
else
{
this
.
$element
.
attr
(
'
aria-pressed
'
,
!
this
.
$element
.
hasClass
(
'
active
'
))
this
.
$element
.
toggleClass
(
'
active
'
)
}
}
// BUTTON PLUGIN DEFINITION
// ========================
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'
bs.button
'
)
var
options
=
typeof
option
==
'
object
'
&&
option
if
(
!
data
)
$this
.
data
(
'
bs.button
'
,
(
data
=
new
Button
(
this
,
options
)))
if
(
option
==
'
toggle
'
)
data
.
toggle
()
else
if
(
option
)
data
.
setState
(
option
)
})
}
var
old
=
$
.
fn
.
button
$
.
fn
.
button
=
Plugin
$
.
fn
.
button
.
Constructor
=
Button
// BUTTON NO CONFLICT
// ==================
$
.
fn
.
button
.
noConflict
=
function
()
{
$
.
fn
.
button
=
old
return
this
}
// BUTTON DATA-API
// ===============
$
(
document
)
.
on
(
'
click.bs.button.data-api
'
,
'
[data-toggle^="button"]
'
,
function
(
e
)
{
var
$btn
=
$
(
e
.
target
).
closest
(
'
.btn
'
)
Plugin
.
call
(
$btn
,
'
toggle
'
)
if
(
!
(
$
(
e
.
target
).
is
(
'
input[type="radio"], input[type="checkbox"]
'
)))
{
// Prevent double click on radios, and the double selections (so cancellation) on checkboxes
e
.
preventDefault
()
// The target component still receive the focus
if
(
$btn
.
is
(
'
input,button
'
))
$btn
.
trigger
(
'
focus
'
)
else
$btn
.
find
(
'
input:visible,button:visible
'
).
first
().
trigger
(
'
focus
'
)
}
})
.
on
(
'
focus.bs.button.data-api blur.bs.button.data-api
'
,
'
[data-toggle^="button"]
'
,
function
(
e
)
{
$
(
e
.
target
).
closest
(
'
.btn
'
).
toggleClass
(
'
focus
'
,
/^focus
(
in
)?
$/
.
test
(
e
.
type
))
})
}(
jQuery
);
dist/iekserver/themes/bc_theme/bootstrap/assets/javascripts/bootstrap/carousel.js
0 → 100644
View file @
59e25b62
/* ========================================================================
* Bootstrap: carousel.js v3.3.7
* http://getbootstrap.com/javascript/#carousel
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
+
function
(
$
)
{
'
use strict
'
;
// CAROUSEL CLASS DEFINITION
// =========================
var
Carousel
=
function
(
element
,
options
)
{
this
.
$element
=
$
(
element
)
this
.
$indicators
=
this
.
$element
.
find
(
'
.carousel-indicators
'
)
this
.
options
=
options
this
.
paused
=
null