jekyll-openmoji 0.0.3 → 0.0.5
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/.codeclimate.yml +64 -0
- data/.gitlab-ci.yml +49 -14
- data/.gitlab/issue_templates/Default.md +20 -0
- data/.gitlab/merge_request_templates/Default.md +25 -0
- data/.rubocop.yml +29 -0
- data/.rubocop_todo.yml +3 -3
- data/CODE_OF_CONDUCT.md +0 -1
- data/CONTRIBUTING.md +198 -15
- data/CREDITS +11 -0
- data/README.md +83 -27
- data/ROADMAP.md +28 -0
- data/SUPPORT.md +6 -1
- data/jekyll-openmoji.gemspec +14 -10
- data/lib/jekyll-openmoji/plugin.rb +12 -8
- data/lib/jekyll-openmoji/version.rb +1 -1
- metadata +10 -5
- data/.travis.yml +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 374f056a176d49f49060ba22194f3f2ec700f9c07a7587d58fa51de54be5c339
|
4
|
+
data.tar.gz: 44411f8abefb2995728e15554e3516fddc521d11a9ba4b0aad69c9f102dfc449
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39a6ccd929dff7cd86752a001adf12620d259e2a3c06a6b687f25a5115bfe9417a835047762ad32bf499856245accdb97e48e57f536e1e2190c28f68751deab6
|
7
|
+
data.tar.gz: 503cce036b2b024c0c6a1cd859f3092c684f4e2bba6ccbff05dc585a5cc1e79e08673dea0e647cf119fe604fcdc887e82e35b06adaf053555c634d46181c460c
|
data/.codeclimate.yml
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
version: "2"
|
2
|
+
checks:
|
3
|
+
argument-count:
|
4
|
+
enabled: true
|
5
|
+
config:
|
6
|
+
threshold: 5
|
7
|
+
complex-logic:
|
8
|
+
enabled: true
|
9
|
+
config:
|
10
|
+
threshold: 5
|
11
|
+
file-lines:
|
12
|
+
enabled: true
|
13
|
+
config:
|
14
|
+
threshold: 350
|
15
|
+
method-complexity:
|
16
|
+
enabled: true
|
17
|
+
config:
|
18
|
+
threshold: 10
|
19
|
+
method-count:
|
20
|
+
enabled: true
|
21
|
+
config:
|
22
|
+
threshold: 20
|
23
|
+
method-lines:
|
24
|
+
enabled: true
|
25
|
+
config:
|
26
|
+
threshold: 30
|
27
|
+
nested-control-flow:
|
28
|
+
enabled: true
|
29
|
+
config:
|
30
|
+
threshold: 5
|
31
|
+
return-statements:
|
32
|
+
enabled: true
|
33
|
+
config:
|
34
|
+
threshold: 4
|
35
|
+
similar-code:
|
36
|
+
enabled: true
|
37
|
+
config:
|
38
|
+
threshold: #language-specific defaults. overrides affect all languages.
|
39
|
+
identical-code:
|
40
|
+
enabled: true
|
41
|
+
config:
|
42
|
+
threshold: #language-specific defaults. overrides affect all languages.
|
43
|
+
plugins:
|
44
|
+
git-legal:
|
45
|
+
enabled: true
|
46
|
+
config:
|
47
|
+
allow_affero_copyleft: true
|
48
|
+
allow_strong_copyleft: true
|
49
|
+
rubocop:
|
50
|
+
enabled: true
|
51
|
+
|
52
|
+
exclude_patterns:
|
53
|
+
- "config/"
|
54
|
+
- "db/"
|
55
|
+
- "dist/"
|
56
|
+
- "features/"
|
57
|
+
- "images/"
|
58
|
+
- "**/node_modules/"
|
59
|
+
- "script/"
|
60
|
+
- "**/spec/"
|
61
|
+
- "**/test/"
|
62
|
+
- "**/tests/"
|
63
|
+
- "**/vendor/"
|
64
|
+
- "**/*.d.ts"
|
data/.gitlab-ci.yml
CHANGED
@@ -1,31 +1,66 @@
|
|
1
1
|
stages:
|
2
2
|
- test
|
3
|
-
-
|
3
|
+
- release
|
4
4
|
|
5
|
+
# default settings for all ci jobs.
|
5
6
|
default:
|
6
7
|
image: ruby:latest
|
7
8
|
cache:
|
8
9
|
paths:
|
9
10
|
- vendor/
|
11
|
+
|
12
|
+
# job for testing package on master branch
|
13
|
+
# and send test coverage result to codeclimate.
|
14
|
+
test_master:
|
15
|
+
stage: test
|
10
16
|
before_script:
|
11
|
-
# upgrade bundler to latest version
|
17
|
+
# upgrade bundler to latest version.
|
12
18
|
- gem install bundler
|
13
|
-
# install
|
19
|
+
# install dependency gems.
|
14
20
|
- bundle install --path vendor
|
21
|
+
# setup ci environment.
|
22
|
+
- script/ci_setup.sh
|
23
|
+
# run code climate test reporter agent.
|
24
|
+
- cc-test-reporter before-build
|
25
|
+
# run tests.
|
26
|
+
script:
|
27
|
+
- script/test.sh
|
28
|
+
# send test coverage result to codeclimate.
|
29
|
+
after_script:
|
30
|
+
- cc-test-reporter after-build --coverage-input-type simplecov
|
31
|
+
only:
|
32
|
+
- master
|
15
33
|
|
16
|
-
|
34
|
+
# job for testing package on other branches
|
35
|
+
# and merge requests.
|
36
|
+
test_branches:
|
17
37
|
stage: test
|
18
|
-
#
|
38
|
+
# run tests.
|
19
39
|
script:
|
20
|
-
- script/
|
40
|
+
- script/test.sh
|
41
|
+
# run on branches and merge requests.
|
21
42
|
only:
|
22
|
-
-
|
43
|
+
- branches
|
23
44
|
- merge_requests
|
45
|
+
# don't run on master branch.
|
46
|
+
except:
|
47
|
+
- master
|
48
|
+
|
49
|
+
# deploy gems to rubygems.org whenever a tag is released.
|
50
|
+
release_rubygems:
|
51
|
+
stage: release
|
52
|
+
script:
|
53
|
+
# create rubygems credential file for auto login.
|
54
|
+
- script/ci_rubygems.sh
|
55
|
+
# extract tag from git log and strip "v".
|
56
|
+
- version=$(git describe --tags)
|
57
|
+
- version=${version:1}
|
58
|
+
# build and push gem.
|
59
|
+
- gem build jekyll-openmoji.gemspec
|
60
|
+
- gem push "jekyll-openmoji-$version.gem"
|
61
|
+
# only run for new tags.
|
62
|
+
only:
|
63
|
+
- tags
|
64
|
+
when: manual
|
24
65
|
|
25
|
-
|
26
|
-
# stage: deploy
|
27
|
-
# before_script:
|
28
|
-
# - chmod +x ./deploy-gem
|
29
|
-
# script: ./deploy-gem
|
30
|
-
# only:
|
31
|
-
# - master
|
66
|
+
ed2351ca478dfefecd8d346d0b5c213f
|
@@ -0,0 +1,20 @@
|
|
1
|
+
## Details
|
2
|
+
Mersad version:
|
3
|
+
OS name and version: (e.g. Ubuntu 18.04)
|
4
|
+
|
5
|
+
## Description
|
6
|
+
|
7
|
+
**Describe the bug**
|
8
|
+
A clear and concise description of what the bug is.
|
9
|
+
|
10
|
+
**Expected behavior**
|
11
|
+
A clear and concise description of what you expected to happen.
|
12
|
+
|
13
|
+
**Screenshots**
|
14
|
+
If applicable, add screenshots to help explain your problem.
|
15
|
+
|
16
|
+
**To Reproduce**
|
17
|
+
Steps to reproduce the behavior.
|
18
|
+
|
19
|
+
**Additional context**
|
20
|
+
Add any other context about the problem here.
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Description
|
2
|
+
|
3
|
+
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
|
4
|
+
|
5
|
+
Fixes # (issue)
|
6
|
+
|
7
|
+
## Type of change
|
8
|
+
|
9
|
+
Please delete options that are not relevant.
|
10
|
+
|
11
|
+
- [ ] Bug fix (non-breaking change which fixes an issue)
|
12
|
+
- [ ] New feature (non-breaking change which adds functionality)
|
13
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
14
|
+
- [ ] This change requires a documentation update
|
15
|
+
|
16
|
+
# Checklist:
|
17
|
+
|
18
|
+
- [ ] My code follows the style guidelines of this project
|
19
|
+
- [ ] I have performed a self-review of my own code
|
20
|
+
- [ ] I have commented my code, particularly in hard-to-understand areas
|
21
|
+
- [ ] I have made corresponding changes to the documentation
|
22
|
+
- [ ] My changes generate no new warnings
|
23
|
+
- [ ] I have added tests that prove my fix is effective or that my feature works
|
24
|
+
- [ ] New and existing unit tests pass locally with my changes
|
25
|
+
- [ ] Any dependent changes have been merged and published in downstream modules
|
data/.rubocop.yml
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
inherit_from: .rubocop_todo.yml
|
2
2
|
|
3
3
|
require: rubocop-jekyll
|
4
|
+
|
4
5
|
inherit_gem:
|
5
6
|
rubocop-jekyll: .rubocop.yml
|
6
7
|
|
@@ -8,3 +9,31 @@ AllCops:
|
|
8
9
|
TargetRubyVersion: 2.3
|
9
10
|
Exclude:
|
10
11
|
- vendor/**/*
|
12
|
+
|
13
|
+
Layout/AlignHash:
|
14
|
+
EnforcedHashRocketStyle: table
|
15
|
+
|
16
|
+
Layout/MultilineMethodCallIndentation:
|
17
|
+
EnforcedStyle: indented_relative_to_receiver
|
18
|
+
IndentationWidth: 2
|
19
|
+
|
20
|
+
Metrics/AbcSize:
|
21
|
+
Max: 25
|
22
|
+
|
23
|
+
Metrics/BlockLength:
|
24
|
+
Max: 50
|
25
|
+
|
26
|
+
Metrics/LineLength:
|
27
|
+
Max: 85
|
28
|
+
|
29
|
+
Metrics/MethodLength:
|
30
|
+
Max: 25
|
31
|
+
|
32
|
+
Style/HashSyntax:
|
33
|
+
EnforcedStyle: hash_rockets
|
34
|
+
|
35
|
+
Style/RegexpLiteral:
|
36
|
+
EnforcedStyle: percent_r
|
37
|
+
|
38
|
+
Style/StringLiterals:
|
39
|
+
EnforcedStyle: double_quotes
|
data/.rubocop_todo.yml
CHANGED
@@ -11,15 +11,15 @@
|
|
11
11
|
# ExcludedMethods: refine
|
12
12
|
Metrics/BlockLength:
|
13
13
|
Exclude:
|
14
|
-
- "spec/
|
14
|
+
- "spec/jekyll_openmoji_spec.rb"
|
15
15
|
|
16
16
|
# Offense count: 1
|
17
17
|
# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
18
18
|
# URISchemes: http, https
|
19
19
|
Metrics/LineLength:
|
20
20
|
Exclude:
|
21
|
-
- "spec/
|
21
|
+
- "spec/jekyll_openmoji_spec.rb"
|
22
22
|
|
23
23
|
Metrics/AbcSize:
|
24
24
|
Exclude:
|
25
|
-
- "lib/
|
25
|
+
- "lib/jekyll_openmoji/plugin.rb"
|
data/CODE_OF_CONDUCT.md
CHANGED
data/CONTRIBUTING.md
CHANGED
@@ -1,16 +1,199 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
### Quick start
|
4
|
-
|
5
|
-
1. Open an issue about your feature request or bug report at the first place to discuss it before starting coding
|
6
|
-
2. Fork this repo on GitLab
|
7
|
-
3. Create a new branch e.g. my-awesome-new-feature
|
8
|
-
4. Follow guidelines in commit messages
|
9
|
-
5. Edit `CHANGELOG.md` file
|
10
|
-
6. Run `script/test` to see if you didn't break anything
|
11
|
-
7. Create a pull request on GitLab
|
12
|
-
|
13
|
-
### Commit message guideline
|
14
|
-
In order to keep git logs clean and easy to understand for future development, please follow this
|
15
|
-
guideline:
|
1
|
+
# Contributing to OpenMoji Jekyll Plugin
|
16
2
|
|
3
|
+
Welcome! Azadeh Afzar - OpenMoji Jekyll Plugin (AA-OMJP) is a hobby project that
|
4
|
+
aims to implement a wide range of cryptography and cryptanalysis algorithms.
|
5
|
+
If you're trying AA-OMJP, your experience and what you can contribute are important to
|
6
|
+
the project's success.
|
7
|
+
|
8
|
+
|
9
|
+
## Getting started, building, and testing
|
10
|
+
|
11
|
+
If you haven't already, take a look at the project's [README.md file](README.md).
|
12
|
+
|
13
|
+
### Git repository
|
14
|
+
|
15
|
+
All project's development and discussion takes place on [GitLab][gitlab repo],
|
16
|
+
there is also a mirror on [GitHub][github repo].
|
17
|
+
|
18
|
+
For contributing to this project, first login into your GitLab account and fork this
|
19
|
+
repository. After forking this repo, clone it into your local machine and create a
|
20
|
+
new branch from `master` branch with a descriptive name that describes your new feature
|
21
|
+
or `fix #issue-code` when you are fixing an issue. This part is important!
|
22
|
+
we do not accept MRs from master branch.
|
23
|
+
|
24
|
+
After doing your changes, commit and push your new branch to your forked repository on
|
25
|
+
GitLab and then ask for a Merge Request to `master` branch of this repository.
|
26
|
+
|
27
|
+
### Environment and dependency
|
28
|
+
|
29
|
+
|
30
|
+
[gitlab repo]: https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin
|
31
|
+
[github repo]: https://github.com/azadeh-afzar/OpenMoji-Jekyll-Plugin
|
32
|
+
|
33
|
+
## Discussion
|
34
|
+
|
35
|
+
If you've run into behavior in OpenMoji Jekyll Plugin you don't understand,
|
36
|
+
or you're having trouble working out a good way to apply it to your code, or
|
37
|
+
you've found a bug or would like a feature it doesn't have, we want to hear from you!
|
38
|
+
|
39
|
+
Our main forum for discussion is the project's [GitLab issue tracker][gitlab issue].
|
40
|
+
This is the right place to start a discussion of any of the above or most any other
|
41
|
+
topic concerning the project.
|
42
|
+
|
43
|
+
### Code of Conduct
|
44
|
+
|
45
|
+
Everyone participating in the AA-OMJP community, and in particular
|
46
|
+
in our issue tracker, pull requests, and IRC channel, is expected to treat
|
47
|
+
other people with respect and more generally to follow the guidelines
|
48
|
+
articulated in the [OpenMoji Jekyll Plugin Code of Conduct](CODE_OF_CONDUCT.md).
|
49
|
+
|
50
|
+
[gitlab issue]: https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin/issues
|
51
|
+
|
52
|
+
## First Time Contributors
|
53
|
+
|
54
|
+
OpenMoji Jekyll Plugin appreciates your contribution! If you are interested in
|
55
|
+
helping improve AA-OMJP, there are several ways to get started:
|
56
|
+
|
57
|
+
* Find bugs and open issues on GitLab! this is almost one of the best ways to contribute.
|
58
|
+
* Work on [documentation issues][project documentation].
|
59
|
+
* Write tests for existing modules.
|
60
|
+
* Add new cryptography or cryptanalysis algorithms to the project.
|
61
|
+
|
62
|
+
[project documentation]: https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin/labels/documentation
|
63
|
+
|
64
|
+
## Submitting Changes
|
65
|
+
|
66
|
+
Even more excellent than a good bug report is a fix for a bug, or the
|
67
|
+
implementation of a much-needed new feature. (*) We'd love to have
|
68
|
+
your contributions.
|
69
|
+
|
70
|
+
(*) If your new feature will be a lot of work, we recommend talking to
|
71
|
+
us early -- see below.
|
72
|
+
|
73
|
+
We use the usual [GitLab merge-request flow][gitlab flow],
|
74
|
+
which may be familiar to you if you've contributed to other projects on GitLab.
|
75
|
+
|
76
|
+
Anyone interested in OpenMoji Jekyll Plugin may review your code.
|
77
|
+
One of the AA-OMJP core developers will merge your
|
78
|
+
merge request when they think it's ready.
|
79
|
+
For every merge request, we aim to promptly either merge it or say why
|
80
|
+
it's not yet ready; if you go a few days without a reply, please feel
|
81
|
+
free to ping the thread by adding a new comment.
|
82
|
+
|
83
|
+
For a list of AA-OMJP core developers, see the file [CREDITS](CREDITS).
|
84
|
+
|
85
|
+
[gitlab flow]: https://docs.gitlab.com/ee/user/project/merge_requests
|
86
|
+
|
87
|
+
## Preparing Changes
|
88
|
+
|
89
|
+
Before you begin: if your change will be a significant amount of work
|
90
|
+
to write, we highly recommend starting by opening an issue laying out
|
91
|
+
what you want to do. That lets a conversation happen early in case
|
92
|
+
other contributors disagree with what you'd like to do or have ideas
|
93
|
+
that will help you do it.
|
94
|
+
|
95
|
+
The best pull requests are focused, clearly describe what they're for
|
96
|
+
and why they're correct, and contain tests for whatever changes they
|
97
|
+
make to the code's behavior. As a bonus these are easiest for someone
|
98
|
+
to review, which helps your merge request get merged quickly! Standard
|
99
|
+
advice about good merge requests for open-source projects applies; we
|
100
|
+
have [our own writeup][good merge request]
|
101
|
+
of this advice. (adapted from mypy guidelines)
|
102
|
+
|
103
|
+
See also our [coding conventions][code conventions] -- which consist mainly of a
|
104
|
+
reference to [PEP 8](https://www.python.org/dev/peps/pep-0008/) -- for the code you
|
105
|
+
put in the merge request.
|
106
|
+
|
107
|
+
Also, do not squash your commits after you have submitted a merge request, as this
|
108
|
+
erases context during review. We will squash commits when the merge request is merged.
|
109
|
+
|
110
|
+
You may also find other pages in the [AA-OMJP wiki][wiki]
|
111
|
+
helpful in developing your change.
|
112
|
+
|
113
|
+
[goode merge request]: https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin/wikis/Good-Merge-Request
|
114
|
+
[code conventions]: https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin/wikis/Code-Conventions
|
115
|
+
[wiki]: https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin/wikis
|
116
|
+
|
117
|
+
# Core developer guidelines
|
118
|
+
|
119
|
+
Core developers should follow these rules when processing merge requests:
|
120
|
+
|
121
|
+
* Always wait for tests to pass before merging MRs.
|
122
|
+
* Use "[Squash and merge](https://gitlab.com/blog/2141-squash-your-commits)"
|
123
|
+
to merge MRs.
|
124
|
+
* Delete branches for merged MRs (by core devs pushing to the main repo).
|
125
|
+
* Edit the final commit message before merging to conform to the following
|
126
|
+
style (we wish to have a clean `git log` output):
|
127
|
+
* all commit messages should start with one of these keywords in the subject:
|
128
|
+
- init: for initial commits.
|
129
|
+
- add: for adding new feature.
|
130
|
+
- fix: for fixing an issue.
|
131
|
+
- modify: for changing existing code for optimization/readability etc.
|
132
|
+
- update: for changing doc files or comments.
|
133
|
+
- remove: for deleting code or file.
|
134
|
+
- build: for updating MakeFiles, etc for build process.
|
135
|
+
- style: for fixing indentation or line breaks, etc.
|
136
|
+
- document: for adding new documentation.
|
137
|
+
- version: for releasing version tags.
|
138
|
+
- ci: for DevOps jobs, like editing `.travis.yml` file.
|
139
|
+
- [skip ci]: use this keyword when you change docs to avoid running CI/CD jobs.
|
140
|
+
|
141
|
+
* When merging a multi-commit MR make sure that the commit message doesn't
|
142
|
+
contain the local history from the committer and the review history from
|
143
|
+
the MR. Edit the message to only describe the end state of the MR.
|
144
|
+
* Make sure there is a *single* newline at the end of the commit message.
|
145
|
+
This way there is a single empty line between commits in `git log`
|
146
|
+
output.
|
147
|
+
* Split lines as needed so that the maximum line length of the commit
|
148
|
+
message is under 80 characters, including the subject line.
|
149
|
+
* Do not capitalize the subject and each paragraph.
|
150
|
+
* Make sure that the subject of the commit message has no trailing dot.
|
151
|
+
* If the MR fixes an issue, make sure something like "issue #xxx." occurs
|
152
|
+
in the body of the message and not in the subject (e.g. `fix: issue #32`).
|
153
|
+
* Use Markdown for formatting.
|
154
|
+
|
155
|
+
|
156
|
+
## Issue-tracker conventions
|
157
|
+
|
158
|
+
We aim to reply to all new issues promptly. We'll assign a milestone
|
159
|
+
to help us track which issues we intend to get to when, and may apply
|
160
|
+
labels to carry some other information. Here's what our milestones
|
161
|
+
and labels mean.
|
162
|
+
|
163
|
+
### Task priority and sizing
|
164
|
+
|
165
|
+
We use GitLab "labels" ([see our list][labels])
|
166
|
+
to roughly order what we want to do soon and less soon. There's two dimensions
|
167
|
+
taken into account: **priority** (does it matter to our users) and **size** (how
|
168
|
+
long will it take to complete).
|
169
|
+
|
170
|
+
Bugs that aren't a huge deal but do matter to users and don't seem
|
171
|
+
like a lot of work to fix generally will be dealt with sooner; things
|
172
|
+
that will take longer may go further out.
|
173
|
+
|
174
|
+
We are trying to keep the backlog at a manageable size, an issue that is
|
175
|
+
unlikely to be acted upon in foreseeable future is going to be
|
176
|
+
respectfully closed. This doesn't mean the issue is not important, but
|
177
|
+
rather reflects the limits of the team.
|
178
|
+
|
179
|
+
The **question** label is for issue threads where a user is asking a
|
180
|
+
question but it isn't yet clear that it represents something to actually
|
181
|
+
change. We use the issue tracker as the preferred venue for such
|
182
|
+
questions, even when they aren't literally issues, to keep down the
|
183
|
+
number of distinct discussion venues anyone needs to track. These might
|
184
|
+
evolve into a bug or feature request.
|
185
|
+
|
186
|
+
Issues **without a priority or size** haven't been triaged. We aim to
|
187
|
+
triage all new issues promptly, but there are some issues from previous
|
188
|
+
years that we haven't yet re-reviewed since adopting these conventions.
|
189
|
+
|
190
|
+
### Other labels
|
191
|
+
|
192
|
+
* **discussion**: This issue needs agreement on some kind of
|
193
|
+
design before it makes sense to implement it, and it either doesn't
|
194
|
+
yet have a design or doesn't yet have agreement on one.
|
195
|
+
* **feature**, **bug**, **crash**, **refactoring**, **documentation**:
|
196
|
+
These classify the user-facing impact of the change. Specifically
|
197
|
+
"refactoring" means there should be no user-facing effect.
|
198
|
+
|
199
|
+
[labels]: https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin/labels
|
data/CREDITS
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# Credits
|
2
|
+
|
3
|
+
For full list of contributors you can mine the commit history:
|
4
|
+
https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin/commits/master
|
5
|
+
|
6
|
+
or see graphs:
|
7
|
+
https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin/-/graphs/master
|
8
|
+
|
9
|
+
Core team:
|
10
|
+
|
11
|
+
Mohammad Mahdi Baghbani Pourvahid <MahdiBaghbani@protonmail.com>
|
data/README.md
CHANGED
@@ -6,38 +6,82 @@
|
|
6
6
|
</p>
|
7
7
|
|
8
8
|
<h1 align="center">OpenMoji Jekyll Plugin</h1>
|
9
|
-
<h3 align="center">
|
9
|
+
<h3 align="center">Bring beautiful OpenMoji emojis to your Jekyll websites.</h3>
|
10
10
|
<p align="center">
|
11
|
-
<a href="https://openmoji.org">
|
12
|
-
|
11
|
+
<a href="https://openmoji.org">
|
12
|
+
OpenMoji
|
13
|
+
</a>
|
14
|
+
is a free and open source emoji library which can be used
|
15
|
+
for variety of purposes. it is licensed under CC BY-SA 4.0 .
|
16
|
+
</p>
|
13
17
|
|
14
18
|
<p align="center">
|
15
|
-
<a title="Open Source" href="https://opensource.com/resources/what-open-source
|
16
|
-
<img src="https://img.shields.io/badge/Open%20Source-Forever-brightgreen?style=flat-square" alt="Open Source">
|
19
|
+
<a title="Open Source" href="https://opensource.com/resources/what-open-source" target="_blank">
|
20
|
+
<img src="https://img.shields.io/badge/Open%20Source-Forever-brightgreen?logo=open-source-initiative&style=flat-square" alt="Open Source">
|
17
21
|
</a>
|
18
|
-
<a title="License:
|
19
|
-
<img src="https://img.shields.io/
|
22
|
+
<a title="License: GPLv3" href="https://www.opensource.org/licenses/GPL-3.0" target="_blank">
|
23
|
+
<img src="https://img.shields.io/github/license/azadeh-afzar/OpenMoji-Jekyll-Plugin?logo=gnu&style=flat-square" alt="License: GPLv3">
|
20
24
|
</a>
|
21
|
-
<a title="
|
22
|
-
<img src="https://img.shields.io/
|
25
|
+
<a title="Language counter" href="#" target="_blank">
|
26
|
+
<img src="https://img.shields.io/github/languages/count/azadeh-afzar/OpenMoji-Jekyll-Plugin?logo=gitlab&style=flat-square" alt="Language counter">
|
23
27
|
</a>
|
24
|
-
<a title="
|
25
|
-
<img src="https://img.shields.io/
|
28
|
+
<a title="Top language" href="#" target="_blank">
|
29
|
+
<img src="https://img.shields.io/github/languages/top/azadeh-afzar/OpenMoji-Jekyll-Plugin?logo=gitlab&style=flat-square" alt="Top language">
|
26
30
|
</a>
|
27
|
-
|
28
|
-
|
31
|
+
|
32
|
+
<br>
|
33
|
+
|
34
|
+
<a title="Code Quality: Codefactor.io" href="https://www.codefactor.io/repository/github/azadeh-afzar/openMoji-jekyll-plugin" target="_blank">
|
35
|
+
<img src="https://www.codefactor.io/repository/github/azadeh-afzar/openMoji-jekyll-plugin/badge?style=flat-square" alt="CodeFactor"/>
|
36
|
+
</a>
|
37
|
+
<a title="Code Quality: CodeClimate.com" href="https://codeclimate.com/github/azadeh-afzar/OpenMoji-Jekyll-Plugin/maintainability" target="_blank">
|
38
|
+
<img src="https://img.shields.io/codeclimate/maintainability/azadeh-afzar/OpenMoji-Jekyll-Plugin?logo=code-climate&style=flat-square" alt="CodeClimate rating"/>
|
29
39
|
</a>
|
40
|
+
<a title="Code Technical Debt: CodeClimate.com" href="https://codeclimate.com/github/azadeh-afzar/OpenMoji-Jekyll-Plugin/maintainability" target="_blank">
|
41
|
+
<img src="https://img.shields.io/codeclimate/tech-debt/azadeh-afzar/OpenMoji-Jekyll-Plugin?logo=code-climate&style=flat-square" alt="CodeClimate technical debt"/>
|
42
|
+
</a>
|
43
|
+
<a title="Code Issues: CodeClimate.com" href="https://codeclimate.com/github/azadeh-afzar/OpenMoji-Jekyll-Plugin/maintainability" target="_blank">
|
44
|
+
<img src="https://img.shields.io/codeclimate/issues/azadeh-afzar/OpenMoji-Jekyll-Plugin?logo=code-climate&style=flat-square" alt="CodeClimate issues"/>
|
45
|
+
</a>
|
46
|
+
|
30
47
|
<br>
|
48
|
+
|
49
|
+
<a title="GitLab: pipeline status" href="https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin/commits/master" target="_blank">
|
50
|
+
<img src="https://img.shields.io/gitlab/pipeline/Web-Development/OpenMoji-Jekyll-Plugin?gitlab_url=https%3A%2F%2Fgitlab.com%2FAzadeh-Afzar&logo=gitlab&style=flat-square" alt="pipeline status" />
|
51
|
+
</a>
|
52
|
+
<a title="Test Coverage: CodeClimate.com" href="https://codeclimate.com/github/azadeh-afzar/OpenMoji-Jekyll-Plugin" target="_blank">
|
53
|
+
<img src="https://img.shields.io/codeclimate/coverage/azadeh-afzar/OpenMoji-Jekyll-Plugin?logo=code-climate&style=flat-square" alt="CodeClimate"/>
|
54
|
+
</a>
|
55
|
+
|
31
56
|
<br>
|
57
|
+
|
58
|
+
<a title="OpenMoji Version" href="https://github.com/hfg-gmuend/openmoji/releases">
|
59
|
+
<img src="https://img.shields.io/github/v/release/hfg-gmuend/openmoji?color=red&label=OpenMoji&logo=github&sort=semver&style=flat-square" alt="OpenMoji Version">
|
60
|
+
</a>
|
61
|
+
<a title="Gem Version" href="https://rubygems.org/gems/jekyll-openmoji">
|
62
|
+
<img src="https://img.shields.io/gem/v/jekyll-openmoji?color=red&label=Jekyll%20OpenMoji&logo=rubygems&style=flat-square" alt="Gem Version">
|
63
|
+
</a>
|
64
|
+
<a title="jsDelivr CDN" href="https://www.jsdelivr.com/package/gh/azadeh=afzar/OpenMoji-Jekyll-Plugin">
|
65
|
+
<img src="https://data.jsdelivr.com/v1/package/gh/azadeh=afzar/OpenMoji-Jekyll-Plugin/badge" alt="jsDelivr CDN">
|
66
|
+
</a>
|
32
67
|
</p>
|
33
68
|
|
34
|
-
>
|
69
|
+
> If you are viewing this repository on GitHub, this GitHub repository is a mirror of the OpenMoji Jekyll Plugin,
|
70
|
+
> the main repository is served on
|
71
|
+
><a href="https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin">GitLab</a>, all developments and
|
72
|
+
>discussions, issue tracking and merge requests take place in GitLab.
|
73
|
+
|
74
|
+
> This project is a fork of <a href="https://github.com/jekyll/jeomi">Jemoji</a>.
|
75
|
+
> This project is currently independent from main OpenMoji project.
|
35
76
|
|
36
77
|
### Enjoy a free open source emoji package
|
37
|
-
Use more than 3,000
|
78
|
+
Use more than 3,000 emojis from OpenMoji package for free in your jekyll website.
|
79
|
+
but remember to credit the OpenMoji project somewhere in your site to comply with
|
80
|
+
their license.
|
38
81
|
|
39
82
|
### Connect to any other emoji source
|
40
|
-
Use any available emoji package from a CDN or locally served emoji images by adding
|
83
|
+
Use any available emoji package from a CDN or locally served emoji images by adding
|
84
|
+
roughly 5 lines to your website's config file.
|
41
85
|
|
42
86
|
## Quick start
|
43
87
|
|
@@ -69,27 +113,36 @@ you can specify so in your `_config.yml` file:
|
|
69
113
|
|
70
114
|
```yaml
|
71
115
|
emoji:
|
72
|
-
# src key is required
|
116
|
+
# for other emoji packs providing a src key is required.
|
73
117
|
# images will be served from this base address
|
74
118
|
# it must be a valid URL, if you don't provide a string to src key
|
75
|
-
# plugin will ignore this settings and uses default settings
|
119
|
+
# plugin will ignore this settings and uses default settings which
|
120
|
+
# is OpenMoji emoji pack.
|
76
121
|
src: "https://www.emojisource.com"
|
77
122
|
|
78
123
|
# asset key is optional.
|
79
124
|
# it will be appended to the end of src keyword to make a complete URL,
|
80
125
|
# if you don't provide the asset value, it will be defaulted to "emoji".
|
81
|
-
|
126
|
+
# you can also provide an empty string "" if your source doesn't have any asset path.
|
127
|
+
asset: "/color/png"
|
128
|
+
|
129
|
+
# final path will be "https://www.emojisource.com/color/svg" and
|
130
|
+
# emoji images will serve from this address.
|
131
|
+
# in case of no asset value, final path would be "https://www.emojisource.com/color/svg"emoji
|
82
132
|
|
83
|
-
#
|
84
|
-
#
|
85
|
-
# in case of no asset value, final path would be "https://www.emojisource.com/color/svg"emoji
|
133
|
+
# MORE CONFIGURATION OPTIONS
|
134
|
+
# all configs below are optional.
|
86
135
|
|
136
|
+
# default emoji image extension is svg (vector file), but if your emoji source
|
137
|
+
# images are in other formats, you can manually override default extension by using below key
|
138
|
+
# and specify your desired extension (png, jpg, jpeg, bmp, etc).
|
139
|
+
extension: png
|
87
140
|
|
88
141
|
```
|
89
142
|
|
90
143
|
## How it works
|
91
144
|
|
92
|
-
For all sites emoji images are served from
|
145
|
+
For all sites emoji images are served from a GitHub.com CDN, with a
|
93
146
|
base URL of `https://cdn.jsdelivr.net/gh/azadeh-afzar/OpenMoji-Jekyll-Plugin@latest` and
|
94
147
|
asset path of `/images/color/svg`, which results in emoji image URLs like
|
95
148
|
`https://cdn.jsdelivr.net/gh/azadeh-afzar/OpenMoji-Jekyll-Plugin@latest/images/color/svg/1f604.svg`.
|
@@ -98,7 +151,8 @@ However you can alter the default path in `_config.yml` to serve from external s
|
|
98
151
|
|
99
152
|
### Notes
|
100
153
|
|
101
|
-
Emoji files names should be unicode strings, for example name of this
|
154
|
+
Emoji files names should be lowercase unicode strings, for example name of this
|
155
|
+
emoji 😄 image file must be: 1f604
|
102
156
|
|
103
157
|
## Contribution
|
104
158
|
|
@@ -110,12 +164,14 @@ Visit the [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
110
164
|
|
111
165
|
## Roadmap
|
112
166
|
|
113
|
-
Visit the [Roadmap](ROADMAP.md) to keep track of which features we are currently
|
167
|
+
Visit the [Roadmap](ROADMAP.md) to keep track of which features we are currently
|
168
|
+
working on.
|
114
169
|
|
115
170
|
## License
|
116
171
|
|
117
172
|
Licensed under the [GPL v3](LICENSE).
|
118
173
|
|
119
174
|
## Attribution
|
120
|
-
1. All default emojis designed by [OpenMoji](https://openmoji.org) - the open source
|
121
|
-
|
175
|
+
1. All default emojis designed by [OpenMoji](https://openmoji.org) - the open source
|
176
|
+
emoji and icon project. License: CC BY-SA 4.0
|
177
|
+
2. This project is a fork of [Jemoji](https://github.com/jekyll/jemoji). License: MIT
|
data/ROADMAP.md
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
# OpenMoji Jekyll Plugin v1.0 Roadmap
|
2
|
+
|
3
|
+
## Overview
|
4
|
+
|
5
|
+
This document outlines our roadmap to delivering Azadeh Afzar - OpenMoji Jekyll Plugin
|
6
|
+
v1.0 by Summer 2020.
|
7
|
+
|
8
|
+
## Milestones
|
9
|
+
|
10
|
+
The Azadeh Afzar - OpenMoji Jekyll Plugin
|
11
|
+
v1.0 project is engineered and delivered as a set of 6-week milestones:
|
12
|
+
|
13
|
+
Milestone name: Complete configuration set for emojis
|
14
|
+
Start date of this Milestone: 2019-11-8
|
15
|
+
|
16
|
+
| Feature | Duration |
|
17
|
+
| --- | --- |
|
18
|
+
| Add custom extension, custom inline css attributes | 3 weeks
|
19
|
+
| Test and Bug fixed | 3 weeks |
|
20
|
+
|
21
|
+
## Terminal Roadmap / Timeline
|
22
|
+
|
23
|
+
Ultimately, we're aiming for OpenMoji Jekyll Plugin v1.0 to be feature-complete by Jan 2020,
|
24
|
+
and to declare v1.0 by Jul 2020:
|
25
|
+
|
26
|
+
| Milestone end date | Milestone Name | Key Deliverables |
|
27
|
+
| --- | --- | --- |
|
28
|
+
| 2019-09-9 | Start | Azadeh Afzar forked Jemoji package from GitHub
|
data/SUPPORT.md
CHANGED
data/jekyll-openmoji.gemspec
CHANGED
@@ -5,18 +5,22 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
require "jekyll-openmoji/version"
|
6
6
|
|
7
7
|
Gem::Specification.new do |spec|
|
8
|
-
spec.name
|
8
|
+
spec.name = "jekyll-openmoji"
|
9
9
|
spec.version = Jekyll::Emoji::VERSION
|
10
|
-
spec.platform
|
11
|
-
spec.authors
|
12
|
-
spec.email
|
13
|
-
spec.homepage
|
14
|
-
spec.description = "
|
15
|
-
|
16
|
-
|
17
|
-
|
10
|
+
spec.platform = Gem::Platform::RUBY
|
11
|
+
spec.authors = ["Mohammad Mahdi Baghbani Pourvahid"]
|
12
|
+
spec.email = "MahdiBaghbani@protonmail.com"
|
13
|
+
spec.homepage = "https://gitlab.com/Azadeh-Afzar/Web-Development/OpenMoji-Jekyll-Plugin"
|
14
|
+
spec.description = "OpenMoji emoji pack plugin for Jekyll with powerful
|
15
|
+
configuration options and support for various emoji image file
|
16
|
+
sources and extensions. in addition to OpenMoji emojis, you can
|
17
|
+
also configure it to use any emoji source available."
|
18
|
+
spec.summary = "OpenMoji emoji plugin for Jekyll"
|
19
|
+
spec.licenses = "GPL-3.0"
|
18
20
|
|
19
|
-
spec.files = `git ls-files -z`.split("\x0").reject { |f|
|
21
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f|
|
22
|
+
f.match(%r!^(images|script|spec)/!)
|
23
|
+
}
|
20
24
|
spec.executables = spec.files.grep(%r!^bin/!) { |f| File.basename(f) }
|
21
25
|
spec.test_files = spec.files.grep(%r!^test/!)
|
22
26
|
spec.require_paths = ["lib"]
|
@@ -7,6 +7,7 @@ require "html/pipeline/negarmoji-pipeline"
|
|
7
7
|
|
8
8
|
module Jekyll
|
9
9
|
class Emoji
|
10
|
+
# Extend negarmoji emoji class.
|
10
11
|
OPENMOJI_ASSET_HOST_URL = "https://cdn.jsdelivr.net/gh/azadeh-afzar/OpenMoji-Jekyll-Plugin@latest"
|
11
12
|
ASSET_PATH = "/images/color/svg"
|
12
13
|
DEFAULT_DIR = "/emoji"
|
@@ -17,8 +18,9 @@ module Jekyll
|
|
17
18
|
|
18
19
|
class << self
|
19
20
|
def emojify(doc)
|
20
|
-
return unless
|
21
|
-
|
21
|
+
return unless
|
22
|
+
doc.output =~ HTML::Pipeline::NegarMojiHtmlPipeline::NegarehEmojiFilter
|
23
|
+
.emoji_pattern
|
22
24
|
|
23
25
|
doc.output = if doc.output.include? BODY_START_TAG
|
24
26
|
replace_document_body(doc)
|
@@ -27,14 +29,16 @@ module Jekyll
|
|
27
29
|
asset_path = emoji_asset_path(doc.site.config)
|
28
30
|
file_extension = emoji_extension(doc.site.config)
|
29
31
|
filter_with_emoji(src_root, asset_path, file_extension)
|
30
|
-
|
32
|
+
.call(doc.output)[:output].to_s
|
31
33
|
end
|
32
34
|
end
|
33
35
|
|
34
36
|
# Public: Create or fetch the filter for the given {{src_root}} asset root.
|
35
37
|
#
|
36
38
|
# src_root - the asset root URL (e.g. https://cdn.jsdelivr.net/gh/azadeh-afzar/OpenMoji-Jekyll-Plugin@latest)
|
37
|
-
# asset_path - the asset sub-path of src (e.g. "/images/color/svg")
|
39
|
+
# asset_path - the asset sub-path of src (e.g. "/images/color/svg")
|
40
|
+
# [default = "emoji"]
|
41
|
+
#
|
38
42
|
# extension - the extension of emoji image files, [default = svg ]
|
39
43
|
#
|
40
44
|
# examples of _config.yml:
|
@@ -58,8 +62,8 @@ module Jekyll
|
|
58
62
|
NegarMojiHtmlPipeline::NegarehEmojiFilter],
|
59
63
|
:asset_root => src_root,
|
60
64
|
:asset_path => asset_path,
|
61
|
-
:extension
|
62
|
-
:img_attrs
|
65
|
+
:extension => file_extension,
|
66
|
+
:img_attrs => { :align => nil })
|
63
67
|
end
|
64
68
|
|
65
69
|
# Public: Filters hash where the key is the asset root source.
|
@@ -131,7 +135,7 @@ module Jekyll
|
|
131
135
|
# Returns true if the doc is written & is HTML.
|
132
136
|
def emojiable?(doc)
|
133
137
|
(doc.is_a?(Jekyll::Page) || doc.write?) &&
|
134
|
-
|
138
|
+
doc.output_ext == ".html" || (doc.permalink&.end_with?("/"))
|
135
139
|
end
|
136
140
|
|
137
141
|
private
|
@@ -153,7 +157,7 @@ module Jekyll
|
|
153
157
|
head, opener, tail = doc.output.partition(OPENING_BODY_TAG_REGEX)
|
154
158
|
body_content, *rest = tail.partition("</body>")
|
155
159
|
processed_markup = filter_with_emoji(src_root, asset_path, file_extension)
|
156
|
-
|
160
|
+
.call(body_content)[:output].to_s
|
157
161
|
String.new(head) << opener << processed_markup << rest.join
|
158
162
|
end
|
159
163
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-openmoji
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mohammad Mahdi Baghbani Pourvahid
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: html-pipeline
|
@@ -143,22 +143,27 @@ dependencies:
|
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: 0.17.0
|
145
145
|
description: |-
|
146
|
-
|
147
|
-
|
146
|
+
OpenMoji emoji pack plugin for Jekyll with powerful
|
147
|
+
configuration options and support for various emoji image file
|
148
|
+
sources and extensions. in addition to OpenMoji emojis, you can
|
149
|
+
also configure it to use any emoji source available.
|
148
150
|
email: MahdiBaghbani@protonmail.com
|
149
151
|
executables: []
|
150
152
|
extensions: []
|
151
153
|
extra_rdoc_files: []
|
152
154
|
files:
|
155
|
+
- ".codeclimate.yml"
|
153
156
|
- ".gitignore"
|
154
157
|
- ".gitlab-ci.yml"
|
158
|
+
- ".gitlab/issue_templates/Default.md"
|
159
|
+
- ".gitlab/merge_request_templates/Default.md"
|
155
160
|
- ".rspec"
|
156
161
|
- ".rubocop.yml"
|
157
162
|
- ".rubocop_todo.yml"
|
158
|
-
- ".travis.yml"
|
159
163
|
- CHANGELOG.md
|
160
164
|
- CODE_OF_CONDUCT.md
|
161
165
|
- CONTRIBUTING.md
|
166
|
+
- CREDITS
|
162
167
|
- Gemfile
|
163
168
|
- LICENSE
|
164
169
|
- README.md
|
data/.travis.yml
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
cache: bundler
|
3
|
-
rvm:
|
4
|
-
- &latest_ruby 2.6
|
5
|
-
- 2.4
|
6
|
-
- 2.3
|
7
|
-
env:
|
8
|
-
- JEKYLL_VERSION="~> 3.8"
|
9
|
-
matrix:
|
10
|
-
include:
|
11
|
-
- # GitHub Pages
|
12
|
-
rvm: 2.5.3
|
13
|
-
env: GH_PAGES=true
|
14
|
-
- rvm: *latest_ruby
|
15
|
-
env: JEKYLL_VERSION=">= 4.0.0.pre.alpha1"
|
16
|
-
|
17
|
-
before_install:
|
18
|
-
- gem update --system
|
19
|
-
- gem install bundler
|
20
|
-
before_script: bundle update
|
21
|
-
script: script/ci-test
|
22
|
-
branches:
|
23
|
-
only:
|
24
|
-
- master
|
25
|
-
notifications:
|
26
|
-
irc:
|
27
|
-
on_success: change
|
28
|
-
on_failure: change
|
29
|
-
channels:
|
30
|
-
- irc.freenode.org#jekyll
|
31
|
-
template:
|
32
|
-
- '%{repository}#%{build_number} (%{branch}) %{message} %{build_url}'
|
33
|
-
email:
|
34
|
-
on_success: never
|
35
|
-
on_failure: never
|