[meld/pages] Add new website
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld/pages] Add new website
- Date: Sat, 8 May 2021 23:55:15 +0000 (UTC)
commit b766482c374ddc29ed2f0ab7e2c993e1e93cad8f
Author: Kai Willadsen <kai willadsen gmail com>
Date: Sun May 9 09:54:44 2021 +1000
Add new website
.gitlab-ci.yml | 30 ++++++
README.md | 27 ++++++
_config.yml | 5 +
_data/releases.yml | 16 ++++
_includes/release_card.html | 30 ++++++
_layouts/default.html | 64 +++++++++++++
favicon.png | Bin 0 -> 2234 bytes
images/dirdiff.png | Bin 0 -> 36672 bytes
images/filediff.png | Bin 0 -> 38784 bytes
images/meld.svg | 182 +++++++++++++++++++++++++++++++++++
images/vcview.png | Bin 0 -> 16573 bytes
index.html | 211 +++++++++++++++++++++++++++++++++++++++++
style.css | 27 ++++++
workers-site/.cargo-ok | 0
workers-site/.gitignore | 2 +
workers-site/index.js | 92 ++++++++++++++++++
workers-site/package-lock.json | 33 +++++++
workers-site/package.json | 12 +++
wrangler.toml | 17 ++++
19 files changed, 748 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..3988e3c0
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,30 @@
+stages:
+ - deploy
+ - publish
+
+variables:
+ DEPENDENCIES: findutils git libxslt rubygem-jekyll yelp-tools
+
+pages:
+ stage: deploy
+ image: fedora:33
+ script:
+ - dnf install -y $DEPENDENCIES
+ - jekyll build -d public/
+ - git checkout master
+ - mkdir public/help/
+ - yelp-build html -o public/help help/C
+ artifacts:
+ paths:
+ - public
+ only:
+ - pages
+
+cloudflareworkers:
+ stage: publish
+ image: node:12-alpine
+ script:
+ - npm install @cloudflare/wrangler
+ - npx wrangler publish --env production
+ only:
+ - pages
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..f4a931a1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,27 @@
+
+Meld website
+============
+
+This branch exists to keep and build Meld's website.
+
+
+Build
+-----
+
+The build process (see `.gitlab-ci.yml`) has three stages. The first stage
+builds the actual site using Jekyll, outputting to the `public` folder. The
+second stage switches to the master branch and uses the Yelp build tool to
+generate an HTML version of Meld's help, which is output to a `help` subfolder
+under the existing `public` folder. This public folder is the artifact that is
+then uploaded to the GitLab Pages site.
+
+In order to make the page more easily accessible, and to retain our current
+well-known domain, this site is then published to Cloudflare workers.
+
+
+Screenshots
+-----------
+
+These have been minimized using `pngquant` (https://pngquant.org/), since
+absolute lossless presentation isn't really necessary here, and the size
+saving is significant.
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 00000000..72ad5437
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,5 @@
+exclude:
+- README.md
+- wrangler.toml
+- workers-site
+- dist
diff --git a/_data/releases.yml b/_data/releases.yml
new file mode 100644
index 00000000..b73c9ffc
--- /dev/null
+++ b/_data/releases.yml
@@ -0,0 +1,16 @@
+- version: 3.20.3
+ date: 2021-02-13
+ type: stable
+ description: >
+ The most recent stable release is the best option for most users. We keep changes to these releases to a
minimum.
+ platforms:
+ - linux
+ - windows
+
+- version: 3.21.0
+ date: 2020-04-19
+ type: development
+ description: >
+ Our development releases are usually fairly reliable, but you'll probably run in to a few issues.
Please tell us!
+ platforms:
+ - linux
diff --git a/_includes/release_card.html b/_includes/release_card.html
new file mode 100644
index 00000000..98ee6e26
--- /dev/null
+++ b/_includes/release_card.html
@@ -0,0 +1,30 @@
+ <div class="card bg-dark text-white mb-3 mr-md-3 py-3 px-3 py-md-4 px-md-5">
+ <div class="card-body py-0 px-0">
+ {% assign release = include.release %}
+ {% assign short_version = release.version | split: "." | pop | join: "." %}
+ <div class="d-flex w-100 justify-content-between align-items-baseline">
+ <h5 class="card-title">Meld {{ release.version }} — {{ release.type }}</h5>
+ <h6 class="card-subtitle mb-2 text-muted">
+ <time datetime="{{ release.date }}">{{ release.date | date_to_long_string }}</time>
+ </h6>
+ </div>
+ <p class="mb-1">
+ {{ release.description }}
+ </p>
+ <p>
+ See the <a href="https://gitlab.gnome.org/GNOME/meld/-/releases/{{ release.version }}"
class="card-link">release notes</a> for details.
+ </p>
+
+ <div>
+ <a class="btn btn-primary mr-2" role="button" href="https://download.gnome.org/sources/meld/{{
short_version }}/meld-{{ release.version }}.tar.xz">
+ <i class="fas fa-download"></i> Source <small>(.tar.xz)</small>
+ </a>
+
+ {% if release.platforms contains 'windows' %}
+ <a class="btn btn-primary mr-2" role="button"
href="https://download.gnome.org/binaries/win32/meld/{{ short_version }}/Meld-{{ release.version
}}-mingw.msi">
+ <i class="fas fa-download"></i> Windows <small>(.msi)</small>
+ </a>
+ {% endif %}
+ </div>
+ </div>
+ </div>
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 00000000..72d61244
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,64 @@
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+ <meta name="author" content="Kai Willadsen">
+ <link rel="icon" type="image/png" href="favicon.png">
+
+ <title>{{ page.title }}</title>
+
+ <!-- Bootstrap CSS -->
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
+
+ <!-- Fontawesome CSS -->
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/solid.css"
integrity="sha384-v2Tw72dyUXeU3y4aM2Y0tBJQkGfplr39mxZqlTBDUZAb9BGoC40+rdFCG0m10lXk" crossorigin="anonymous">
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/brands.css"
integrity="sha384-IiIL1/ODJBRTrDTFk/pW8j0DUI5/z9m1KYsTm/RjZTNV8RHLGZXkUDwgRRbbQ+Jh" crossorigin="anonymous">
+ <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/fontawesome.css"
integrity="sha384-q3jl8XQu1OpdLgGFvNRnPdj5VIlCvgsDQTQB6owSOHWlAurxul7f+JpUOVdAiJ5P" crossorigin="anonymous">
+
+ <link rel="stylesheet" href="style.css">
+ </head>
+
+ <body>
+ <nav class="navbar navbar-expand-md navbar-dark" style="background-color: #3465a4;">
+ <div class="container">
+ <a class="navbar-brand" href="#">
+ <img src="/images/meld.svg" width="30" height="30" class="d-inline-block align-top" alt="">
+ Meld
+ </a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle
navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
+ <div class="navbar-nav">
+ <a class="nav-item nav-link" href="#features">Features</a>
+ <a class="nav-item nav-link" href="#development">Development</a>
+ <a class="nav-item nav-link" href="help/">Help</a>
+ <a class="nav-item nav-link" href="https://gitlab.gnome.org/GNOME/meld/wikis/home">
+ Wiki
+ <i class="fas fa-external-link-alt fa-xs" style="vertical-align: text-top"></i>
+ </a>
+ </div>
+ </div>
+ </div>
+ </nav>
+
+ <div class="container">
+ {{ content }}
+ </div>
+
+ <footer class="container py-3">
+ <div class="row">
+ <div class="col-12 col-md">
+ <small class="d-block mb-3 text-muted">© {{ page.copyright }}</small>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin="anonymous"></script>
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
crossorigin="anonymous"></script>
+
+ </body>
+</html>
diff --git a/favicon.png b/favicon.png
new file mode 100644
index 00000000..c67d2a0d
Binary files /dev/null and b/favicon.png differ
diff --git a/images/dirdiff.png b/images/dirdiff.png
new file mode 100644
index 00000000..5716492c
Binary files /dev/null and b/images/dirdiff.png differ
diff --git a/images/filediff.png b/images/filediff.png
new file mode 100644
index 00000000..1f0cd899
Binary files /dev/null and b/images/filediff.png differ
diff --git a/images/meld.svg b/images/meld.svg
new file mode 100644
index 00000000..19308f0f
--- /dev/null
+++ b/images/meld.svg
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ viewBox="0 0 128 128"
+ style="display:inline;enable-background:new"
+ version="1.0"
+ id="svg11300"
+ height="128"
+ width="128">
+ <title
+ id="title4162">Adwaita Icon Template</title>
+ <defs
+ id="defs3">
+ <clipPath
+ id="clipPath868"
+ clipPathUnits="userSpaceOnUse">
+ <rect
+
style="display:inline;opacity:1;fill:#4fd2fd;fill-opacity:1;stroke:none;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
+ id="rect870"
+ width="112"
+ height="80"
+ x="8"
+ y="196"
+ rx="8"
+ ry="8" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient1427">
+ <stop
+ id="stop1423"
+ offset="0"
+ style="stop-color:#c64600;stop-opacity:1" />
+ <stop
+ style="stop-color:#c64600;stop-opacity:1"
+ offset="0.84624046"
+ id="stop1431" />
+ <stop
+ id="stop1433"
+ offset="0.9231202"
+ style="stop-color:#e66100;stop-opacity:1" />
+ <stop
+ id="stop1425"
+ offset="1"
+ style="stop-color:#c64600;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7688">
+ <stop
+ id="stop7684"
+ offset="0"
+ style="stop-color:#1a5fb4;stop-opacity:1" />
+ <stop
+ style="stop-color:#1c71d8;stop-opacity:1"
+ offset="0.1875"
+ id="stop3222" />
+ <stop
+ style="stop-color:#1a5fb4;stop-opacity:1"
+ offset="0.375"
+ id="stop1435" />
+ <stop
+ id="stop7686"
+ offset="1"
+ style="stop-color:#1a5fb4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="64"
+ x2="116"
+ y1="64"
+ x1="12"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient888"
+ xlink:href="#linearGradient7688" />
+ <linearGradient
+ y2="112"
+ x2="116"
+ y1="112"
+ x1="63.970703"
+ gradientTransform="matrix(1,0,0,0.99997115,5e-7,0.00335)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient890"
+ xlink:href="#linearGradient1427" />
+ </defs>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>GNOME Design Team</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source />
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
+ <dc:title>Adwaita Icon Template</dc:title>
+ <dc:subject>
+ <rdf:Bag />
+ </dc:subject>
+ <dc:date />
+ <dc:rights>
+ <cc:Agent>
+ <dc:title />
+ </cc:Agent>
+ </dc:rights>
+ <dc:publisher>
+ <cc:Agent>
+ <dc:title />
+ </cc:Agent>
+ </dc:publisher>
+ <dc:identifier />
+ <dc:relation />
+ <dc:language />
+ <dc:coverage />
+ <dc:description />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title />
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:requires
+ rdf:resource="http://creativecommons.org/ns#Notice" />
+ <cc:requires
+ rdf:resource="http://creativecommons.org/ns#Attribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://creativecommons.org/ns#ShareAlike" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(0,-172)"
+ style="display:inline"
+ id="layer1">
+ <g
+ style="display:inline"
+ id="layer9">
+ <rect
+ ry="39"
+ y="184"
+ x="12"
+ height="100"
+ width="104"
+ id="rect930"
+
style="opacity:1;fill:#3584e4;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
/>
+ <path
+ transform="translate(0,172)"
+ id="path878"
+ d="M 12 74.523438 L 12 77 L 12 78.523438 L 12.039062 78.523438 C 12.834855 99.416938 29.90482 116
51 116 L 58.890625 116 L 77 116 L 63.970703 115.99609 L 63.970703 112 L 58.890625 112 L 51 112 C 29.90482 112
12.834865 95.416938 12.039062 74.523438 L 12 74.523438 z "
+
style="opacity:1;fill:url(#linearGradient888);fill-opacity:1;stroke:none;stroke-width:5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
/>
+ <path
+ transform="translate(0,172)"
+ id="path880"
+ d="M 116 104 C 116 108.432 112.432 112 108 112 L 77 112 L 63.970703 112 L 63.970703 115.99609 L 77
116 L 108 116 C 112.432 116 116 112.43187 116 108 L 116 104 z "
+
style="display:inline;fill:url(#linearGradient890);fill-opacity:1;stroke-width:0.99998552;enable-background:new"
/>
+ <path
+ id="path884"
+ d="m 20,184 c -4.431999,0 -8,3.568 -8,8 v 31 6.32422 c 2.41723,6.19473 5.90014,11.98333
10.60742,17.05078 5.5033,5.92436 13.680291,10.87906 22.14258,12.7168 8.46229,1.83772 17.20734,0.56105
23.85938,-5.97266 2.27839,-2.23785 4.19951,-5.55421 4.876951,-8.95117 0.67743,-3.39695 0.11237,-6.87287
-2.574221,-9.44531 -0.85264,-0.81642 -2.11333,-1.51151 -3.39258,-1.74219 -1.27138,-0.22927 -2.55726,0
-3.48242,1.01953 1.03228,0.938 1.264401,2.24323 1.033201,3.52539 -0.23278,1.29085 -0.93222,2.5617
-1.75586,3.42188 -2.5856,2.70033 -6.08357,3.26568 -9.49218,2.58593 -3.4086,-0.67976 -6.73127,-2.60464
-8.97657,-4.89062 -4.91008,-4.99899 -6.85572,-11.17831 -6.74609,-17.53125 0.0365,-2.11766 0.30166,-4.25456
0.76172,-6.37305 1.84027,-8.47398 6.7982,-16.65732 12.73047,-22.16797 3.78778,-3.51857 7.97986,-6.34942
12.439449,-8.57031 z"
+
style="opacity:1;fill:#ff9632;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
/>
+ <path
+ id="path886"
+ d="m 76.88867,208.14844 c -6.34194,-0.1105 -12.50901,1.83213 -17.49804,6.73242 -2.27839,2.23785
-4.19756,5.55616 -4.875,8.95312 -0.67743,3.39695 -0.11238,6.87288 2.57421,9.44532 0.85264,0.81642
2.11334,1.5115 3.39258,1.74218 1.271831,0.22934 2.55719,-0.001 3.48242,-1.02148 -1.03233,-0.9379
-1.26438,-2.24332 -1.0332,-3.52539 0.23276,-1.29075 0.93228,-2.56176 1.75586,-3.42188 2.58548,-2.70021
6.08367,-3.26566 9.49219,-2.58593 3.4085,0.67974 6.72937,2.60471 8.97461,4.89062 4.91001,4.99893
6.85768,11.1784 6.74804,17.53125 -0.0365,2.11761 -0.30165,4.25458 -0.76171,6.37305 -1.84025,8.47387
-6.79827,16.65738 -12.73047,22.16797 C 72.622341,278.9483 68.4305,281.7791 63.970701,284 H 77 108 c 4.432,0
8,-3.568 8,-8 v -27 -10.32422 c -2.41743,-6.19474 -5.90013,-11.98333 -10.60742,-17.05078 -5.503319,-5.92436
-13.678339,-10.8771 -22.140629,-12.71484 -2.115581,-0.45943 -4.24931,-0.72488 -6.363281,-0.76172 z"
+
style="opacity:1;fill:#ff9632;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
/>
+ </g>
+ </g>
+</svg>
diff --git a/images/vcview.png b/images/vcview.png
new file mode 100644
index 00000000..3c83f2ef
Binary files /dev/null and b/images/vcview.png differ
diff --git a/index.html b/index.html
new file mode 100644
index 00000000..aabffa78
--- /dev/null
+++ b/index.html
@@ -0,0 +1,211 @@
+---
+layout: default
+title: Meld
+copyright: 2021 Kai Willadsen
+---
+
+<div class="row">
+ <div class="m-md-3 bg-light">
+ <div class="col-md-8 mx-auto my-5">
+ <h1 class="display-4 font-weight-normal">Meld<small class="text-muted"> Visual diff and
merge tool</small></h1>
+ <p class="lead">
+ Meld helps you compare files, directories, and version controlled projects. It provides two- and
three-way comparison of both files and directories, and has support for many popular version control systems.
+ </p>
+ <p class="lead">
+ Meld helps you review code changes and understand patches. It might even help you to figure out
what's going on in that merge you keep avoiding.
+ </p>
+ </div>
+ </div>
+</div>
+
+<div class="row">
+ <a id="features"></a>
+ <div class="col-md my-md-3">
+ <div class="bg-dark p-3 p-md-5 text-white">
+ <div id="feature-carousel" class="carousel slide mx-4" data-ride="carousel">
+ <div class="carousel-inner">
+ <div class="carousel-item active">
+ <div class="d-md-flex">
+ <a href="images/filediff.png" class="mx-3">
+ <img class="w-100" src="images/filediff.png" alt="File comparison">
+ </a>
+ <div class="w-100 mx-3">
+ <h3>File comparison</h3>
+ <ul class="list-feature">
+ <li>Compare, edit and merge files using live comparison updates</li>
+ <li>Navigate between changes and operate on change blocks</li>
+ <li>Simple text filtering for ignoring irrelevant differences</li>
+ <li>Three-way merge assistance with conflict handling and base version display</li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="carousel-item">
+ <div class="d-md-flex">
+ <a href="images/dirdiff.png" class="mx-3">
+ <img class="w-100" src="images/dirdiff.png" alt="Folder comparison">
+ </a>
+ <div class="w-100 mx-3">
+ <h3>Folder comparison</h3>
+ <ul class="list-feature">
+ <li>Identify and manage missing or modified files across folders</li>
+ <li>Drill down into a file comparison for a detailed view of differences</li>
+ <li>Ignore certain files or folders for more useful comparisons</li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="carousel-item">
+ <div class="d-md-flex">
+ <a href="images/vcview.png" class="mx-3">
+ <img class="w-100" src="images/vcview.png" alt="Version control view">
+ </a>
+ <div class="w-100 mx-3">
+ <h3>Version control</h3>
+ <ul class="list-feature">
+ <li>Supports Git, Mercurial, Bazaar and Subversion</li>
+ <li>Check your changes, commit and push easily</li>
+ <li>View and manage version control states</li>
+ <li>Tool integration with e.g., <code>git mergetool</code></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ <a class="carousel-control-prev" href="#feature-carousel" role="button" data-slide="prev">
+ <span class="carousel-control-prev-icon" aria-hidden="true"></span>
+ <span class="sr-only">Previous</span>
+ </a>
+ <a class="carousel-control-next" href="#feature-carousel" role="button" data-slide="next">
+ <span class="carousel-control-next-icon" aria-hidden="true"></span>
+ <span class="sr-only">Next</span>
+ </a>
+
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="row">
+ <div class="col-md-6 my-md-3">
+ <div class="py-3 px-3 py-md-5 px-md-5">
+ <div>
+ <h3>Installing Meld</h3>
+ <div class="d-flex">
+ <i class="fas fa-cubes fa-2x fa-fw mr-3 mb-2"></i>
+ <p>
+ Meld is packaged for most Linux/Unix distributions, and is also available on <a
href="https://flathub.org/">Flathub</a>. For installing from source, see the <a
href="https://gitlab.gnome.org/GNOME/meld/-/blob/master/README.md">instructions</a>.
+ </p>
+ </div>
+ <div class="d-flex">
+ <i class="fab fa-windows fa-2x fa-fw mr-3 mb-2"></i>
+ <p>
+ Windows users should download the MSI. Meld does not yet support automatic updates or portable
installs.
+ </p>
+ </div>
+ <div class="d-flex">
+ <i class="fab fa-apple fa-2x fa-fw mr-3 mb-2"></i>
+ <p>
+ Meld is not <em>yet</em> supported on OS X. Third-party binaries <a
href="https://github.com/yousseb/meld/releases">are available</a>, and you can install from <a
href="https://brew.sh/">Homebrew</a>, <a href="https://www.macports.org/">MacPorts</a> or <a
href="http://www.finkproject.org/">Fink</a>.
+ </p>
+ </div>
+ </div>
+
+ <div>
+ <h5>Requirements</h5>
+ <ul class="list-columns">
+ <li>Python 3.4</li>
+ <li>GTK+ 3.20</li>
+ <li>GLib 2.36</li>
+ <li>PyGObject 3.20</li>
+ <li>GtkSourceView 3.20</li>
+ <li>pycairo</li>
+ </ul>
+ <p>
+ See the current <a href="https://gitlab.gnome.org/GNOME/meld/-/blob/master/README.md">README
file</a> for development and build requirements.
+ </p>
+ </div>
+ </div>
+ </div>
+
+ <div class="col-md-6 my-md-3">
+ {% for release in site.data.releases %}
+ {% include release_card.html release=release %}
+ {% endfor %}
+
+ <div class="card bg-dark text-white mb-3 mr-md-3 py-2 px-3 py-md-3 px-md-5">
+ <div class="card-body py-0 px-0">
+ See the <a href="https://gitlab.gnome.org/GNOME/meld/-/releases">full release list</a> for older
releases.
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="row">
+
+ <div class="col-md-6 my-md-3">
+ <div class="bg-dark text-white mr-md-3 py-3 px-3 py-md-5 px-md-5">
+ <a id="development"></a>
+ <h3>Contributing</h3>
+ <p>
+ All development happens on <a href="https://gitlab.gnome.org/GNOME/meld">GNOME's Gitlab
instance</a>. Please <a href="https://gitlab.gnome.org/GNOME/meld/issues">open an issue</a> for any problems
you encounter, and feel free to ask on the <a href="https://discourse.gnome.org/tag/meld">discussion
board</a> if you're uncertain about anything.
+ </p>
+
+ <h3>Developing</h3>
+ <p>
+ You can run Meld directly from your git clone, without installing:<br>
+ </p>
+ <pre class="text-white">
+$ git clone https://gitlab.gnome.org/GNOME/meld.git
+$ bin/meld</pre>
+
+ <h3>Internationalization support</h3>
+ <p>
+ Meld is available in <a href="https://l10n.gnome.org/module/meld/">several languages</a> thanks to
the epic efforts of many wonderful translators. If you'd like to contribute translations, please contact the
<a href="https://wiki.gnome.org/TranslationProject">GNOME Translation Project</a>.
+ </p>
+ </div>
+ </div>
+ <div class="col-md-6 my-md-3">
+ <div class="mr-md-3 py-3 px-3 py-md-5 px-md-5">
+
+ <div class="row">
+ <div class="col-sm-12">
+ <h3>Resources</h3>
+ </div>
+ <div class="col-sm-4 mt-1">Project page</div>
+ <div class="col-sm-8 mt-1">
+ <a href="https://gitlab.gnome.org/GNOME/meld">https://gitlab.gnome.org/GNOME/meld</a>
+ </div>
+ <div class="col-sm-4 mt-1">Source view</div>
+ <div class="col-sm-8 mt-1">
+ <a
href="https://gitlab.gnome.org/GNOME/meld/tree/master">https://gitlab.gnome.org/GNOME/meld/tree/master</a>
+ </div>
+ <div class="col-sm-4 mt-1">Issue tracker</div>
+ <div class="col-sm-8 mt-1">
+ <a href="https://gitlab.gnome.org/GNOME/meld/issues">https://gitlab.gnome.org/GNOME/meld/issues</a>
+ </div>
+ <div class="col-sm-4 mt-1">Discussion</div>
+ <div class="col-sm-8 mt-1">
+ <a href="https://discourse.gnome.org/tag/meld">https://discourse.gnome.org/tag/meld</a>
+ </div>
+ <div class="col-sm-4 mt-1">Translations</div>
+ <div class="col-sm-8 mt-1">
+ <a href="https://l10n.gnome.org/module/meld/">https://l10n.gnome.org/module/meld/</a>
+ </div>
+
+ <div class="col-sm-12 mt-4">
+ <h3>Project details</h3>
+ </div>
+ <div class="col-sm-4 mt-1">License</div>
+ <div class="col-sm-8 mt-1">
+ <a href="https://www.gnu.org/licenses/gpl-2.0.html">GPLv2 or later</a>, except as noted
+ </div>
+ <div class="col-sm-4 mt-1">Primary authors</div>
+ <div class="col-sm-8 mt-1">
+ Kai Willadsen, Stephen Kennedy, Vincent Legoll
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/style.css b/style.css
new file mode 100644
index 00000000..12b39edb
--- /dev/null
+++ b/style.css
@@ -0,0 +1,27 @@
+/* Feature list */
+
+.list-feature {
+ font-size: 1.25rem;
+ font-weight: 300;
+ list-style-type: square;
+ padding-inline-start: 1em;
+}
+
+/* Requirements list only */
+
+.list-columns {
+ column-count: 2;
+ column-gap: 1em;
+}
+
+/* Rubbish carousel customisations */
+
+.carousel-control-prev {
+ margin-left: -2rem;
+ width: unset;
+}
+
+.carousel-control-next {
+ margin-right: -2rem;
+ width: unset;
+}
diff --git a/workers-site/.cargo-ok b/workers-site/.cargo-ok
new file mode 100644
index 00000000..e69de29b
diff --git a/workers-site/.gitignore b/workers-site/.gitignore
new file mode 100644
index 00000000..75c573a4
--- /dev/null
+++ b/workers-site/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+worker
diff --git a/workers-site/index.js b/workers-site/index.js
new file mode 100644
index 00000000..15597fde
--- /dev/null
+++ b/workers-site/index.js
@@ -0,0 +1,92 @@
+import { getAssetFromKV, mapRequestToAsset } from '@cloudflare/kv-asset-handler'
+
+/**
+ * The DEBUG flag will do two things that help during development:
+ * 1. we will skip caching on the edge, which makes it easier to
+ * debug.
+ * 2. we will return an error message on exception in your Response rather
+ * than the default 404.html page.
+ */
+const DEBUG = false
+
+addEventListener('fetch', event => {
+ try {
+ event.respondWith(handleEvent(event))
+ } catch (e) {
+ if (DEBUG) {
+ return event.respondWith(
+ new Response(e.message || e.toString(), {
+ status: 500,
+ }),
+ )
+ }
+ event.respondWith(new Response('Internal Error', { status: 500 }))
+ }
+})
+
+async function handleEvent(event) {
+ const url = new URL(event.request.url)
+ let options = {}
+
+ /**
+ * You can add custom logic to how we fetch your assets
+ * by configuring the function `mapRequestToAsset`
+ */
+ // options.mapRequestToAsset = handlePrefix(/^\/docs/)
+
+ try {
+ if (DEBUG) {
+ // customize caching
+ options.cacheControl = {
+ bypassCache: true,
+ };
+ }
+ const page = await getAssetFromKV(event, options);
+
+ // allow headers to be altered
+ const response = new Response(page.body, page);
+
+ response.headers.set("X-XSS-Protection", "1; mode=block");
+ response.headers.set("X-Content-Type-Options", "nosniff");
+ response.headers.set("X-Frame-Options", "DENY");
+ response.headers.set("Referrer-Policy", "unsafe-url");
+ response.headers.set("Feature-Policy", "none");
+
+ return response;
+
+ } catch (e) {
+ // if an error is thrown try to serve the asset at 404.html
+ if (!DEBUG) {
+ try {
+ let notFoundResponse = await getAssetFromKV(event, {
+ mapRequestToAsset: req => new Request(`${new URL(req.url).origin}/404.html`, req),
+ })
+
+ return new Response(notFoundResponse.body, { ...notFoundResponse, status: 404 })
+ } catch (e) {}
+ }
+
+ return new Response(e.message || e.toString(), { status: 500 })
+ }
+}
+
+/**
+ * Here's one example of how to modify a request to
+ * remove a specific prefix, in this case `/docs` from
+ * the url. This can be useful if you are deploying to a
+ * route on a zone, or if you only want your static content
+ * to exist at a specific path.
+ */
+function handlePrefix(prefix) {
+ return request => {
+ // compute the default (e.g. / -> index.html)
+ let defaultAssetKey = mapRequestToAsset(request)
+ let url = new URL(defaultAssetKey.url)
+
+ // strip the prefix from the path for lookup
+ url.pathname = url.pathname.replace(prefix, '/')
+
+ // inherit all other props from the default request
+ return new Request(url.toString(), defaultAssetKey)
+ }
+}
\ No newline at end of file
diff --git a/workers-site/package-lock.json b/workers-site/package-lock.json
new file mode 100644
index 00000000..e0af0cc8
--- /dev/null
+++ b/workers-site/package-lock.json
@@ -0,0 +1,33 @@
+{
+ "name": "worker",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@cloudflare/kv-asset-handler": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.1.1.tgz",
+ "integrity":
"sha512-loZzVTXfoSKsZ/VVeHGuRlQFcxUEmTPIyWx3Zti9/lShfhETZJ90nKpbvoWps7P60kILWpILE/5EfHDiumfYEQ==",
+ "requires": {
+ "@cloudflare/workers-types": "^2.0.0",
+ "@types/mime": "^2.0.2",
+ "mime": "^2.4.6"
+ }
+ },
+ "@cloudflare/workers-types": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-2.1.0.tgz",
+ "integrity":
"sha512-VmXaHTq0lt6Xre4aK1hUK25hjZjuEUkHtdUEt0FJamv+NzQO54Gwp6Zr5Cfu6SP5EQ/tTmTMP/tK9npA8zhcCg=="
+ },
+ "@types/mime": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
+ "integrity":
"sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q=="
+ },
+ "mime": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
+ "integrity":
"sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg=="
+ }
+ }
+}
diff --git a/workers-site/package.json b/workers-site/package.json
new file mode 100644
index 00000000..7ca3cdee
--- /dev/null
+++ b/workers-site/package.json
@@ -0,0 +1,12 @@
+{
+ "private": true,
+ "name": "worker",
+ "version": "1.0.0",
+ "description": "A template for kick starting a Cloudflare Workers project",
+ "main": "index.js",
+ "author": "Ashley Lewis <ashleymichal gmail com>",
+ "license": "MIT",
+ "dependencies": {
+ "@cloudflare/kv-asset-handler": "~0.1.1"
+ }
+}
diff --git a/wrangler.toml b/wrangler.toml
new file mode 100644
index 00000000..bec7503a
--- /dev/null
+++ b/wrangler.toml
@@ -0,0 +1,17 @@
+name = "meld-app"
+type = 'webpack'
+account_id = '6339f2b9496297204382eca4fb01f7e2'
+route = ''
+zone_id = ''
+usage_model = ''
+workers_dev = true
+target_type = "webpack"
+
+[site]
+bucket = "./public"
+entry-point = "workers-site"
+
+[env.production]
+workers_dev = false
+zone_id = "b64c0c8b024e2c6dd513e48a2b346d7b"
+route = "meld.app/*"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]