jekyll-openmoji 0.0.3 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|