tear-jekyll-theme 1.0.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: 169c9f84e9da00330e033e866b1f4f198806b25220a9e03584f62ff2e88dc3bf
4
+ data.tar.gz: 9521c6a9a87e8d201ce022b5b65bcb184becf3302526b2694313a5934f0ff79d
5
+ SHA512:
6
+ metadata.gz: 612c65c1fe87f77ee0c41562311428190c0df2434e06741d70ddca9207de148472f91da245a9015df272e6c30a8c472dba01e776cb0fc6feb839d73de6a5957a
7
+ data.tar.gz: 773cdee5153a793f53602cc7f5f4a30ac2d2158a18ba6c3d2cbd7c0ab426eb1ba81e27576868fcd7748b0f007924428860732aabbdcfea80ea1117c3bd8b31ca
data/README.md ADDED
@@ -0,0 +1,110 @@
1
+ <img src="https://i.ibb.co.com/sdVSmQ5x/niri-logo.png" alt="drawing" width="300"/>
2
+
3
+ [![Gem](https://img.shields.io/gem/v/niri.svg)](https://rubygems.org/gems/niri)
4
+ [![Gem](https://img.shields.io/gem/dt/niri.svg)](https://rubygems.org/gems/niri)
5
+
6
+ # About
7
+ Theme blog for jekyll using Bulma css.
8
+
9
+ Live Demo : https://rokhimin.github.io
10
+
11
+ ## Features
12
+ - Modern UI
13
+ - Dark/Light Mode ( I set default Darkmode first time user open website )
14
+ - Comment (Disqus)
15
+ - Logo
16
+ - Page Projects
17
+ - many more
18
+
19
+ ## Installation Jekyll
20
+
21
+ $ gem install jekyll
22
+
23
+
24
+ create first app
25
+
26
+ $ jekyll new yournameapp
27
+
28
+
29
+ ## Installation Theme
30
+
31
+ Installation theme Niri to your jekyll app
32
+
33
+ Add this line to your Jekyll site's `Gemfile`:
34
+
35
+ ```ruby
36
+ gem "niri"
37
+ ```
38
+
39
+ And add this line to your Jekyll site's `_config.yml`:
40
+
41
+ ```yaml
42
+ theme: niri
43
+ ```
44
+
45
+ And then execute:
46
+
47
+ $ bundle
48
+
49
+
50
+ Run jekyll:
51
+
52
+ $ bundle exec jekyll s
53
+
54
+ ## Setup
55
+
56
+ ##### copy to _config.yml
57
+
58
+ ```yaml
59
+ title: Niri
60
+ email: youremail@gmail.com
61
+ description: yourdesc
62
+ baseurl: ""
63
+ url: ""
64
+ footer: Example Theme <a href="https://github.com/rokhimin/jekyll-niri">Niri</a> [/code] by whdzera
65
+ twitter_username: whdzera
66
+ github_username: rokhimin
67
+ logo: niri-logo.png
68
+ theme: niri
69
+ photo_profile: ""
70
+ disqus: ""
71
+ ```
72
+
73
+ ##### Create file 'projects.markdown' in '/' to use page Projects feature
74
+
75
+ ##### copy to projects.markdown
76
+
77
+ ```
78
+ ---
79
+ layout: projects
80
+ permalink: /projects/
81
+ ---
82
+ YOUR PROJECT
83
+ ```
84
+
85
+ ##### edit about.markdown
86
+
87
+ ```
88
+ ---
89
+ layout: about
90
+ permalink: /projects/
91
+ ---
92
+ YOUR ABOUT
93
+ ```
94
+
95
+ ## Contributing
96
+
97
+ Bug reports and pull requests are welcome on GitHub at https://github.com/rokhimin/jekyll-niri. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](https://www.contributor-covenant.org/) code of conduct.
98
+
99
+ ## Development
100
+
101
+ To set up your environment to develop this theme, run `bundle install`.
102
+
103
+ Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
104
+
105
+ When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
106
+ To add a custom directory to your theme-gem, please edit the regexp in `niri.gemspec` accordingly.
107
+
108
+ ## License
109
+
110
+ The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/_config.yml ADDED
@@ -0,0 +1,20 @@
1
+ title: Tear
2
+ email: whdzera@gmail.com
3
+ description: >- # this means to ignore newlines until "baseurl:"
4
+ Write an awesome description for your new site here. You can edit this
5
+ line in _config.yml. It will appear in your document head meta (for
6
+ Google search results) and in your feed.xml site description.
7
+ baseurl: ""
8
+ url: ""
9
+ logo: Tear
10
+ footer: "Created with ❤ by whdzera"
11
+ twitter_username: jekyllrb
12
+ github_username: jekyll
13
+ disqus: "rokhimin-1.disqus"
14
+
15
+ plugins:
16
+ - jekyll-feed
17
+
18
+ markdown: kramdown
19
+ kramdown:
20
+ input: GFM
@@ -0,0 +1,9 @@
1
+ <footer class="bg-white dark:bg-gray-800 shadow-inner mt-12">
2
+ <div class="max-w-6xl mx-auto px-4 py-8">
3
+ <div class="text-center text-gray-500 dark:text-gray-400">
4
+ <p>{{ site.footer }}</p>
5
+ <p>Powered by <a href="https://jekyllrb.com/" class="text-blue-400">Jekyll</a></p>
6
+ <p>&copy;{{ site.time | date: '%Y' }} <a href="https://github.com/rokhimin/jekyll-tear" class="text-blue-400">Tear Theme</a>.</p>
7
+ </div>
8
+ </div>
9
+ </footer>
@@ -0,0 +1,11 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1">
5
+ <title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
6
+ <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
7
+ <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
8
+ <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}">
9
+ <link href="{{ site.baseurl }}/assets/css/output.css" rel="stylesheet" />
10
+ <script type="module" src="{{ site.baseurl }}/assets/js/application.js"></script>
11
+ </head>
@@ -0,0 +1,93 @@
1
+ <nav class="bg-white dark:bg-gray-800 shadow-md" data-controller="navbar">
2
+ <div class="max-w-6xl mx-auto px-4">
3
+ <div class="flex justify-between">
4
+ <div class="flex space-x-4">
5
+ <div class="flex items-center py-3">
6
+ <a href="/" class="font-bold text-3xl text-primary dark:text-blue-400">
7
+ {{ site.logo }}
8
+ </a>
9
+ </div>
10
+ </div>
11
+
12
+ <!-- Desktop Navigation -->
13
+ <div class="hidden md:flex items-center space-x-1">
14
+ <a
15
+ class="py-4 px-3 text-gray-700 dark:text-gray-200 hover:text-primary dark:hover:text-primary transition-colors duration-300"
16
+ href="{{ '/' | relative_url }}"
17
+ >Home</a
18
+ >
19
+ <a
20
+ class="py-4 px-3 text-gray-700 dark:text-gray-200 hover:text-primary dark:hover:text-primary transition-colors duration-300"
21
+ href="{{ '/projects/' | relative_url }}"
22
+ >Projects</a
23
+ >
24
+ <a
25
+ class="py-4 px-3 text-gray-700 dark:text-gray-200 hover:text-primary dark:hover:text-primary transition-colors duration-300"
26
+ href="{{ '/about/' | relative_url }}"
27
+ >About</a
28
+ >
29
+
30
+ <!-- Dark Mode Toggle Desktop -->
31
+ <button
32
+ class="p-2 rounded-full hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors duration-300"
33
+ data-action="click->theme#toggle"
34
+ >
35
+ <span data-theme-target="icon" class="w-5 h-5"></span>
36
+ </button>
37
+ </div>
38
+
39
+ <!-- Mobile Navigation -->
40
+ <div class="md:hidden flex items-center">
41
+ <!-- Dark Mode Toggle Mobile -->
42
+ <button
43
+ class="mr-2 p-2 rounded-full hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors duration-300"
44
+ data-action="click->theme#toggle"
45
+ >
46
+ <span data-theme-target="icon" class="w-5 h-5"></span>
47
+ </button>
48
+
49
+ <!-- Burger Menu Button -->
50
+ <button
51
+ class="mobile-menu-button p-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 focus:outline-none transition-colors duration-300"
52
+ data-action="click->navbar#toggle"
53
+ aria-label="Toggle menu"
54
+ >
55
+ <!-- Hamburger Icon -->
56
+ <svg
57
+ xmlns="http://www.w3.org/2000/svg"
58
+ class="h-7 w-7 text-gray-700 dark:text-gray-200"
59
+ fill="none"
60
+ viewBox="0 0 24 24"
61
+ stroke="currentColor"
62
+ >
63
+ <path
64
+ stroke-linecap="round"
65
+ stroke-linejoin="round"
66
+ stroke-width="2"
67
+ d="M4 6h16M4 12h16M4 18h16"
68
+ />
69
+ </svg>
70
+ </button>
71
+ </div>
72
+ </div>
73
+ </div>
74
+
75
+ <!-- Mobile Menu -->
76
+ <div class="mobile-menu hidden md:hidden" data-navbar-target="menu">
77
+ <a
78
+ class="block py-2 px-4 text-sm hover:bg-gray-200 dark:hover:bg-gray-700 dark:text-gray-200"
79
+ href="{{ '/' | prepend: site.baseurl }}"
80
+ >Home</a
81
+ >
82
+ <a
83
+ class="block py-2 px-4 text-sm hover:bg-gray-200 dark:hover:bg-gray-700 dark:text-gray-200"
84
+ href="{{ '/projects/' | prepend: site.baseurl }}"
85
+ >Projects</a
86
+ >
87
+ <a
88
+ class="block py-2 px-4 text-sm hover:bg-gray-200 dark:hover:bg-gray-700 dark:text-gray-200"
89
+ href="{{ '/about/' | prepend: site.baseurl }}"
90
+ >About</a
91
+ >
92
+ </div>
93
+ </nav>
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div
6
+ class="relative md:mr-25 md:ml-25 bg-white dark:bg-gray-800 rounded-l-lg rounded-r-lg shadow-lg overflow-hidden mb-6"
7
+ >
8
+ <h1 class="text-3xl ml-5 mt-2 md:text-4xl font-bold text-primary dark:text-blue-400 animate-fade-in">
9
+ About
10
+ </h1>
11
+ <article class="max-w-4xl mx-auto px-4 sm:px-6 py-4">
12
+ <div class="h-px w-full bg-gradient-to-r from-black to-transparent dark:from-blue-400 mb-8"></div>
13
+
14
+
15
+ <div class="prose dark:prose-invert prose-lg max-w-none text-gray-700 dark:text-gray-200">
16
+
17
+ <img src="{{ site.photo_profile }}" alt="photo_profile" style="width:150px;" />
18
+ {{ content }}
19
+ </div>
20
+ </article>
21
+ </div>
@@ -0,0 +1,32 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ {% include head.html %}
4
+ <body
5
+ class="bg-gray-100 dark:bg-gray-900 dark:text-white transition-colors duration-300 max-h-100 overflow-y-auto
6
+
7
+ /* Scrollbar Track */
8
+ [&::-webkit-scrollbar]:w-4.5
9
+ [&::-webkit-scrollbar-track]:rounded-full
10
+ [&::-webkit-scrollbar-track]:bg-gray-100
11
+ dark:[&::-webkit-scrollbar-track]:bg-gray-900
12
+
13
+ /* Scrollbar Thumb */
14
+ [&::-webkit-scrollbar-thumb]:absolute
15
+
16
+ [&::-webkit-scrollbar-thumb]:bg-gray-400
17
+ dark:[&::-webkit-scrollbar-thumb]:bg-neutral-700
18
+
19
+ /* Scrollbar Thumb on Hover */
20
+ [&::-webkit-scrollbar-thumb:hover]:bg-gray-500
21
+ dark:[&::-webkit-scrollbar-thumb:hover]:bg-neutral-400
22
+ "
23
+ data-controller="theme"
24
+ >
25
+
26
+ {% include navigation.html %}
27
+ <main class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
28
+ {{ content }}
29
+ </main>
30
+ {% include footer.html %}
31
+ </body>
32
+ </html>
@@ -0,0 +1,51 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <!-- Blog Content -->
6
+ <div class="text-center mb-12">
7
+ <h1 class="text-4xl font-bold text-gray-800 dark:text-white mb-4">
8
+ Welcome to My Blog
9
+ </h1>
10
+ <p class="text-gray-600 dark:text-gray-300 mx-auto max-w-2xl">
11
+ {{ site.description }}
12
+ </p>
13
+ </div>
14
+
15
+ {% assign posts_by_year = site.posts | group_by_exp:"post", "post.date | date:
16
+ '%Y'" %} {% for year in posts_by_year %} {% for post in year.items %}
17
+ <!-- Post Card -->
18
+ <div
19
+ class="relative md:mr-25 md:ml-25 bg-white dark:bg-gray-800 rounded-l-lg rounded-r-lg shadow-lg overflow-hidden mb-6"
20
+ >
21
+ <!-- Thumbnail -->
22
+ {% if post.thumbnail %}
23
+ <a href="{{ post.url | relative_url }}" data-controller="thumbnail">
24
+ <img
25
+ src="{{ post.thumbnail }}"
26
+ alt="Thumbnail {{ post.title }}"
27
+ data-thumbnail-target="image"
28
+ class="w-full h-48 object-cover transition duration-300 ease-in-out rounded-lg"
29
+ />
30
+ </a>
31
+
32
+ {% endif %}
33
+
34
+ <!-- Post Content -->
35
+ <div class="p-3">
36
+ <div
37
+ class="flex items-center text-sm text-gray-500 dark:text-gray-400 mb-1"
38
+ >
39
+ <i class="far fa-calendar"></i>
40
+ <span>{{ post.date | date: "%b %-d, %Y" }}</span>
41
+ </div>
42
+
43
+ <h3
44
+ class="text-2xl font-bold text-gray-800 dark:text-white hover:text-primary transition-colors"
45
+ >
46
+ <a href="{{ post.url | relative_url }}">{{ post.title }}</a>
47
+ </h3>
48
+ </div>
49
+ </div>
50
+
51
+ {% endfor %} {% endfor %}
@@ -0,0 +1,57 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div
6
+ class="relative md:mr-25 md:ml-25 bg-white dark:bg-gray-800 rounded-l-lg rounded-r-lg shadow-lg overflow-hidden mb-6"
7
+ >
8
+ <!-- Thumbnail -->
9
+ <img
10
+ src="{{ base.url }}/{{ page.thumbnail }}"
11
+ alt="Thumbnail {{ page.title }}"
12
+ class="w-full h-48 object-cover rounded-lg shadow-sm transition-transform duration-300 hover:scale-105"
13
+ />
14
+
15
+
16
+ <article class="max-w-4xl mx-auto px-4 sm:px-6 py-8">
17
+ <h1 class="text-3xl md:text-4xl font-bold text-primary dark:text-blue-400 mb-4 animate-fade-in">
18
+ {{ page.title }}
19
+ </h1>
20
+
21
+ <div class="flex items-center text-sm text-gray-500 dark:text-gray-400 mb-6">
22
+ <i class="far fa-calendar mr-2"></i>
23
+ <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%Y-%m-%d" }}</time>
24
+ </div>
25
+
26
+ <div class="h-px w-full bg-gradient-to-r from-black to-transparent dark:from-blue-400 mb-8"></div>
27
+
28
+ <div class="prose dark:prose-invert prose-lg max-w-none text-gray-700 dark:text-gray-200">
29
+ {{ content }}
30
+ </div>
31
+ </article>
32
+ </div>
33
+
34
+
35
+ <div
36
+ class="relative md:mr-25 md:ml-25 bg-white dark:bg-gray-800 rounded-l-lg rounded-r-lg shadow-lg overflow-hidden mb-6"
37
+ >
38
+ {% if page.comments %}
39
+ <div class="p-3">
40
+ <div id="disqus_thread"></div>
41
+ </div>
42
+ <script>
43
+ var disqus_config = function () {
44
+ this.page.url = "{{ page.url | absolute_url }}";
45
+ this.page.identifier = "{{ page.id }}";
46
+ };
47
+
48
+ (function() {
49
+ var d = document, s = d.createElement('script');
50
+ s.src = 'https://{{ site.disqus }}.com/embed.js';
51
+ s.setAttribute('data-timestamp', +new Date());
52
+ (d.head || d.body).appendChild(s);
53
+ })();
54
+ </script>
55
+
56
+ {% endif %}
57
+ </div>
@@ -0,0 +1,3 @@
1
+ ---
2
+ layout: default
3
+ ---
@@ -0,0 +1,3 @@
1
+ @import "tailwindcss";
2
+ @plugin "@tailwindcss/typography";
3
+ @custom-variant dark (&:where(.dark, .dark *));