Skip to content

Commit 0055a19

Browse files
authored
Merge pull request #9 from bitshifters/updates2020
Updates2021
2 parents a6cc66b + b604ddb commit 0055a19

115 files changed

Lines changed: 11959 additions & 173 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,28 +41,29 @@ The overall site is designed to be a simple CMS to make it easy for us to add ne
4141

4242
The site has 4 main pages, each with a custom layout:
4343
- home (default.html)
44-
- productions (prods.html)
4544
- archive (archive.html)
4645
- info (info.html)
46+
- support (support.html)
47+
- art (art.html)
4748

4849

49-
The site currently supports two types of post:
50-
- production (prod)
51-
- competition (compo)
50+
The site currently supports 6 types of post:
51+
- **Productions** (`prods` category, `_posts/prods`) - pieces of work created by the Bitshifters collective
52+
- **Competitions** (`compo` category, `_posts/compos`) - competitions we've entered productions into
53+
- **Archives** (`compos` category, `_posts/archives`) - pieces of work created by anyone else. They are treated by the site as productions also, but just categorised differently
54+
- **Team** (`team` category, `_posts/team`) - one post per team member that wants to be listed in the `.NFO` page
55+
- **Support** (`support` category, `_posts/support`) - one post per support topic that will be listed in the `support.html` page
56+
5257

5358
Some files (templates, layouts, includes etc.) are mostly HTML, with embedded Liquid templating commands that are compiled by Jekyll.
5459

5560
Some files (pages, posts, data) are YAML style configuration files, with embedded variables and markdown formatted content.
5661

5762

58-
**Productions** are pieces of work created by the Bitshifters collective (category 'prods')
59-
60-
**Archives** are pieces of work created by anyone else. They are treated by the site as productions also, but just categorised differently (category 'archives')
61-
62-
**Competitions** are posts releated to a specific challenge we'll be setting every so often, so kinda like a blog post. (category 'compos')
63-
6463
## How to use
6564

65+
**THE FOLLOWING IS OUT OF DATE, BEWARE!**
66+
6667
### Productions (eg. new demos created by BitShifters)
6768
To add a new production:
6869
- Place a image and a disk image file (SSD or DSD) in `/content/`

_config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ disqus_shortname: myshortname
2424

2525
# Color settings (hex-codes without the leading hash-tag)
2626
color:
27-
primary: 18bc9c #80B3FF
28-
primary-rgb: "24,288,156" #"128,179,255"
27+
primary: 18bccc #18bc9c #80B3FF
28+
primary-rgb: "24,288,204" #"24,288,156" #"128,179,255"
2929
secondary: 2c3e50 #FD6E8A
3030
secondary-dark: 233140 #A2122F
3131

_includes/about.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
<div class="row">
1313
<div class="col-lg-4 col-lg-offset-2">
1414
<h3>What</h3>
15-
<p>Bitshifters is a collective of like-minded creatives & developers with a shared love of the BBC Microcomputer and 8-bit retro computing in general. We aim to share & celebrate this love through the production of demos, games and software freely available for all to enjoy. We aim to foster the growing community of BBC Micro enthusiasts and encourage more people to join our cause.</p>
15+
<p>Bitshifters is a collective of like-minded creatives & developers with a shared love of the BBC Microcomputer and 8-bit retro computing in general.</p><p>We aim to share & celebrate this love through the production of demos, games and software freely available for all to enjoy, and foster the growing community of BBC Micro enthusiasts, plus hopefully encourage more people to join our collective!</p>
1616
</div>
1717
<div class="col-lg-4">
1818
<h3>How</h3>
19-
<p>We organise releases every six months centred around a particular theme. We issue guidelines for each release and provide as much framework and support as we can. All will be welcome to submit contributions to the release and will be considered part of the collective at that point. The only condition of submission is that all code be made open and freely available for reuse.</p>
19+
<p>We typically produce a couple of releases per year, usually centred around a particular theme, often in collaboration.</p><p>Our releases usually start life as technical, musical or visual ideas/doodles and evolve from there.</p><p>New contributors are very welcome to join us, just drop any of us a line on the contact channels below.</p>
2020
</div>
2121
<!--
2222
<div class="col-lg-8 col-lg-offset-2 text-center">
@@ -30,5 +30,6 @@ <h3>How</h3>
3030

3131
</div>
3232
</header>
33+
3334

3435

