rubiku-theme 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 38853f168059ffd45e5185f34f503207ba933374e6071585bc45b65bbf2f872b
4
+ data.tar.gz: 1ebf9001221b4cf35b5343431f9197ce67e7611e5151ab4560f67331bd112a6c
5
+ SHA512:
6
+ metadata.gz: 0106e3440f2408545809010536808e68f4bf433be31720b6697ae9264594e9196fc89341b703cba40c568fe7db3fa8fa0a8f722f5460ad38d210549bd57d502f
7
+ data.tar.gz: 03cea947795ea5f56bdcf6599759c7d730e3a55eb3cadf8e614bbbc3d4667f8d54c35472c76262f97b1b1263eab27c8cf02282478efc5cc5adc480af44d96a51
data/README.md ADDED
@@ -0,0 +1,15 @@
1
+ <h1 align="center">RUBIKU THEME</h1>
2
+
3
+ # Description
4
+ A blog website built using Jekyll, a Ruby bundle for static side generators. I created this for my future devlogs, specifically for website-based projects, and also for a hackclub event called Tonic😆
5
+
6
+ # Features
7
+ - Devlog
8
+ - Tutorial
9
+ - Comment (on-going)
10
+
11
+ # Usage
12
+ 1. At the top of this page, select **Use this template** &gt; **Create a new repository** to clone the template to your account.
13
+ 2. Create a codespace from the created repository (for beginners) or use `git clone` (for advanced users) to start pushing commits.
14
+ 3. Run `gem install jekyll`, then `jekyll serve` to see the template in action. <br><br>
15
+ **<p align="center">Built with 💗 - using <a href="https://tonic.hackclub.com">Tonic</a></p>**
data/_config.yml ADDED
@@ -0,0 +1,10 @@
1
+ title: rubiku-theme
2
+ description: "this is description about jekyll theme, use ruby language programing, i made this for event ysws hackclub 'Tonic'"
3
+ encoding: utf-8
4
+
5
+ exclude: ["README.md", "LICENSE", "*.gem", "*.gemspec", "Gemfile.lock"]
6
+ collections:
7
+ authors:
8
+ output: true
9
+ permalink: /authors/:name/
10
+ # bundle exec jekyll serve --trace
@@ -0,0 +1,20 @@
1
+ <head>
2
+ <title>{{ page.title }} | {{ site.title }}</title>
3
+
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta name="description" content="blog website untuk devlog/tutorial buatan Rubikuriku">
7
+ <meta name="keyword" content="blog, connection, rubiku, devlog, jekyll">
8
+ <meta name="author" content="Rubiriku">
9
+ <meta property="og:tittle" content="Blog Jekyll">
10
+ <meta property="og:description" content="blog website untuk devlog/tutorial buatan Rubikuriku">
11
+ <meta property="og:image" content="/assets/uploads/Screenshot 2025-08-17 154328.png">
12
+ <meta property="og:url" content="https://rubiku-theme.netlify.app/">
13
+ <meta property="og:type" content="website - https://rubiku-theme.netlify.app/">
14
+ <meta name="twitter:card" content="summary_large_image" />
15
+ <meta name="twitter:title" content="Rubiku || Blog Jekyll" />
16
+ <meta name="twitter:description" content="blog website untuk devlog/tutorial buatan Rubikuriku" />
17
+ <meta name="twitter:image" content="img/og-img.png" />
18
+ <link rel="canonical" href="https://rubiku-theme.netlify.app/">
19
+ <link rel="stylesheet" href="{{ '/assets/Rubiku-theme.css' | relative_url }}">
20
+ </head>
@@ -0,0 +1,10 @@
1
+ <nav>
2
+ {% for item in site.data.navigation.items %}
3
+ <div>
4
+ <a href="{{ site.baseurl }}{{ item.link }}" {% if page.url==item.link %}style="color: rgb(43, 43, 43);" {% endif %}>
5
+ <img src="{{ item.src }}" alt="{{ item.name }}" />
6
+ {{ item.name }}
7
+ </a>
8
+ </div>
9
+ {%endfor %}
10
+ </nav>
@@ -0,0 +1,25 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <h1 class="title_page">{{ page.display_name }}</h1>
6
+ <section class="text_left">
7
+ <h2>{{ page.position }}</h2>
8
+
9
+ {{ content }}
10
+
11
+ <h2>Posts</h2>
12
+ </section>
13
+ <ul class="parent_card-author">
14
+ {% assign filtered_posts = site.posts | where: 'author', page.name %} {% for post in
15
+ filtered_posts %}
16
+ <div class="card">
17
+ <a href="{{ site.baseurl }}{{ post.url }}">
18
+ {{ post.title }}
19
+ {% if post.wakatime %}
20
+ <img style="vertical-align: middle" src="{{ post.wakatime }}" alt="wakatime badge">
21
+ {% endif %}
22
+ </a>
23
+ </div>
24
+ {% endfor %}
25
+ </ul>
@@ -0,0 +1,9 @@
1
+ <html>
2
+ <body>
3
+ {% include head.html %}
4
+ {% include navigation.html %}
5
+ <main>
6
+ {{ content }}
7
+ </main>
8
+ </body>
9
+ </html>
@@ -0,0 +1,27 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <h1 class="title_page">{{ page.title }}</h1>
6
+
7
+ <p class="text_left">
8
+ {{ page.date | date_to_string }} {% assign author = site.authors | where: 'name', page.author |
9
+ first %} {% if author %} - <a class="text_link" href="{{ author.url }}">{{ author.display_name }}</a>
10
+ {% endif %}
11
+ </p>
12
+
13
+ <div class="text_left">
14
+ {% if page.github %}
15
+ <img class="vertical-align: baseline" src="https://unpkg.com/lucide-static/icons/link.svg" height="15px" width="15px"/>
16
+ <a href="{{ page.github }}">Reporisitory Github</a>
17
+ {% endif %}
18
+ <a href="{{ page.github | default:'#' }}">
19
+ {% if page.wakatime %}
20
+ <img style="vertical-align: middle" src="{{ page.wakatime }}" alt="wakatime badge">
21
+ {% endif %}
22
+ </a>
23
+ </div>
24
+
25
+ <div class="text_basic">
26
+ {{ content }}
27
+ </div>
data/_sass/author.scss ADDED
@@ -0,0 +1,47 @@
1
+ @use "base.scss" as base;
2
+
3
+ .parent_card-author {
4
+ display: grid;
5
+ grid-template-columns: 30vw 30vw 30vw;
6
+ gap: 2%;
7
+
8
+ .card {
9
+ @include base.card_base;
10
+ max-width: 30vw;
11
+ text-decoration: none;
12
+ display: grid;
13
+ grid-auto-flow: column;
14
+ align-items: center;
15
+
16
+
17
+ a {
18
+ text-decoration: none;
19
+ color: #8D0B41;
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: space-between;
23
+ gap: 10px;
24
+ img {
25
+ vertical-align: middle;
26
+ }
27
+ }
28
+ }
29
+ }
30
+
31
+ @media (max-width: 768px) {
32
+ .parent_card-author {
33
+ margin: 0;
34
+ grid-template-columns: auto;
35
+ vertical-align: middle;
36
+
37
+ .card {
38
+ max-width: 80vw;
39
+ .card:hover {
40
+ scale: 105%;
41
+ }
42
+ a {
43
+ margin-left: 0.5rem;
44
+ }
45
+ }
46
+ }
47
+ }
data/_sass/base.scss ADDED
@@ -0,0 +1,148 @@
1
+ @font-face {
2
+ font-family: pixelFont;
3
+ src: url("/assets/font/HomeVideo-BLG6G.ttf");
4
+ }
5
+
6
+ @keyframes fadeOut {
7
+ 0% {opacity: 1;}
8
+ 100% {opacity: 0;}
9
+ }
10
+
11
+ @keyframes fadeIn {
12
+ 0% {opacity: 0;}
13
+ 100% {opacity: 1;}
14
+ }
15
+
16
+ body {
17
+ background-color: #FFF8E6;
18
+ font-family: pixelFont;
19
+ margin: 0;
20
+ color: #8D0B41;
21
+
22
+ font-family:'Franklin Gothic Medium',
23
+ 'Arial Narrow',
24
+ Arial,
25
+ sans-serif main {
26
+ margin-left: 1.5vw;
27
+ }
28
+
29
+
30
+
31
+ .text_link {
32
+ text-decoration: none;
33
+ color: #8D0B41;
34
+ transition: 300ms;
35
+ border-bottom: none;
36
+
37
+ &:hover {
38
+ border-bottom: solid #8D0B41;
39
+ transition: 300ms;
40
+ }
41
+ }
42
+
43
+ .title_page {
44
+ position: relative;
45
+ margin: 1em auto 1.5em 1em;
46
+
47
+ &::before {
48
+ content: "> ";
49
+ }
50
+
51
+ &::before,
52
+ &::after {
53
+ transition: opacity 0.3s ease;
54
+ }
55
+
56
+ &:hover::before {
57
+ content: "> ";
58
+ animation: fadeOut 1s infinite alternate;
59
+ -webkit-animation: fadeOut 1s infinite alternate;
60
+ }
61
+
62
+ &:hover::after {
63
+ content: " ";
64
+ animation: fadeIn 1s infinite alternate;
65
+ -webkit-animation: fadeIn 1s infinite alternate;
66
+ }
67
+ }
68
+
69
+
70
+ .text_basic {
71
+ margin: 0 3rem;
72
+ font-size: 16px;
73
+ }
74
+
75
+ .text_left {
76
+ margin-left: 3rem;
77
+ text-align: left;
78
+ }
79
+ }
80
+
81
+ @mixin card_base {
82
+ margin: 0;
83
+ padding: 0.5rem;
84
+ list-style: none;
85
+ border: solid;
86
+ max-width: 60vw;
87
+ margin-bottom: 1rem;
88
+ background-color: #D39D55;
89
+ color: #8D0B41;
90
+ box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 1);
91
+ scale: 100%;
92
+ transition: 300ms;
93
+ border-radius: 5px;
94
+
95
+ &:hover {
96
+ scale: 101%;
97
+ transition: 300ms;
98
+ }
99
+ }
100
+
101
+ .padding_card {
102
+ padding-left: 1.5rem;
103
+ }
104
+
105
+ p {
106
+ font-size: 1rem;
107
+ line-height: 1.6;
108
+ margin-bottom: 1em;
109
+ }
110
+
111
+ table,
112
+ th,
113
+ td {
114
+ border: solid;
115
+ }
116
+
117
+ @media (max-width: 768px) {
118
+ body {
119
+ margin-bottom: 8.5rem;
120
+
121
+ main {
122
+ margin-left: 2vw;
123
+ }
124
+
125
+ .title_page {
126
+ text-align: center;
127
+ margin: 1.5rem;
128
+
129
+ &:hover::before,
130
+ &:hover::after {
131
+ content: "";
132
+ }
133
+ }
134
+
135
+ .title_page::before {
136
+ content: "";
137
+ }
138
+
139
+ .text_basic {
140
+ margin: 0 2rem;
141
+ align-content: center;
142
+ }
143
+
144
+ .text_left {
145
+ margin-left: 2rem;
146
+ }
147
+ }
148
+ }
@@ -0,0 +1,45 @@
1
+ nav {
2
+ background-color: #D39D55;
3
+ display: flex;
4
+ justify-content: space-around;
5
+ width: 100wh;
6
+ align-content: center;
7
+ align-items: center;
8
+ z-index: 10;
9
+
10
+ div{
11
+ transition: 300ms;
12
+ padding: 1rem 0;
13
+ border-bottom: solid 0px;
14
+ a{
15
+ gap: 0.5em;
16
+ display: flex;
17
+ align-content: center;
18
+ align-items: center;
19
+ text-decoration: none;
20
+ color: #8D0B41;
21
+ transition: 300ms;
22
+ }
23
+ a:hover {
24
+ color:rgb(43, 43, 43);
25
+ transition: 300ms;
26
+ }
27
+ }
28
+ div:hover {
29
+ border-bottom: solid 1px;
30
+ scale: 105%;
31
+ transition: 300ms;
32
+ }
33
+ }
34
+
35
+ @media (max-width: 768px) {
36
+ nav {
37
+ position: fixed;
38
+ bottom: 0;
39
+ left: 0;
40
+ width: 100%;
41
+ a {
42
+ flex-direction: column;
43
+ }
44
+ }
45
+ }
data/_sass/staff.scss ADDED
@@ -0,0 +1,44 @@
1
+ @use "base.scss" as base;
2
+
3
+ .parent_card-staff {
4
+ padding-left: 0;
5
+ display: grid;
6
+ grid-template-columns: 30vw 30vw 30vw;
7
+ gap: 2vw;
8
+ place-content: left;
9
+ margin-left: 3rem;
10
+
11
+ .card_staff {
12
+ color: #8D0B41;
13
+ @include base.card_base;
14
+ text-decoration: none;
15
+ a {
16
+ text-decoration: none;
17
+ color: #8D0B41;
18
+ }
19
+ h2 {
20
+ text-align: center;
21
+ }
22
+ }
23
+ }
24
+
25
+
26
+ @media (max-width: 768px) {
27
+ .parent_card-staff {
28
+ display: grid;
29
+ grid-template-columns: 70vw;
30
+ place-content: center;
31
+ padding: auto;
32
+ margin-left: 0;
33
+
34
+ .card_staff {
35
+ h2 {
36
+ text-align: center;
37
+ }
38
+ }
39
+
40
+ .card_staff:hover {
41
+ scale: 105%;
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,7 @@
1
+ ---
2
+ ---
3
+
4
+ @import "base.scss";
5
+ @import "navigation.scss";
6
+ @import "staff.scss";
7
+ @import "author.scss";
Binary file
Binary file
Binary file
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubiku-theme
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Rubikuriku
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2025-10-25 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: jekyll
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 3.9.0
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 3.9.0
26
+ - !ruby/object:Gem::Dependency
27
+ name: bundler
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ email:
41
+ - hamdaraksa@gmail.com
42
+ executables: []
43
+ extensions: []
44
+ extra_rdoc_files: []
45
+ files:
46
+ - README.md
47
+ - _config.yml
48
+ - _includes/head.html
49
+ - _includes/navigation.html
50
+ - _layouts/author.html
51
+ - _layouts/default.html
52
+ - _layouts/post.html
53
+ - _sass/author.scss
54
+ - _sass/base.scss
55
+ - _sass/navigation.scss
56
+ - _sass/staff.scss
57
+ - assets/Rubiku-theme.scss
58
+ - assets/font/HomeVideo-BLG6G.ttf
59
+ - assets/uploads/Screenshot 2025-08-17 154328.png
60
+ - assets/uploads/schematic.png
61
+ - assets/uploads/screenshot_20250802-112920_1~2.jpg
62
+ - assets/uploads/wireframe.png
63
+ homepage: https://github.com/kyubiner/rubiku-theme
64
+ licenses: []
65
+ metadata: {}
66
+ rdoc_options: []
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ requirements: []
80
+ rubygems_version: 3.6.2
81
+ specification_version: 4
82
+ summary: theme jekyll for blog devlogs and tutorial
83
+ test_files: []