* Remove files directly related to the website
Remove all the files directly related to the Jekyll-based website in
this repository. This includes the HTML, CSS and JS for the website, the
assets that can be found in the images/ folder, Jekyll-related files
(_config.yml, Gemfile, Gemfile.lock) and the CNAME file.
* Remove website-related configurations
Remove website-related files from ignore files, update the EditorConfig
configuration to remove any mention of website files, and update
.gitattributes to omit removed files.
* Update issue templates
Remove the issue templates for issues regarding the website and replace
it with a issue templates configuration file [1] that provides a link to
a the equivalent issue template in the simple-icons-website repository.
--
1. https://docs.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository
* Remove building website from verify workflow
* Remove mentions of website from Contributing Guidelines
* Remove mention of GitPod
I believe the main advantage of GitPod was that it allows you to preview
a contribution in the context of the website. Now that the website is no
longer in the repository this is not a thing anymore (unless someone
can configure GitPod to pull in the website from its repo), so I removed
any mention of it.
I'm open to reverting this change if contributors still want to use
GitPod.
* Add CI job for building the NodeJS package
* Add Slugs to Contributing Guidelines
* Reword description of slug entry in JSON
* Update symbol table alignment
* Add quotation marks to brand name when running get-filename
* Add "license" object to the data file JSON schema
* Add license to GNU and GNU social
As an example, based on the discussion in:
https://github.com/simple-icons/simple-icons/issues/1167
* Use `"additionalProperties": false` in JSON schema
... to detect properties in the data file that shouldn't be there.
For more info, see:
https://json-schema.org/understanding-json-schema/reference/object.html
* Update JSON scheme descriptions
* Switch from jsonlint2 to jsonschema
This gives is better support for advanced features of JSON schema.
A couple of clarifications:
- There does exist a jsonschema-cli package, but it is rather limited
and crucially doens't exit with a non-zero exit code if there is an
error. (it is also pretty old and not maintained), hence the custom
script.
- I renamed .jsonlintschema 1) for clarity (lint is no longer accurate)
and 2) the .json extension allows easy imorting in the script and 3)
it adds syntax highlighting.
- The script outputs the number of errors in the end because the output
gets pretty big pretty quickly, this way you can see it easily from
your CLI.
- We could customize how the errors are logged, but I feel that is
beyond this PR.
* Two minor changes
* Use `oneOf` to require URL for custom licenses
The updated configuration allows the `"license"` field to be either
1) a SPDX license, optional with a URL
2) a "custom" license with a required URL
Read more about the "oneOf" feature of jsonschema at:
https://json-schema.org/understanding-json-schema/reference/combining.html#oneof
* Include license field in Contributing Guidelines
* Suggest using "Treeless clone" to contributors
Following a recent GitHub blog post [1], this adds a suggestion to the
Contributing Guidelines to use a "Treeless clone" when cloning this
repository. Since the commit history is generally not super important to
contributors, this can significantly speed up cloning without any real
downside.
--
1. https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/
* Add HTTPS version for cloning the repository
* Add comments and highlighting for cloning snippet
* Add clone instruction for using GitHub CLI
* Increase spacing
* Formalize website Ruby dependencies and installation process
* Improve Contributing Guidelines
* Add Gemfile.lock to .gitattributes
* Use 'ruby/setup-ruby' caching strategy
* Add link to documentation of 'bundler-cache'
* Add lint to check negative zeros in paths
* Bump minimum NodeJS version to test locally to v12.4.0
* Simplify regular expression
* Add resolution tip to error message
* Convert iterator to array directly
* Improve comment
* Remove GodotEngine from lint ignores file
* Improve resolution tip message if previous character is a number
Specify our guidelines on whether or not to include (registered)
trademark symbols in logos as publically discussed.
This also slightly changes the document structure of the Contributing
Guidelines with the goal of making it a little bit easier to find this
new information.
* Add linter to check svg path dimensions
Float precision is set at 3 which is the default for svgo in .svgo.yml;
precision can be raised over time.
This adds an ignore file with the current paths of non-conforming icons.
This also changes the name of the icon title linter as well so it reads
more nicely than "custom".
* Update CONTRIBUTING GUIDELINES
Add a note on visual imperfections and viewbox problems due to
optimizing.
Co-authored-by: Eric Cornelisesn <ericornelissen@gmail.com>
Co-authored-by: Peter Noble <PeterShaggyNoble@users.noreply.github.com>
* Add a SVGO Docker image
* Update Dockerfile and .dockerignore
Update the Dockerfile to create a docker image that is generally
applicable to run NPM commands, including but not limited to:
- npm run test
- npm run svgo
- npm run lint
Also updated the .dockerignore file to exclude:
- The node_modules folder
- Common Jekyll folders/files
- Files generated by the build script
The reason for choosing the alpine docker image (rather than a node
docker image) is that the CLI out of the box is better.
* Add section on using Docker to Contributing Guidelines
* Readd entrypoint for SVGO optimization to Dockerfile
Update the Dockerfile based on the original work in
32993385da by re-adding an ENTRYPOINT to
the Dockerfile. This ENTRYPOINT makes it extremely easy to spin up a
quick Docker container to optimize a single SVG (much simpler than my
copy-in -> optimize -> copy-out approach).
The description for how to use the Docker image to run other NPM scripts
has been updated accordingly. The provided command overrides the above
ENTRYPOINT by simple starting a shell so the user can interact with the
project.
Co-authored-by: Eric Cornelisesn <ericornelissen@gmail.com>
* Update CONTRIBUTING.md
- Add note about recating to or commenting on exsiting issues & PRs
- Add request to disclose affiliations to brands in issues & PRs
Co-authored-by: Eric Cornelissen <ericornelissen@gmail.com>
* Create simple CLI tool to get the filename from a brandname
https://github.com/simple-icons/simple-icons/pull/2589#issuecomment-585902427
* Update contributing guidelines on new SVGs' filenames
* Fix incorrect filename in package.json script
* Add file header to get-filename script
* Update contributing guidelines' section on SVG filenames
Co-Authored-By: YoussefRaafatNasry <youssefraafatnasry@gmail.com>
* Draft documentation on versioning
* Add "Renamed icons" to kinds of changes for a major release
* Change "Updated icons" to "Updated SVGs" & "Updated metadata" for patch
Given a recent comment on a rejected Pull Request I updated the
Contributing Guidelines to explicitely state that adding a new icon in a
Pull Request (without creating an issue first) is subject to the same
requirements as an icon request by itself.
* Add a script for the linting that cannot be accomplished by our other linters
Currently this only contains linting for whether our icons are alphabetically sorted
* Add our own linting to Travis
* Fix Let's Encrypt being incorrectly sorted
* Intentionally break sorting to test CI
* Revert "Intentionally break sorting to test CI"
This reverts commit 55e4070b3c.
* Explain in CONTRIBUTION.md how to sort metadata
* Add SVGO as devDependencies and a NPM script to run it
* Update Contributing Guidelines
Change the instructions on how to use SVGO to optimize SVGs to use the
new dependency and NPM script.
* Add configuration for the NPM command to optimize SVGs
* Specify --precision in SVGO configuration file
* Update SVGO config ordering of attributes
To be in line with the fact that, as @davidklebanoff pointed out: "most
(all?) have the attributes in the order of role, viewbox, xmlns
(alphabetical)"
* Move SVGO --multipass argument to .svgo.yml
* Update SVGO dependency to 1.3.0
Now the force merge option works 🎉
See: https://github.com/svg/svgo/releases/tag/v1.3.0
* Update outdated "blocking" comment
* Remove `id` and `aria-labelledby` from all SVGs
* Update SVGLint configuration
* Remove `aria-labelledby` from documentation
* Remove `aria-labelledby` from website
because why not