_includes/art.html

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
2+
<style>
3+
#art {
4+
/* Prevent vertical gaps */
5+
line-height: 0;
6+
7+
-webkit-column-count: 8;
8+
-webkit-column-gap: 2px;
9+
-moz-column-count: 8;
10+
-moz-column-gap: 2px;
11+
column-count: 8;
12+
column-gap: 2px;
13+
}
14+
15+
#art img {
16+
/* Just in case there are inline attributes */
17+
width: 100% !important;
18+
height: auto !important;
19+
}
20+
21+
@media (max-width: 1200px) {
22+
#art {
23+
-moz-column-count: 8;
24+
-webkit-column-count: 8;
25+
column-count: 8;
26+
}
27+
}
28+
@media (max-width: 1000px) {
29+
#art {
30+
-moz-column-count: 7;
31+
-webkit-column-count: 7;
32+
column-count: 7;
33+
}
34+
}
35+
@media (max-width: 800px) {
36+
#art {
37+
-moz-column-count: 5;
38+
-webkit-column-count: 5;
39+
column-count: 5;
40+
}
41+
}
42+
@media (max-width: 400px) {
43+
#art {
44+
-moz-column-count: 4;
45+
-webkit-column-count: 4;
46+
column-count: 4;
47+
}
48+
}
49+
.art-container {
50+
overflow:hidden;
51+
margin-bottom: 2px;
52+
opacity: 0;
53+
54+
}
55+
.art-effect {
56+
transform-origin: center;
57+
transition: transform 250ms ease-in-out;
58+
-webkit-transition: transform 250ms ease-in-out;
59+
-moz-transition: transform 250ms ease-in-out;
60+
-o-transition: transform 250ms ease-in-out;
61+
}
62+
.art-effect:hover {
63+
transform: scale(1.05);
64+
}
65+
.art-fade {
66+
animation: fadeInAnimation 1s;
67+
animation-iteration-count: 1;
68+
animation-fill-mode: forwards;
69+
animation-timing-function: ease-in-out;
70+
}
71+
@keyframes fadeInAnimation {
72+
from {
73+
opacity:0;
74+
}
75+
to {
76+
opacity:1;
77+
}
78+
}
79+
80+
81+
</style>
82+
<script>
83+
84+
85+
function compareElementVerticalPosition(a, b) {
86+
const boundRect1 = a.getBoundingClientRect()
87+
const boundRect2 = b.getBoundingClientRect()
88+
89+
const top1 = boundRect1.top + window.pageYOffset
90+
const top2 = boundRect2.top + window.pageYOffset
91+
92+
if (top1 < top2) {
93+
return -1;
94+
}
95+
if (top1 > top2) {
96+
return 1;
97+
}
98+
// a must be equal to b
99+
return 0;
100+
}
101+
102+
103+
function getSortedElements(elements) {
104+
return elements.sort(compareElementVerticalPosition)
105+
}
106+
107+
window.addEventListener('load', (event) => {
108+
109+
110+
111+
//console.log("loaded")
112+
113+
114+
115+
var myList = document.querySelector('#art')
116+
const imageContainerList = []
117+
/*
118+
for (const element of myList.children) {
119+
120+
imageContainerList.push(element)
121+
}
122+
*/
123+
for (var i = myList.children.length; i >= 0; i--) {
124+
const element = myList.children[Math.random() * i | 0]
125+
myList.appendChild(element)
126+
imageContainerList.push(element)
127+
}
128+
129+
const sortedImageContainers = getSortedElements(imageContainerList)
130+
for (let i=0; i<sortedImageContainers.length; ++i) {
131+
const element = sortedImageContainers[i]
132+
133+
/*
134+
const rect = element.getBoundingClientRect()
135+
var node = document.createElement("h6");
136+
const ypos = rect.top + window.pageYOffset
137+
//const ypos = element.offsetTop
138+
const text = '#' + i + ', ' + ypos
139+
var textnode = document.createTextNode(text);
140+
node.appendChild(textnode);
141+
element.insertBefore(node, element.firstChild)
142+
*/
143+
144+
//console.log(element.className)
145+
const animationDelay = 'animation-delay: '+ i*100 + 'ms'
146+
//console.log(animationDelay)
147+
element.setAttribute('style', animationDelay)
148+
element.classList.add('art-fade')
149+
}
150+
})
151+
</script>
152+
153+
154+
<section id="art">
155+
{% for image in site.static_files %}
156+
{% if image.path contains 'img/art' %}
157+
<div class="art-container">
158+
<img src="{{ site.baseurl }}{{ image.path }}" class="art-effect" alt="">
159+
</div>
160+
{% endif %}
161+
{% endfor %}
162+
</section>
163+
164+
<!--
165+
<div class="row">
166+
167+
{% for image in site.static_files %}
168+
{% if image.path contains 'img/media' %}
169+
<div class="col-lg-2 col-md-2 mb-4 wow slideInLeft" data-wow-duration="2s" data-wow-delay="5s"">
170+
171+
<img src="{{ site.baseurl }}{{ image.path }}" class="img-fluid mb-4" width="320px" alt="">
172+
173+
</div>
174+
{% endif %}
175+
{% endfor %}
176+
177+
</div>
178+
-->

