From f0d68448732b81f531671d249bf64caa93b6ea1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E5=8D=9A=E4=BB=81=28Buo-ren=2C=20Lin=29?= Date: Thu, 23 Aug 2018 10:25:39 +0800 Subject: [PATCH] Is. #748 - Implement snap packaging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Snaps are universal Linux packages that can be installed and run on multiple GNU+Linux distributions with ease. This patch implements the necessary files to build tidy as a snap. Refer-to: Snapcraft - Snaps are universal Linux packages Intent-To-Package: Snaps are Universal Linux Packages · Issue #748 · htacg/tidy-html5 Conforming-to: tidy-html5/CONTRIBUTING.md at next · htacg/tidy-html5 Conforming-to: tidy-html5/CODESTYLE.md at next · htacg/tidy-html5 Signed-off-by: 林博仁(Buo-ren, Lin) --- .gitignore | 8 +++ snap/.editorconfig | 9 ++++ snap/.gitignore | 6 +++ snap/README.md | 31 ++++++++++++ snap/gui/README.md | 5 ++ snap/gui/icon.png | Bin 0 -> 9253 bytes snap/screenshots/README.markdown | 3 ++ snap/screenshots/tidy-help-heading.png | Bin 0 -> 24119 bytes snap/snapcraft.yaml | 65 +++++++++++++++++++++++++ snap/utilities/README.md | 3 ++ snap/utilities/set-snap-version.bash | 44 +++++++++++++++++ 11 files changed, 174 insertions(+) create mode 100644 snap/.editorconfig create mode 100644 snap/.gitignore create mode 100644 snap/README.md create mode 100644 snap/gui/README.md create mode 100644 snap/gui/icon.png create mode 100644 snap/screenshots/README.markdown create mode 100644 snap/screenshots/tidy-help-heading.png create mode 100644 snap/snapcraft.yaml create mode 100644 snap/utilities/README.md create mode 100755 snap/utilities/set-snap-version.bash diff --git a/.gitignore b/.gitignore index 80368f2d4..ee0f11594 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,11 @@ temp* .DS_Store .idea *.old + +# Snap packaging specific rules +/parts/ +/stage/ +/prime/ + +/*.snap +/*_source.tar.bz2 diff --git a/snap/.editorconfig b/snap/.editorconfig new file mode 100644 index 000000000..c3131939a --- /dev/null +++ b/snap/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*.yaml] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/snap/.gitignore b/snap/.gitignore new file mode 100644 index 000000000..35b432be5 --- /dev/null +++ b/snap/.gitignore @@ -0,0 +1,6 @@ +# Version Tracking Ignore Rules for Git VCS +# https://git-scm.com/docs/gitignore +/.snapcraft/ + +__pycache__ +*.pyc diff --git a/snap/README.md b/snap/README.md new file mode 100644 index 000000000..17b075591 --- /dev/null +++ b/snap/README.md @@ -0,0 +1,31 @@ +# Snap Packaging for Tidy +![Placeholder Icon for Tidy](gui/icon.png "Placeholder Icon for Tidy") + +**This is the snap for Tidy**, *"HTML parser and pretty printer. The grand daddy of HTML tools."*. It works on Ubuntu, Fedora, Debian, and other major Linux distributions. + +[![Build Status Badge of the `tidy` Snap](https://build.snapcraft.io/badge/htacg/tidy-html5.svg "Build Status of the `tidy` snap")](https://build.snapcraft.io/user/htacg/tidy-html5) + +![Screenshot of the Snapped Application](screenshots/tidy-help-heading.png "Screenshot of the Snapped Application") + +## Installation +([Don't have snapd installed?](https://snapcraft.io/docs/core/install)) + +### In Terminal + # Install Snap # + sudo snap install tidy + + # Connect the Snap to Optional Interfaces # + ## `removable-media`: For accessing files under /media and /run/media ## + sudo snap connect tidy:removable-media + +### The Graphical Way +Browse and follow the instructions. + +## Support +* Report issues regarding using this snap to the issue tracker: + + + be sure to mention you are using the snap package. + +* You may also post on the Snapcraft Forum, under the `snap` topic category: + diff --git a/snap/gui/README.md b/snap/gui/README.md new file mode 100644 index 000000000..b257ddbc5 --- /dev/null +++ b/snap/gui/README.md @@ -0,0 +1,5 @@ +# /snap/gui + +Copy the snapped application's icon here and specify it in snapcraft.yaml file using the `icon` keyword. This folder is not necessary if the icon is already existed in the source tree. + +NOTE: The Snap Store requires SVG scalable image or PNG image with at least 256x256px in size. \ No newline at end of file diff --git a/snap/gui/icon.png b/snap/gui/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb1e57bd44b2a774e58cf8b9b121e4a30f178ac GIT binary patch literal 9253 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 wP@Zl-_limL