word-games-theme 3.3.8 → 3.4.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 +4 -4
- data/_data/home_navbar.json +670 -0
- data/_includes/home/blog-card.html +21 -0
- data/_includes/home/footer.html +8 -2
- data/_includes/home/header.html +9 -16
- data/_includes/home/logo.html +19 -83
- data/_includes/home/mega-games.html +16 -0
- data/_includes/home/recent-posts.html +19 -0
- data/_includes/home/related-posts.html +45 -0
- data/_includes/home/static/about.html +39 -0
- data/_includes/home/static/contact.html +19 -0
- data/_includes/home/static/disclaimer.html +88 -0
- data/_includes/home/static/privacy.html +141 -0
- data/_includes/home/static/terms.html +116 -0
- data/_includes/wordgames/head/head.html +1 -2
- data/_includes/wordgames-v2/featurehighlights/featurehighlights.html +1 -1
- data/_includes/wordgames-v2/head/bloghead.html +78 -0
- data/_includes/wordgames-v2/head/head.html +7 -0
- data/_layouts/wordgames-blog-v2.html +66 -0
- data/_layouts/wordgames-home-v2.html +2 -2
- data/_layouts/wordgames-post-v2.html +158 -0
- data/_layouts/wordgames-static-v2.html +38 -0
- data/_layouts/wordgames-tools-v2.html +111 -0
- data/assets/css/wordgames-blog-v2.css +189 -0
- data/assets/css/wordgames-home-v2.css +32 -3
- data/assets/css/wordgames-tools-v2.css +152 -0
- data/assets/images/wordswithletters-favicon.svg +13 -0
- metadata +19 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
<p>Welcome to <strong>{{page.companyName}}</strong>. By accessing or using
|
|
2
|
+
https://{{page.companyName}}.{{page.domain}} (the "Platform"), You agree to be bound by
|
|
3
|
+
these Terms & Conditions ("Terms"). If You do not agree with these Terms, please do not
|
|
4
|
+
use the Platform.</p>
|
|
5
|
+
|
|
6
|
+
<div class="py-3">
|
|
7
|
+
|
|
8
|
+
<h3>1. ABOUT THE PLATFORM</h3>
|
|
9
|
+
<p>The Platform provides free online word unscrambling, word games, and related language
|
|
10
|
+
tools. No account, registration, login, sign-up, or purchase is required to access or
|
|
11
|
+
play any game on the Platform. You can use every feature of the Platform simply by
|
|
12
|
+
visiting it in Your browser.</p>
|
|
13
|
+
|
|
14
|
+
<h3>2. ELIGIBILITY</h3>
|
|
15
|
+
<p>The Platform is intended for general audiences. Since no registration is required, We do
|
|
16
|
+
not collect age information from Users. If You are accessing the Platform on behalf of a
|
|
17
|
+
child, We recommend appropriate parental supervision, as with any general-audience
|
|
18
|
+
website.</p>
|
|
19
|
+
|
|
20
|
+
<h3>3. PERMITTED USE</h3>
|
|
21
|
+
<p>You may use the Platform for lawful, personal, and educational purposes only. You agree
|
|
22
|
+
not to:</p>
|
|
23
|
+
<p>a. Misuse, disrupt, or interfere with the operation of the Platform or the servers and
|
|
24
|
+
networks connected to it.</p>
|
|
25
|
+
<p>b. Scrape, crawl, or extract data from the Platform in bulk, or use any automated means
|
|
26
|
+
(bots, scripts, spiders) to access the Platform other than standard search engine
|
|
27
|
+
indexing.</p>
|
|
28
|
+
<p>c. Reverse engineer, decompile, or attempt to derive the source code or underlying logic
|
|
29
|
+
of the Platform's games or tools.</p>
|
|
30
|
+
<p>d. Copy, reproduce, or republish substantial portions of the Platform's content, design,
|
|
31
|
+
or functionality without Our prior written consent.</p>
|
|
32
|
+
<p>e. Use the Platform for any unlawful purpose or in a manner that could damage, disable, or
|
|
33
|
+
impair the Platform or interfere with any other party's use of it.</p>
|
|
34
|
+
|
|
35
|
+
<h3>4. NO ACCOUNTS OR PERSONAL DATA REQUIRED</h3>
|
|
36
|
+
<p>The Platform does not require You to create an account or provide personal information to
|
|
37
|
+
play its games. Any technical or usage data collected while You use the Platform (such as
|
|
38
|
+
cookies used to save Your game progress or scores on Your device) is handled as described
|
|
39
|
+
in Our Privacy Policy.</p>
|
|
40
|
+
|
|
41
|
+
<h3>5. INTELLECTUAL PROPERTY</h3>
|
|
42
|
+
<p>All original content, software, game logic, word lists, trademarks, logos, and design
|
|
43
|
+
elements on the Platform belong to {{page.companyName}} or its licensors and are
|
|
44
|
+
protected by applicable intellectual property laws. Except for Your personal,
|
|
45
|
+
non-commercial use of the Platform to play its games, no right, title, or interest in any
|
|
46
|
+
such content is transferred to You.</p>
|
|
47
|
+
|
|
48
|
+
<h3>6. ACCURACY OF RESULTS</h3>
|
|
49
|
+
<p>Word suggestions, definitions, scores, and other results on the Platform are generated
|
|
50
|
+
algorithmically. While We aim for accuracy, results are provided "as is," without any
|
|
51
|
+
guarantee of completeness, correctness, or fitness for any particular purpose (including
|
|
52
|
+
competitive or academic use).</p>
|
|
53
|
+
|
|
54
|
+
<h3>7. THIRD-PARTY CONTENT AND ADVERTISEMENTS</h3>
|
|
55
|
+
<p>The Platform may display advertisements and contain links to third-party websites or
|
|
56
|
+
services. We do not control, and are not responsible for, the content, accuracy, or
|
|
57
|
+
practices of any third-party advertisement, website, or service. Your interactions with
|
|
58
|
+
any such third party are solely between You and that third party.</p>
|
|
59
|
+
|
|
60
|
+
<h3>8. DISCLAIMER OF WARRANTIES</h3>
|
|
61
|
+
<p>The Platform is provided "as is" and "as available," without warranties of any kind,
|
|
62
|
+
whether express or implied, including but not limited to warranties of merchantability,
|
|
63
|
+
fitness for a particular purpose, non-infringement, or that the Platform will be
|
|
64
|
+
uninterrupted, timely, secure, or error-free.</p>
|
|
65
|
+
|
|
66
|
+
<h3>9. LIMITATION OF LIABILITY</h3>
|
|
67
|
+
<p>To the fullest extent permitted by applicable law, {{page.companyName}} shall not be
|
|
68
|
+
liable for any indirect, incidental, special, consequential, or punitive damages, or any
|
|
69
|
+
loss of data, use, or goodwill, arising out of or in connection with Your access to or
|
|
70
|
+
use of (or inability to access or use) the Platform, even if We have been advised of the
|
|
71
|
+
possibility of such damages.</p>
|
|
72
|
+
|
|
73
|
+
<h3>10. INDEMNITY</h3>
|
|
74
|
+
<p>You agree to indemnify and hold harmless {{page.companyName}}, its affiliates, and their
|
|
75
|
+
respective officers, employees, and agents from any claims, liabilities, damages, and
|
|
76
|
+
expenses (including reasonable legal fees) arising out of Your breach of these Terms or
|
|
77
|
+
Your misuse of the Platform.</p>
|
|
78
|
+
|
|
79
|
+
<h3>11. PRIVACY</h3>
|
|
80
|
+
<p>Your use of the Platform is also governed by Our Privacy Policy, which explains what
|
|
81
|
+
limited technical information is collected (such as cookies used to save Your game
|
|
82
|
+
progress) and how it is used. Since the Platform does not require registration, We do not
|
|
83
|
+
collect Your name, email address, or other personal identifiers through the Platform
|
|
84
|
+
itself.</p>
|
|
85
|
+
|
|
86
|
+
<h3>12. TERMINATION AND SUSPENSION</h3>
|
|
87
|
+
<p>Since the Platform does not use accounts, there is nothing for Us to "suspend" or
|
|
88
|
+
"terminate" on an individual basis. However, We reserve the right to block or restrict
|
|
89
|
+
access to the Platform from any device, IP address, or network that We reasonably believe
|
|
90
|
+
is being used in violation of these Terms, without prior notice.</p>
|
|
91
|
+
|
|
92
|
+
<h3>13. CHANGES TO THE PLATFORM AND THESE TERMS</h3>
|
|
93
|
+
<p>We may modify, suspend, or discontinue any part of the Platform at any time without prior
|
|
94
|
+
notice. We may also update these Terms at any time by publishing the revised version on
|
|
95
|
+
this page. Your continued use of the Platform after any such change constitutes Your
|
|
96
|
+
acceptance of the revised Terms. We encourage You to review these Terms periodically.</p>
|
|
97
|
+
|
|
98
|
+
<h3>14. GOVERNING LAW AND DISPUTES</h3>
|
|
99
|
+
<p>These Terms are governed by the laws of India, without regard to conflict-of-law
|
|
100
|
+
principles. Any dispute arising out of or relating to these Terms or Your use of the
|
|
101
|
+
Platform shall first be attempted to be resolved amicably; if unresolved within thirty
|
|
102
|
+
(30) days, the dispute shall be subject to the exclusive jurisdiction of the courts
|
|
103
|
+
located in India.</p>
|
|
104
|
+
|
|
105
|
+
<h3>15. SEVERABILITY</h3>
|
|
106
|
+
<p>If any provision of these Terms is held to be invalid, illegal, or unenforceable, the
|
|
107
|
+
remaining provisions shall continue in full force and effect, and the invalid provision
|
|
108
|
+
shall be deemed modified to the minimum extent necessary to make it valid and
|
|
109
|
+
enforceable.</p>
|
|
110
|
+
|
|
111
|
+
<h3>16. CONTACT US</h3>
|
|
112
|
+
<p>If You have any questions about these Terms, please contact Us at:</p>
|
|
113
|
+
<p>Email: care@{{page.companyName}}.{{page.domain}}</p>
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
</div>
|
|
@@ -61,8 +61,7 @@
|
|
|
61
61
|
<meta name="keywords" content="{{site.keyboard}}" />
|
|
62
62
|
{%- endif -%}
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
|
|
66
65
|
|
|
67
66
|
<link rel="stylesheet" href="/assets/css/bootstrap.min.css" />
|
|
68
67
|
<link rel="stylesheet" href="/assets/css/wordgames-variables.css" />
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
{% assign lang = page.lang %}
|
|
3
3
|
{% assign dataToShow = site.data.[page.folderName][lang][file] %}
|
|
4
4
|
|
|
5
|
-
{%- if dataToShow.featureList.first.feature_heading !='' -%}
|
|
5
|
+
{%- if dataToShow.featureList and dataToShow.featureList.first.feature_heading !='' -%}
|
|
6
6
|
|
|
7
7
|
<div class="container" id="featureContainer" style="margin-top:7rem;">
|
|
8
8
|
<div class="row">
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
<head>
|
|
2
|
+
{%- assign pagedescriptionlength = page.description | split: ' ' -%}
|
|
3
|
+
{%- if pagedescriptionlength.size > 5 -%}
|
|
4
|
+
{%- assign pagedescriptionlength = page.description | split: ' ' -%}
|
|
5
|
+
{%- assign pagedescription = page.description -%}
|
|
6
|
+
{%- endif -%}
|
|
7
|
+
{% assign favicon = site.favicon %} {%- assign seo_description =
|
|
8
|
+
pagedescription | default: page.content | markdownify | strip_html |
|
|
9
|
+
truncatewords: 50 | default: page.excerpt | default: site.description -%} {%-
|
|
10
|
+
if seo_description -%} {%- assign seo_description = seo_description |
|
|
11
|
+
markdownify | strip_html | strip_newlines | escape_once -%} {%- endif -%} {%-
|
|
12
|
+
if page.date -%} {%- assign og_type = "article" -%} {%- else -%} {%- assign
|
|
13
|
+
og_type = "website" -%} {%- endif -%}
|
|
14
|
+
{%- assign title = page.title | split: ' ' -%}
|
|
15
|
+
{%- assign newtitle = '' %}
|
|
16
|
+
{% for operation in title %}
|
|
17
|
+
{%- if forloop.first -%}
|
|
18
|
+
{% assign word = operation | capitalize %}
|
|
19
|
+
{% assign newtitle = newtitle | append : word %}
|
|
20
|
+
{% assign newtitle = newtitle | append : " " %}
|
|
21
|
+
{%- else -%}
|
|
22
|
+
{% assign word = operation %}
|
|
23
|
+
{%- if forloop.last -%}
|
|
24
|
+
{% assign newtitle = newtitle | append : word %}
|
|
25
|
+
{%- else -%}
|
|
26
|
+
{% assign newtitle = newtitle | append : word %}
|
|
27
|
+
{% assign newtitle = newtitle | append : " " %}
|
|
28
|
+
{%- endif -%}
|
|
29
|
+
{%- endif -%}
|
|
30
|
+
{% endfor %}
|
|
31
|
+
{%- assign description = description | split: ' ' -%}
|
|
32
|
+
{% assign pagedescription = '' %}
|
|
33
|
+
{% for operation in description %}
|
|
34
|
+
{%- if forloop.first -%}
|
|
35
|
+
{% assign word = operation | capitalize %}
|
|
36
|
+
{% assign pagedescription = pagedescription | append : word %}
|
|
37
|
+
{% assign pagedescription = pagedescription | append : " " %}
|
|
38
|
+
{%- else -%}
|
|
39
|
+
{% assign word = operation %}
|
|
40
|
+
{%- if forloop.last -%}
|
|
41
|
+
{% assign pagedescription = pagedescription | append : word %}
|
|
42
|
+
{%- else -%}
|
|
43
|
+
{% assign pagedescription = pagedescription | append : word %}
|
|
44
|
+
{% assign pagedescription = pagedescription | append : " " %}
|
|
45
|
+
{%- endif -%}
|
|
46
|
+
{%- endif -%}
|
|
47
|
+
{% endfor %}
|
|
48
|
+
{%- assign title = newtitle -%}
|
|
49
|
+
{%- assign description = pagedescription-%}
|
|
50
|
+
|
|
51
|
+
<meta charset="UTF-8" />
|
|
52
|
+
<link rel="shortcut icon" href="{{favicon}}" />
|
|
53
|
+
<link rel="canonical" href="{{site.url | append: page.url}}" />
|
|
54
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
|
55
|
+
<meta name="keywords" content="{{site.keyboard}}" />
|
|
56
|
+
<meta name="description" content="{{ seo_description | slice: 0, 155 }}" />
|
|
57
|
+
<meta name="og:description" content="{{ seo_description | slice: 0, 155 }}" />
|
|
58
|
+
<meta property="og:title" content="{{ title | default: site.title }}" />
|
|
59
|
+
<meta property="og:type" content="{{og_type}}" />
|
|
60
|
+
<meta property="og:locale" content="en_US" />
|
|
61
|
+
<meta property="og:site_name" content="{{site.name}}" />
|
|
62
|
+
<meta property="og:url" content="{{site.url | append: page.url}}" />
|
|
63
|
+
<meta name="author" content="{{ site.author_name }}" />
|
|
64
|
+
<title>{{title}}</title>
|
|
65
|
+
{%- if site.removeBootstrapIcons !=
|
|
66
|
+
true -%}
|
|
67
|
+
<link rel="stylesheet" href="/assets/css/bootstrap-icons.css" />
|
|
68
|
+
{%- endif -%}
|
|
69
|
+
<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
|
|
70
|
+
<link rel="stylesheet" href="/assets/css/wordgames-variables.css" />
|
|
71
|
+
<link rel="stylesheet" href="/assets/css/wordgames-theme.css" />
|
|
72
|
+
<link rel="stylesheet" href="/assets/css/wordgames-home-v2.css" />
|
|
73
|
+
<link rel="stylesheet" href="/assets/css/wordgames-blog-v2.css" />
|
|
74
|
+
{%- include google-analytics.html -%}
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
</head>
|
|
@@ -79,6 +79,13 @@
|
|
|
79
79
|
|
|
80
80
|
{% include /cssfile/links.html %}
|
|
81
81
|
|
|
82
|
+
{%- if page.layout == "wordgames-tools-v2" or page.layout == "wordgames-word-meaning-v2" -%}
|
|
83
|
+
<link rel="stylesheet" href="/assets/css/wordgames-tools-v2.css" />
|
|
84
|
+
{%- endif -%}
|
|
85
|
+
{%- if page.layout == "wordgames-word-meaning-v2" -%}
|
|
86
|
+
<link rel="stylesheet" href="/assets/css/wordgames-word-meaning-v2.css" />
|
|
87
|
+
{%- endif -%}
|
|
88
|
+
|
|
82
89
|
|
|
83
90
|
{%- if page.wordle == 'solver' -%}
|
|
84
91
|
<style>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
{%- include wordgames-v2/head/bloghead.html -%}
|
|
4
|
+
|
|
5
|
+
<body class="wg-home wg-blog">
|
|
6
|
+
<a class="wg-skip" href="#main-content">Skip to content</a>
|
|
7
|
+
{%- include home/header.html -%}
|
|
8
|
+
|
|
9
|
+
<main id="main-content">
|
|
10
|
+
<section class="wg-blog__hero">
|
|
11
|
+
<div class="wg-page">
|
|
12
|
+
<h1>{{ site.data.blog.blog.h1 }}</h1>
|
|
13
|
+
<p>{{ site.data.blog.blog.description }}</p>
|
|
14
|
+
</div>
|
|
15
|
+
</section>
|
|
16
|
+
|
|
17
|
+
<div class="wg-page wg-blog__body">
|
|
18
|
+
{%- if content != blank -%}
|
|
19
|
+
<div class="wg-blog__intro">{{ content }}</div>
|
|
20
|
+
{%- endif -%}
|
|
21
|
+
|
|
22
|
+
<div class="wg-blog__grid">
|
|
23
|
+
{%- for post in paginator.posts -%}
|
|
24
|
+
{%- include authors/authors.html -%}
|
|
25
|
+
{%- include home/blog-card.html i=forloop.index0 -%}
|
|
26
|
+
{%- endfor -%}
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
{%- if paginator.total_pages > 1 -%}
|
|
30
|
+
<nav class="wg-blog__pager" aria-label="Blog pages">
|
|
31
|
+
{%- if paginator.previous_page -%}
|
|
32
|
+
<a class="wg-blog__pg wg-blog__pg--nav" href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}" rel="prev">← Prev</a>
|
|
33
|
+
{%- else -%}
|
|
34
|
+
<span class="wg-blog__pg wg-blog__pg--nav is-off">← Prev</span>
|
|
35
|
+
{%- endif -%}
|
|
36
|
+
{%- for n in (1..paginator.total_pages) -%}
|
|
37
|
+
{%- if n == paginator.page -%}
|
|
38
|
+
<span class="wg-blog__pg is-current" aria-current="page">{{ n }}</span>
|
|
39
|
+
{%- elsif n == 1 -%}
|
|
40
|
+
<a class="wg-blog__pg" href="/blog">{{ n }}</a>
|
|
41
|
+
{%- else -%}
|
|
42
|
+
<a class="wg-blog__pg" href="{{ site.paginate_path | prepend: site.baseurl | replace: '//', '/' | replace: ':num', n }}">{{ n }}</a>
|
|
43
|
+
{%- endif -%}
|
|
44
|
+
{%- endfor -%}
|
|
45
|
+
{%- if paginator.next_page -%}
|
|
46
|
+
<a class="wg-blog__pg wg-blog__pg--nav" href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}" rel="next">Next →</a>
|
|
47
|
+
{%- else -%}
|
|
48
|
+
<span class="wg-blog__pg wg-blog__pg--nav is-off">Next →</span>
|
|
49
|
+
{%- endif -%}
|
|
50
|
+
</nav>
|
|
51
|
+
{%- endif -%}
|
|
52
|
+
</div>
|
|
53
|
+
</main>
|
|
54
|
+
|
|
55
|
+
{%- include home/footer.html -%}
|
|
56
|
+
|
|
57
|
+
<button class="wg-top" id="wg-top" type="button" aria-label="Back to top" hidden>
|
|
58
|
+
<svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M12 19V5M5 12l7-7 7 7"/></svg>
|
|
59
|
+
</button>
|
|
60
|
+
|
|
61
|
+
{%- include wordgames/scripts/scripts.html -%}
|
|
62
|
+
<script data-lang="{{ page.lang }}" defer src="/assets/js/theme.js"></script>
|
|
63
|
+
<script defer src="/assets/js/home-ui.js"></script>
|
|
64
|
+
</body>
|
|
65
|
+
|
|
66
|
+
</html>
|
|
@@ -94,9 +94,9 @@
|
|
|
94
94
|
{% assign tags= page.tags %}
|
|
95
95
|
{%- endif -%}
|
|
96
96
|
{%- if categories.size> 0 or tags.size>0-%}
|
|
97
|
-
{%- include
|
|
97
|
+
{%- include home/related-posts.html -%}
|
|
98
98
|
{%- else -%}
|
|
99
|
-
{%- include
|
|
99
|
+
{%- include home/recent-posts.html -%}
|
|
100
100
|
{% endif %}
|
|
101
101
|
|
|
102
102
|
{% include featurePageAuthors/featurePageAuthors.html %}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
{%- include wordgames-v2/head/bloghead.html -%}
|
|
4
|
+
|
|
5
|
+
<body class="wg-home wg-blog wg-post">
|
|
6
|
+
<a class="wg-skip" href="#main-content">Skip to content</a>
|
|
7
|
+
{%- include home/header.html -%}
|
|
8
|
+
|
|
9
|
+
{%- assign post = page -%}
|
|
10
|
+
{%- include authors/authors.html -%}
|
|
11
|
+
{%- assign postAuthorName = authorName -%}
|
|
12
|
+
{%- assign postAuthorImage = image -%}
|
|
13
|
+
{%- assign postAuthorBio = bio -%}
|
|
14
|
+
{%- assign postAuthorTwitter = twitter -%}
|
|
15
|
+
|
|
16
|
+
<main id="main-content">
|
|
17
|
+
<header class="wg-blog__hero wg-post__hero">
|
|
18
|
+
<div class="wg-page">
|
|
19
|
+
<nav class="wg-post__crumbs" aria-label="Breadcrumb"><a href="/blog">Blog</a>{%- if page.categories.first -%} <span aria-hidden="true">/</span> <span>{{ page.categories.first }}</span>{%- endif -%}</nav>
|
|
20
|
+
<h1>{{ page.title }}</h1>
|
|
21
|
+
<div class="wg-post__byline">
|
|
22
|
+
{%- if page.author -%}
|
|
23
|
+
<img src="{{ postAuthorImage }}" alt="{{ postAuthorName }}" width="40" height="40">
|
|
24
|
+
{%- endif -%}
|
|
25
|
+
<span>
|
|
26
|
+
{%- if page.author -%}<b>{{ postAuthorName }}</b>{%- endif -%}
|
|
27
|
+
<time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date_to_string }}</time>
|
|
28
|
+
</span>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</header>
|
|
32
|
+
|
|
33
|
+
<div class="wg-page wg-post__layout">
|
|
34
|
+
<article class="wg-post__article">
|
|
35
|
+
<div class="post-content wg-post__content">
|
|
36
|
+
{{ content }}
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
{%- if page.author -%}
|
|
40
|
+
<aside class="wg-post__author">
|
|
41
|
+
<img src="{{ postAuthorImage }}" alt="{{ postAuthorName }}" width="64" height="64" loading="lazy">
|
|
42
|
+
<div>
|
|
43
|
+
<h2>{{ postAuthorName }}</h2>
|
|
44
|
+
{%- if postAuthorBio -%}<p>{{ postAuthorBio }}</p>{%- endif -%}
|
|
45
|
+
{%- if postAuthorTwitter and postAuthorTwitter != 'N/A' -%}
|
|
46
|
+
<a class="wg-btn wg-btn--ghost" href="{{ postAuthorTwitter }}" target="_blank" rel="noopener">Follow</a>
|
|
47
|
+
{%- endif -%}
|
|
48
|
+
</div>
|
|
49
|
+
</aside>
|
|
50
|
+
{%- endif -%}
|
|
51
|
+
|
|
52
|
+
{%- if page.previous.url or page.next.url -%}
|
|
53
|
+
<nav class="wg-post__nav" aria-label="More posts">
|
|
54
|
+
{%- if page.previous.url -%}
|
|
55
|
+
<a class="wg-post__navlink" href="{{ page.previous.url }}" rel="prev"><small>← Previous</small><span>{{ page.previous.title }}</span></a>
|
|
56
|
+
{%- else -%}<span></span>{%- endif -%}
|
|
57
|
+
{%- if page.next.url -%}
|
|
58
|
+
<a class="wg-post__navlink wg-post__navlink--next" href="{{ page.next.url }}" rel="next"><small>Next →</small><span>{{ page.next.title }}</span></a>
|
|
59
|
+
{%- endif -%}
|
|
60
|
+
</nav>
|
|
61
|
+
{%- endif -%}
|
|
62
|
+
</article>
|
|
63
|
+
|
|
64
|
+
<aside class="wg-post__side">
|
|
65
|
+
<div class="wg-post__card">
|
|
66
|
+
<h2>{{ site.data.blog.share.label | default: 'Share' }}</h2>
|
|
67
|
+
<div class="wg-post__share">
|
|
68
|
+
{%- capture shareTitle %}{{ page.title | url_encode }}{% endcapture -%}
|
|
69
|
+
{%- assign shareUrl = page.url | relative_url | prepend: site.url | url_encode -%}
|
|
70
|
+
{%- for share in site.data.blog.share.platforms -%}
|
|
71
|
+
{%- assign link = share.link | replace: 'TITLE', shareTitle | replace: 'URL', shareUrl -%}
|
|
72
|
+
<a href="{{ link }}" target="_blank" rel="noopener" aria-label="Share on {{ share.type }}" title="{{ share.type }}"><img src="{{ share.icon }}" alt="" width="18" height="18" loading="lazy"></a>
|
|
73
|
+
{%- endfor -%}
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
{%- if page.contributors.size > 0 -%}
|
|
78
|
+
<div class="wg-post__card">
|
|
79
|
+
<h2>Contributors <span class="wg-post__count">{{ page.contributors.size }}</span></h2>
|
|
80
|
+
<div class="wg-post__people">
|
|
81
|
+
{%- assign others = site.posts | where_exp: "p", "p.url != page.url" -%}
|
|
82
|
+
{%- for contributor in page.contributors -%}
|
|
83
|
+
{%- assign cname = contributor | downcase -%}
|
|
84
|
+
{%- for p in others -%}
|
|
85
|
+
{%- assign post = p -%}
|
|
86
|
+
{%- include authors/authors.html -%}
|
|
87
|
+
{%- assign lname = authorName | downcase -%}
|
|
88
|
+
{%- if lname contains cname -%}
|
|
89
|
+
<a href="/authors/{{ lname | replace: ' ', '-' }}" title="{{ authorName }}"><img src="{{ image }}" alt="{{ authorName }}" width="40" height="40" loading="lazy"></a>
|
|
90
|
+
{%- break -%}
|
|
91
|
+
{%- endif -%}
|
|
92
|
+
{%- endfor -%}
|
|
93
|
+
{%- endfor -%}
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
{%- endif -%}
|
|
97
|
+
|
|
98
|
+
<div class="wg-post__card">
|
|
99
|
+
<h2>Check out these features</h2>
|
|
100
|
+
<ul class="wg-post__links">
|
|
101
|
+
{%- if page.URLS -%}
|
|
102
|
+
{%- for item in page.URLS -%}
|
|
103
|
+
<li><a href="{{ item.url }}">{{ item.name }}</a></li>
|
|
104
|
+
{%- endfor -%}
|
|
105
|
+
{%- else -%}
|
|
106
|
+
{%- assign tools = site.pages | where_exp: "item", "item.tool" | where: "lang", "en" -%}
|
|
107
|
+
{%- for item in tools limit: 8 -%}
|
|
108
|
+
<li><a href="{{ item.url }}">{{ item.url | replace: '/', ' ' | replace: '-', ' ' | strip }}</a></li>
|
|
109
|
+
{%- endfor -%}
|
|
110
|
+
{%- endif -%}
|
|
111
|
+
</ul>
|
|
112
|
+
</div>
|
|
113
|
+
</aside>
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
{%- assign morePosts = site.posts | where_exp: "p", "p.url != page.url" -%}
|
|
117
|
+
{%- if morePosts.size > 0 -%}
|
|
118
|
+
<section class="wg-page wg-post__more">
|
|
119
|
+
<div class="wg-section__head"><div><h2>{%- if page.categories.size > 0 or page.tags.size > 0 -%}You might also like{%- else -%}Recent posts{%- endif -%}</h2></div></div>
|
|
120
|
+
<div class="wg-blog__grid">
|
|
121
|
+
{%- assign shown = 0 -%}
|
|
122
|
+
{%- if page.categories.size > 0 or page.tags.size > 0 -%}
|
|
123
|
+
{%- for p in morePosts -%}
|
|
124
|
+
{%- if shown < 3 -%}
|
|
125
|
+
{%- assign common = 0 -%}
|
|
126
|
+
{%- for c in p.categories -%}{%- if page.categories contains c -%}{%- assign common = common | plus: 1 -%}{%- endif -%}{%- endfor -%}
|
|
127
|
+
{%- for t in p.tags -%}{%- if page.tags contains t -%}{%- assign common = common | plus: 1 -%}{%- endif -%}{%- endfor -%}
|
|
128
|
+
{%- if common > 0 -%}
|
|
129
|
+
{%- assign post = p -%}{%- include authors/authors.html -%}
|
|
130
|
+
{%- include home/blog-card.html i=shown -%}
|
|
131
|
+
{%- assign shown = shown | plus: 1 -%}
|
|
132
|
+
{%- endif -%}
|
|
133
|
+
{%- endif -%}
|
|
134
|
+
{%- endfor -%}
|
|
135
|
+
{%- endif -%}
|
|
136
|
+
{%- if shown == 0 -%}
|
|
137
|
+
{%- for p in morePosts limit: 3 -%}
|
|
138
|
+
{%- assign post = p -%}{%- include authors/authors.html -%}
|
|
139
|
+
{%- include home/blog-card.html i=forloop.index0 -%}
|
|
140
|
+
{%- endfor -%}
|
|
141
|
+
{%- endif -%}
|
|
142
|
+
</div>
|
|
143
|
+
</section>
|
|
144
|
+
{%- endif -%}
|
|
145
|
+
</main>
|
|
146
|
+
|
|
147
|
+
{%- include home/footer.html -%}
|
|
148
|
+
|
|
149
|
+
<button class="wg-top" id="wg-top" type="button" aria-label="Back to top" hidden>
|
|
150
|
+
<svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M12 19V5M5 12l7-7 7 7"/></svg>
|
|
151
|
+
</button>
|
|
152
|
+
|
|
153
|
+
{%- include wordgames/scripts/scripts.html -%}
|
|
154
|
+
<script data-lang="{{ page.lang }}" defer src="/assets/js/theme.js"></script>
|
|
155
|
+
<script defer src="/assets/js/home-ui.js"></script>
|
|
156
|
+
</body>
|
|
157
|
+
|
|
158
|
+
</html>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
{%- include wordgames-v2/head/bloghead.html -%}
|
|
4
|
+
|
|
5
|
+
<body class="wg-home wg-blog wg-static">
|
|
6
|
+
<a class="wg-skip" href="#main-content">Skip to content</a>
|
|
7
|
+
{%- include home/header.html -%}
|
|
8
|
+
|
|
9
|
+
<main id="main-content">
|
|
10
|
+
<header class="wg-blog__hero wg-static__hero">
|
|
11
|
+
<div class="wg-page">
|
|
12
|
+
<h1>{{ page.title }}</h1>
|
|
13
|
+
</div>
|
|
14
|
+
</header>
|
|
15
|
+
|
|
16
|
+
<div class="wg-page wg-static__wrap">
|
|
17
|
+
<div class="wg-static__content">
|
|
18
|
+
{%- if page.static and page.static != "" -%}
|
|
19
|
+
{%- include home/static/{{ page.static }}.html -%}
|
|
20
|
+
{%- else -%}
|
|
21
|
+
{{ content }}
|
|
22
|
+
{%- endif -%}
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</main>
|
|
26
|
+
|
|
27
|
+
{%- include home/footer.html -%}
|
|
28
|
+
|
|
29
|
+
<button class="wg-top" id="wg-top" type="button" aria-label="Back to top" hidden>
|
|
30
|
+
<svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M12 19V5M5 12l7-7 7 7"/></svg>
|
|
31
|
+
</button>
|
|
32
|
+
|
|
33
|
+
{%- include wordgames/scripts/scripts.html -%}
|
|
34
|
+
<script data-lang="{{ page.lang }}" defer src="/assets/js/theme.js"></script>
|
|
35
|
+
<script defer src="/assets/js/home-ui.js"></script>
|
|
36
|
+
</body>
|
|
37
|
+
|
|
38
|
+
</html>
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{% assign file = page.fileName %}
|
|
2
|
+
{% assign lang = page.lang %}
|
|
3
|
+
{% assign folder = page.folderName %}
|
|
4
|
+
|
|
5
|
+
<!DOCTYPE html>
|
|
6
|
+
<html lang="en">
|
|
7
|
+
|
|
8
|
+
{%- include wordgames-v2/head/head.html -%}
|
|
9
|
+
|
|
10
|
+
<body class="wg-home wg-tools">
|
|
11
|
+
<a class="wg-skip" href="#main-content">Skip to content</a>
|
|
12
|
+
{%- include home/header.html -%}
|
|
13
|
+
|
|
14
|
+
{%- if site.newFeatureBox -%}
|
|
15
|
+
<div class="wordgametheme-sidebar-left"></div>
|
|
16
|
+
<div class="wordgametheme-sidebar-right"></div>
|
|
17
|
+
{%- endif -%}
|
|
18
|
+
|
|
19
|
+
<main id="main-content">
|
|
20
|
+
{%- assign heroH1 = dataToShow.h1 | strip -%}
|
|
21
|
+
{%- comment -%}
|
|
22
|
+
Tool scripts written for the v1 layout look up these hooks on load (game.js hides
|
|
23
|
+
#header, .tools_headings, #featureContainer, .footer-section, .rating-tool and stops
|
|
24
|
+
if one is missing), so every one of them must exist here too.
|
|
25
|
+
{%- endcomment -%}
|
|
26
|
+
{%- if heroH1 != "" -%}
|
|
27
|
+
<div class="main-header wg-hero tools_headings">
|
|
28
|
+
{% include wordgames-v2/headings/headings.html %}
|
|
29
|
+
</div>
|
|
30
|
+
{%- else -%}
|
|
31
|
+
<div class="tools_headings" hidden></div>
|
|
32
|
+
{%- endif -%}
|
|
33
|
+
|
|
34
|
+
<!-- Ezoic - sidebar_floating_1 - sidebar_floating_1 -->
|
|
35
|
+
<div id="ezoic-pub-ad-placeholder-109"> </div>
|
|
36
|
+
<!-- End Ezoic - sidebar_floating_1 - sidebar_floating_1 -->
|
|
37
|
+
|
|
38
|
+
<!-- Ezoic - sidebar_floating_2 - sidebar_floating_2 -->
|
|
39
|
+
<div id="ezoic-pub-ad-placeholder-110"> </div>
|
|
40
|
+
<!-- End Ezoic - sidebar_floating_2 - sidebar_floating_2 -->
|
|
41
|
+
|
|
42
|
+
<section class="wg-tool{% if heroH1 == "" %} wg-tool--plain{% endif %}" aria-label="{{ dataToShow.h1 | default: dataToShow.title | default: page.title | escape }}">
|
|
43
|
+
<div class="wg-page">
|
|
44
|
+
<div class="wg-tool-card wg-tool__card tools-feature">
|
|
45
|
+
{{content}}
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</section>
|
|
49
|
+
|
|
50
|
+
<div class="wg-seo" data-seo>
|
|
51
|
+
<div class="wg-seo__body" id="wg-seo-body">
|
|
52
|
+
{% include wordgames-v2/featurehighlights/featurehighlights.html %}
|
|
53
|
+
{%- unless dataToShow.featureList and dataToShow.featureList.first.feature_heading != '' -%}
|
|
54
|
+
<div id="featureContainer" hidden></div>
|
|
55
|
+
{%- endunless -%}
|
|
56
|
+
{%- include wordgames-v2/howto/howto.html -%}
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
{%- if dataToShow.faqList -%}
|
|
61
|
+
{%- if dataToShow.faqList.first.Question !='' -%}
|
|
62
|
+
{% include wordgames-v2/faqs/faqs.html %}
|
|
63
|
+
{% endif %}
|
|
64
|
+
{% endif %}
|
|
65
|
+
|
|
66
|
+
{% include wordgames/adblocker/adblocker.html %}
|
|
67
|
+
|
|
68
|
+
{%- if dataToShow.infographics.size > 0 -%}
|
|
69
|
+
{%- include wordgames-v2/infographics/infographics.html -%}
|
|
70
|
+
{%- endif -%}
|
|
71
|
+
|
|
72
|
+
{%- include wordgames/rating/rating.html -%}
|
|
73
|
+
|
|
74
|
+
{%- assign langen = "en" -%}
|
|
75
|
+
{%- if site.data[folder][langen][file].categories -%}
|
|
76
|
+
{% assign categories= site.data[folder][langen][file].categories %}
|
|
77
|
+
{%- else -%}
|
|
78
|
+
{% assign categories= page.categories %}
|
|
79
|
+
{%- endif -%}
|
|
80
|
+
{%- if site.data[folder][langen][file].tags -%}
|
|
81
|
+
{% assign tags= site.data[folder][langen][file].tags %}
|
|
82
|
+
{%- else -%}
|
|
83
|
+
{% assign tags= page.tags %}
|
|
84
|
+
{%- endif -%}
|
|
85
|
+
{%- if categories.size> 0 or tags.size>0-%}
|
|
86
|
+
{%- include home/related-posts.html -%}
|
|
87
|
+
{%- else -%}
|
|
88
|
+
{%- include home/recent-posts.html -%}
|
|
89
|
+
{% endif %}
|
|
90
|
+
|
|
91
|
+
{% include featurePageAuthors/featurePageAuthors.html %}
|
|
92
|
+
|
|
93
|
+
</main>
|
|
94
|
+
|
|
95
|
+
<div class="footer-section">
|
|
96
|
+
{%- include home/footer.html -%}
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
<button class="wg-top" id="wg-top" type="button" aria-label="Back to top" hidden>
|
|
100
|
+
<svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true"><path fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" d="M12 19V5M5 12l7-7 7 7"/></svg>
|
|
101
|
+
</button>
|
|
102
|
+
|
|
103
|
+
{%- include wordgames/scripts/scripts.html -%}
|
|
104
|
+
<script data-lang="{{page.lang}}" defer src="/assets/js/theme.js"></script>
|
|
105
|
+
<script defer src="/assets/js/home-ui.js"></script>
|
|
106
|
+
{%- if site.ad_preview -%}
|
|
107
|
+
{%- include home/ad-preview.html -%}
|
|
108
|
+
{%- endif -%}
|
|
109
|
+
</body>
|
|
110
|
+
|
|
111
|
+
</html>
|