_includes/compos.html

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<!-- Portfolio Grid Section -->
2+
<section id="portfolio">
3+
<div class="container">
4+
<div class="row">
5+
<div class="col-lg-12 text-center">
6+
<h2>Competitions</h2>
7+
<hr class="star-primary">
8+
</div>
9+
</div>
10+
<div class="row">
11+
{% assign compos = site.categories['compos'] | sort: 'date' | reverse %}
12+
{% for compo in compos %}
13+
<div class="panel panel-warning">
14+
<div class="panel-heading"><h2>{{ compo.title }}</h2></div>
15+
<div class="panel-body">
16+
<h4 class="text-muted">
17+
<span>{{ compo.date | date: "%a, %d %B %Y" }}</span>
18+
{% if compo.compo_location %}
19+
<span>, {{ compo.compo_location }}</span>
20+
{% endif %}
21+
</h4>
22+
{% for post in site.posts %}
23+
{% if post.tags contains compo.compo_id %}
24+
{% include compos_item.html %}
25+
{% endif %}
26+
{% endfor %}
27+
</div>
28+
</div>
29+
{% endfor %}
30+
</div>
31+
32+
</div>
33+
</section>

_includes/compos_item.html

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,29 @@
1-
<!-- html code to present a compo item -->
2-
<div class="col-sm-4 portfolio-item">
1+
<!-- html code to present a compo production item -->
2+
<div class="col-lg-4 col-md-6 col-sm-12 portfolio-item">
33
<div class="panel panel-default">
4-
<div class="panel-body">
4+
{% if post.rank %}
5+
<div class="panel-heading" data-mh="group-newstext"><h5>{{ post.rank | truncate: 50 }}</h5></div>
6+
{% endif %}
57

6-
7-
<!-- <a href="#portfolioModal-{{ post.modal-id }}" class="portfolio-link" data-toggle="modal">
8-
-->
98
<a href="{{ post.url }}" class="portfolio-link">
109
<div class="caption">
1110
<div class="caption-content">
1211
<i class="fa fa-search-plus fa-3x"></i>
1312
</div>
1413
</div>
15-
<img src="/content/{{ post.img }}" class="img-responsive" alt="{{ post.alt }}">
16-
</a>
17-
<h4>{{ post.title | truncate: 25 }}</h4>
18-
<h6>{{ post.excerpt | strip_html }}</h6>
14+
<div data-mh="group-prods-images flex-grow-1 overflow-auto">
15+
<img src="/content/{{ post.img }}" class="img-responsive" style='width:100%;' alt="{{ post.alt }}">
1916

17+
</div>
18+
</a>
2019

21-
<a href="{{ post.url }}" class="btn btn-default">Read More</a>
22-
<!--
23-
<a href="{{ post.emulate }}" class="btn btn-default">
24-
<i class="fa fa-play-circle"></i> Emulate
25-
</a>
26-
<a href="{{ post.download }}" class="btn btn-default">
27-
<i class="fa fa-download"></i> Download
28-
</a>
29-
-->
20+
<div class="panel-body" data-mh="group-prods">
21+
<!-- data-mh attribute puts all the items into a group so that the div height can be matched -->
22+
<div data-mh="group-prods-titles">
23+
<h4>{{ post.title | truncate: 30 }}</h4>
24+
</div>
25+
<h6>{{ post.team }}</h6>
26+
<a href="{{ post.url }}" class="btn btn-default">Read More</a>
3027
</div>
3128
</div>
3229
</div>

_includes/css/__bootstrap.min.css

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

_includes/css/main.css

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,21 @@ header .container {
9090
padding-bottom: 50px;
9191
}
9292

93+
9394
header img {
9495
display: block;
95-
margin: 0 auto 20px;
96+
/* margin: 0 auto 20px; */
97+
margin: 8px;
98+
width: auto;
99+
height: 150px;
96100
}
97101

98-
header .intro-text .name {
102+
header .intro-text {
99103
display: block;
104+
align-items: center;
105+
}
106+
107+
header .intro-text .name {
100108
text-transform: uppercase;
101109
font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
102110
font-size: 2em;

_includes/css/shader.css

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
.shaderView {
3+
position: absolute;
4+
width: 100%;
5+
height: 500px;
6+
/* background: #f00; */
7+
}
8+
#shaderOverlay {
9+
position: absolute;
10+
left: 20px;
11+
top: 20px;
12+
}

0 commit comments

Comments
 (0)