@manyos/smileconnect-api 1.39.1 → 1.40.1

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.
Files changed (105) hide show
  1. package/app.js +13 -0
  2. package/conf/clients.json +2 -1
  3. package/conf/scripts/p4.js +24 -1
  4. package/docs/.nojekyll +0 -0
  5. package/docs/README.md +1 -0
  6. package/docs/_coverpage.md +12 -0
  7. package/docs/_media/dataflow.png +0 -0
  8. package/docs/_media/gui_client_fields.png +0 -0
  9. package/docs/_media/gui_clients_scripts.png +0 -0
  10. package/docs/_media/gui_mapping_inc.png +0 -0
  11. package/docs/_media/gui_scripts_edit.png +0 -0
  12. package/docs/_media/gui_scripts_usage.png +0 -0
  13. package/docs/_media/gui_scripts_warning.png +0 -0
  14. package/docs/_media/logo.png +0 -0
  15. package/docs/_sidebar.md +25 -0
  16. package/docs/{configuration/adapter.md → adapter.md} +8 -16
  17. package/docs/architecture.md +8 -0
  18. package/docs/configuration/clients.md +589 -0
  19. package/docs/configuration/config.md +323 -0
  20. package/docs/{eventlog → configuration}/events.md +11 -8
  21. package/docs/configuration/mapping.md +60 -0
  22. package/docs/howto/{worklog-attachment.md → attachments.md} +8 -15
  23. package/docs/howto/cmdbobjects.md +11 -17
  24. package/docs/howto/incidents.md +16 -23
  25. package/docs/howto/token.md +14 -18
  26. package/docs/howto/{incident-worklogs.md → worklogs.md} +14 -21
  27. package/docs/index.html +27 -0
  28. package/docs/openapi.json +2054 -1354
  29. package/docs/quickstart.md +9 -0
  30. package/docs/releases.md +21 -0
  31. package/docs/scripts.md +272 -0
  32. package/package.json +1 -1
  33. package/docs/.gitattributes +0 -48
  34. package/docs/404.html +0 -13
  35. package/docs/Gemfile +0 -7
  36. package/docs/Gemfile.lock +0 -249
  37. package/docs/_config.yml +0 -259
  38. package/docs/_data/SocialNetworks.yml +0 -92
  39. package/docs/_data/ui-text.yml +0 -494
  40. package/docs/_includes/disqus.html +0 -17
  41. package/docs/_includes/ext-css.html +0 -7
  42. package/docs/_includes/ext-js.html +0 -7
  43. package/docs/_includes/fb-comment.html +0 -14
  44. package/docs/_includes/footer-minimal.html +0 -16
  45. package/docs/_includes/footer-scripts.html +0 -32
  46. package/docs/_includes/footer.html +0 -51
  47. package/docs/_includes/google_analytics.html +0 -14
  48. package/docs/_includes/gtag.html +0 -11
  49. package/docs/_includes/gtm_body.html +0 -6
  50. package/docs/_includes/gtm_head.html +0 -9
  51. package/docs/_includes/head.html +0 -131
  52. package/docs/_includes/header.html +0 -76
  53. package/docs/_includes/just_comments.html +0 -4
  54. package/docs/_includes/matomo.html +0 -17
  55. package/docs/_includes/nav.html +0 -57
  56. package/docs/_includes/social-share.html +0 -42
  57. package/docs/_includes/staticman-comment.html +0 -22
  58. package/docs/_includes/staticman-comments.html +0 -81
  59. package/docs/_layouts/base.html +0 -35
  60. package/docs/_layouts/default.html +0 -9
  61. package/docs/_layouts/minimal.html +0 -26
  62. package/docs/_layouts/page.html +0 -26
  63. package/docs/_layouts/post.html +0 -82
  64. package/docs/_posts/2015-02-28-test-markdown.md +0 -77
  65. package/docs/aboutme.md +0 -18
  66. package/docs/configuration/scripts.md +0 -207
  67. package/docs/css/bootstrap-social.css +0 -147
  68. package/docs/css/bootstrap-theme.css +0 -476
  69. package/docs/css/bootstrap-theme.css.map +0 -1
  70. package/docs/css/bootstrap-theme.min.css +0 -5
  71. package/docs/css/bootstrap.css +0 -6566
  72. package/docs/css/bootstrap.css.map +0 -1
  73. package/docs/css/bootstrap.min.css +0 -5
  74. package/docs/css/main-minimal.css +0 -13
  75. package/docs/css/main.css +0 -788
  76. package/docs/css/normalize.css +0 -427
  77. package/docs/css/pygment_highlights.css +0 -61
  78. package/docs/css/staticman.css +0 -180
  79. package/docs/feed.xml +0 -24
  80. package/docs/general/architecture.md +0 -10
  81. package/docs/general/config.md +0 -201
  82. package/docs/general/field-management.md +0 -119
  83. package/docs/general/release-notes.md +0 -9
  84. package/docs/howto/sample-config.md +0 -518
  85. package/docs/img/404-southpark.jpg +0 -0
  86. package/docs/img/avatar-icon.png +0 -0
  87. package/docs/img/bgimage.png +0 -0
  88. package/docs/img/gb-isapi.jpg +0 -0
  89. package/docs/img/install-steps.gif +0 -0
  90. package/docs/img/workflow.png +0 -0
  91. package/docs/js/bootstrap.js +0 -2306
  92. package/docs/js/bootstrap.min.js +0 -7
  93. package/docs/js/jquery-1.11.2.min.js +0 -4
  94. package/docs/js/main.js +0 -140
  95. package/docs/js/staticman.js +0 -54
  96. package/docs/staticman.yml +0 -110
  97. /package/docs/{img → _media}/architecture.jpeg +0 -0
  98. /package/docs/{img → _media}/attachment-upload.png +0 -0
  99. /package/docs/{getting-started.md → old/getting-started.md} +0 -0
  100. /package/docs/{index.md → old/index.md} +0 -0
  101. /package/docs/{installation.md → old/installation.md} +0 -0
  102. /package/docs/{postinstall.md → old/postinstall.md} +0 -0
  103. /package/docs/{preinstall.md → old/preinstall.md} +0 -0
  104. /package/docs/{tags.html → old/tags.html} +0 -0
  105. /package/docs/{workflow.md → old/workflow.md} +0 -0
@@ -0,0 +1,9 @@
1
+ # Introduction
2
+
3
+ The easiest way to deploy our API is via Docker. [Contact Us](https://manyos.it) to get access to the containers.
4
+
5
+ Set the container environment variables as described [here](configuration/config)
6
+
7
+ Create a client within your OIDC Provider and start with the configuration in the GUI.
8
+
9
+ See our How-Tos to get an [Access Token](howto/token) and how to create your first [Incidents](howto/incidents)
@@ -0,0 +1,21 @@
1
+ # Release Notes
2
+
3
+ ## API
4
+
5
+ ### 1.40.0 - 30.07.21
6
+
7
+ Dynamic Impersonate Users added.
8
+
9
+ If the clientConfig has the option allowDynamicImpersonate set to *true* then the URL Parameter *impersonateUser* can be used to determine the used Remedy User.
10
+
11
+ e.g.
12
+
13
+ */v1/incidents?impersonateUser=abc123
14
+
15
+ ## Event Manager
16
+
17
+ ### 1.15.0 - 30.07.21
18
+
19
+ The eventmanager will check all outbound webhooks for an event. If one fails, the whole Event will be set to error and the details will be added to the error message.
20
+
21
+ ## GUI
@@ -0,0 +1,272 @@
1
+ # Scripts
2
+
3
+ Scripts are used to modify requests, gather data or to drive external actions.
4
+
5
+ Scripts can call adapter to interact with other systems and they can be reused.
6
+
7
+ #### **`workOrder_lookupSericeNameByReconId.js`**
8
+ ```javascript
9
+ //lookup service ci name if reconId is given
10
+
11
+ if (requestData['ReconciliationIdentity']) {
12
+ const remedyResult = await adapter.remedy.search("BMC.CORE:BMC_BusinessService", `'ReconciliationIdentity' = "${requestData['ReconciliationIdentity']}" AND 'DatasetId' = "BMC.ASSET"`, "Name")
13
+
14
+ if (remedyResult && remedyResult.data && remedyResult.data[0]) {
15
+ const data = remedyResult.data[0];
16
+ requestData['CI Name'] = data['Name'];
17
+ }
18
+
19
+ }
20
+ resolve()
21
+ ```
22
+
23
+ The above script will lookup the service name for a given reconciliation id.
24
+
25
+ # Manage Scripts
26
+
27
+ Scripts are stored in the /conf/scripts folder. They can be managed in the GUI.
28
+
29
+ ![Scripts in the GUI](_media/gui_scripts_edit.png)
30
+
31
+ If you edit a script that is already in use, the GUI will show a warning.
32
+
33
+ ![Script usage warning](_media/gui_scripts_warning.png)
34
+
35
+ You can also see in detail where the script is used.
36
+
37
+ ![Script usage details](_media/gui_scripts_usage.png)
38
+
39
+ # Execution points
40
+
41
+ A script can be executed at different times.
42
+
43
+ ![Client Script Usage](_media/gui_clients_scripts.png)
44
+
45
+ For each execution point a list of scripts can be defined. These will be executed in the defined order.
46
+
47
+ ## GET
48
+
49
+ During all get operations (get, getAll, search) the following execution points are available:
50
+
51
+ ### preMapping
52
+
53
+ The scripts are executed directly after the data is fetched from the Remedy System. No field mapping was applied yet. Field names are the same as in Remedy.
54
+
55
+ ### postMapping
56
+
57
+ The scripts are executed after the mapping is done. All field names are now as defined in the mapping.
58
+
59
+ ## POST / PUT
60
+
61
+ During POST & PUT operations an additional execution point (afterExecution) is available.
62
+
63
+ ### preMapping
64
+
65
+ The scripts are executed before the mapping is applied. All field names are as defined in the mapping. If additional data is sent from the client (e.g. additional attributes that are not on the form), you will still have access to them.
66
+
67
+ ### postMapping
68
+
69
+ The scripts are executed after the mapping is applied. All field names are now the same as in Remedy. Additional attributes and inaccessible fields are removed.
70
+
71
+ ### afterExecution
72
+
73
+ The scripts are executed after the create or update operation was executed. Use this execution point to create additional records (e.g. for Reporting or Notifications).
74
+
75
+ # Accessible Variables
76
+
77
+ Within scripts the following variables are available.
78
+
79
+ ## params
80
+
81
+ The parameter params can be defined in a script and used when another script is called. This is useful to reuse scripts.
82
+
83
+ e.g.
84
+ ```javascript
85
+ const subScriptParams = {
86
+ myAttribute1: "myValue1",
87
+ myAttribute2: [
88
+ "val1",
89
+ "val2"
90
+ ]
91
+ }
92
+ const returnValue = await script('ars101', {}, subScriptParams);
93
+ ```
94
+
95
+ Within the called script params can be accessed:
96
+
97
+ ```javascript
98
+ if (params && params.myAttribute1 === "myValue1") {
99
+ requestData.message = "Value was set"
100
+ }
101
+ ```
102
+
103
+
104
+ ## globalScriptParams
105
+
106
+ Global script params are set by the application and handed over to the script. They include the following parameter:
107
+
108
+ **query**: This property is an object containing a property for each query string parameter in the route.
109
+
110
+ **id**: the id of the ticket. Only set in GET & PUT actions
111
+
112
+ **id2**: the id of child ticket. e.g. Tasks or Worklogs. Only set in GET & PUT actions
113
+
114
+ **id2**: the id of child worklogs. e.g. Tasksworklog. Only set in GET & PUT actions
115
+
116
+ **classId**: the classId of cmdbobjects. Only set in POST & PUT actions
117
+
118
+ ```json
119
+ {
120
+ "query": {
121
+ "includeObjects": "true",
122
+ "limit": "3",
123
+ "include": "supportGroupRelations,persons"
124
+ },
125
+ "id": "INC000000001507"
126
+ }
127
+ ```
128
+
129
+ ## requestData
130
+
131
+ This parameter holds the complete request data.
132
+
133
+ ## clientId
134
+
135
+ This id of the client who executes the script.
136
+
137
+ ## executedByScript
138
+
139
+ This parameter will be set to *true* if the script is executed by another script.
140
+
141
+ ## env
142
+
143
+ This parameter allows access to the environment variables.
144
+
145
+ ## log
146
+
147
+ Can be used to write data to the applications log stream.
148
+
149
+ The following log level can be used:
150
+
151
+ * trace
152
+ * debug
153
+ * info
154
+ * warn
155
+ * error
156
+ * fatal
157
+
158
+ e.g.
159
+
160
+ ```javascript
161
+ log.debug('log text', variable);
162
+ log.info('log text', variable);
163
+ log.error('error text', variable);
164
+ ```
165
+
166
+ ## script
167
+
168
+ Can be used to execute a script within a script.
169
+
170
+ script(scriptId, requestData, params)
171
+
172
+ e.g.
173
+ ```javascript
174
+ const returnValue = await script('ars101', {}, params);
175
+ ```
176
+
177
+ ## fetch
178
+
179
+ Allows access to external webservices via the package *node-fetch*
180
+
181
+ See https://www.npmjs.com/package/node-fetch for details.
182
+
183
+ ## adapter
184
+
185
+ Allows to make adapter calls. [See details](../configuration/adapter.md)
186
+
187
+ # Returning values
188
+
189
+ Values can be returned with the function *resolve()*
190
+
191
+ e.g.
192
+
193
+ ```javascript
194
+ const values = [
195
+ "value1",
196
+ "value2",
197
+ "value3"
198
+ ]
199
+ resolve (values)
200
+ ```
201
+
202
+ # Error handling
203
+
204
+ Values can be returned with the fuction *reject()*
205
+
206
+ e.g.
207
+
208
+ ```javascript
209
+ if (!params.form) {
210
+ reject("The parameter form is required")
211
+ }
212
+ ```
213
+
214
+ # Async calls
215
+
216
+ Within scripts *await* can be used to make async calls.
217
+
218
+ ```javascript
219
+ const returnValue = await script('ars101', {}, params);
220
+ ```
221
+
222
+ # Samples
223
+
224
+ ## Simple Assign Back Script
225
+
226
+ This script looks up the previous assignment group if an incident is set to "assigned"
227
+
228
+ ```javascript
229
+ //lookup Previous Assigned Support Group for Incident
230
+ // and assign this group if status is changed to "assigned", and assignedGroup is not set.
231
+
232
+
233
+ if ( requestData['id'] && requestData['status']=="Assigned" && !requestData.hasOwnProperty("assignedGroup") ) {
234
+ const remedyResult = await adapter.remedy.search("HPD:Help Desk Assignment Log", `'Incident Number' = "${requestData.id}"`, "Submit Date,Assigned Support Company,Assigned Support Organization,Assigned Group,Assigned Group ID")
235
+
236
+ if (remedyResult && remedyResult.data && Array.isArray(remedyResult.data)) {
237
+ const data = remedyResult.data;
238
+ let entry = 0;
239
+ if (data.length > 1) {
240
+ entry = data.length - 2;
241
+ }
242
+
243
+ if (data[entry] && data[entry].hasOwnProperty("Assigned Group ID")) {
244
+ requestData['assignedGroup'] = data[entry]['Assigned Group ID'];
245
+ } else {
246
+ reject("could not find previous group. automatic re-ssignement failed. set assigendGroup manually")
247
+ }
248
+
249
+ }
250
+ }
251
+
252
+ resolve()
253
+ ```
254
+
255
+ ## Lookup Service CI Name in WorkOrder
256
+
257
+ If you change the Service CI in Work Orders you need to provide the ReconId and the Service Name. The Script looks up the Name if you only provide the id.
258
+
259
+ ```javascript
260
+ //lookup service ci name if reconId is given
261
+
262
+ if (requestData['ReconciliationIdentity']) {
263
+ const remedyResult = await adapter.remedy.search("BMC.CORE:BMC_BusinessService", `'ReconciliationIdentity' = "${requestData['ReconciliationIdentity']}" AND 'DatasetId' = "BMC.ASSET"`, "Name")
264
+
265
+ if (remedyResult && remedyResult.data && remedyResult.data[0]) {
266
+ const data = remedyResult.data[0];
267
+ requestData['CI Name'] = data['Name'];
268
+ }
269
+
270
+ }
271
+ resolve()
272
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manyos/smileconnect-api",
3
- "version": "1.39.1",
3
+ "version": "1.40.1",
4
4
  "description": "A proxy and abstraction layer for BMCs IT Service Management Suite",
5
5
  "main": "app.js",
6
6
  "scripts": {
@@ -1,48 +0,0 @@
1
- # Define standard eol format
2
-
3
- # Web Files
4
- *.html text eol=lf
5
- *.md text eol=lf
6
- *.css text eol=lf
7
- *.js text eol=lf
8
-
9
- # Jekyll related files
10
- *.yml text eol=lf
11
-
12
- # Git related files
13
- .gittattributes text eol=lf
14
- .gitignore text eol=lf
15
- .gitkeep text eol=lf
16
-
17
- # Ruby files
18
- *.rb text eol=lf
19
- Gemfile text eol=lf
20
- Gemfile.lock text eol=lf
21
-
22
- # Github specific fies
23
- LICENCE text eol=lf
24
-
25
- # Docker specific files
26
- Dockerfile text eol=lf
27
-
28
- # VSCode files
29
- *.json text eol=lf
30
-
31
- # General multimedia files
32
- *.jpg binary
33
- *.jpeg binary
34
- *.gif binary
35
- *.png binary
36
- *.t3x binary
37
- *.t3d binary
38
- *.exe binary
39
- *.data binary
40
- *.ttf binary
41
- *.eof binary
42
- *.eot binary
43
- *.swf binary
44
- *.mov binary
45
- *.mp4 binary
46
- *.mp3 binary
47
- *.ogg binary
48
- *.flv binary
package/docs/404.html DELETED
@@ -1,13 +0,0 @@
1
- ---
2
- layout: default
3
- title: 404 - Page not found
4
- permalink: /404.html
5
- ---
6
-
7
- <div class="text-center">
8
- <h1>Whoops, this page doesn't exist.</h1>
9
- <h1>Move along. (404 error)</h1>
10
- <br/>
11
-
12
- <img src="{{ 'img/404-southpark.jpg' | relative_url }}" />
13
- </div>
package/docs/Gemfile DELETED
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem "github-pages", '197', group: :jekyll_plugins
4
-
5
- # enable tzinfo-data for local build
6
- # gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
7
- gem 'jekyll-paginate'
package/docs/Gemfile.lock DELETED
@@ -1,249 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- activesupport (4.2.10)
5
- i18n (~> 0.7)
6
- minitest (~> 5.1)
7
- thread_safe (~> 0.3, >= 0.3.4)
8
- tzinfo (~> 1.1)
9
- addressable (2.5.2)
10
- public_suffix (>= 2.0.2, < 4.0)
11
- coffee-script (2.4.1)
12
- coffee-script-source
13
- execjs
14
- coffee-script-source (1.11.1)
15
- colorator (1.1.0)
16
- commonmarker (0.17.13)
17
- ruby-enum (~> 0.5)
18
- concurrent-ruby (1.1.3)
19
- dnsruby (1.61.2)
20
- addressable (~> 2.5)
21
- em-websocket (0.5.1)
22
- eventmachine (>= 0.12.9)
23
- http_parser.rb (~> 0.6.0)
24
- ethon (0.11.0)
25
- ffi (>= 1.3.0)
26
- eventmachine (1.2.7-x64-mingw32)
27
- execjs (2.7.0)
28
- faraday (0.15.3)
29
- multipart-post (>= 1.2, < 3)
30
- ffi (1.9.25-x64-mingw32)
31
- forwardable-extended (2.6.0)
32
- gemoji (3.0.0)
33
- github-pages (193)
34
- activesupport (= 4.2.10)
35
- github-pages-health-check (= 1.8.1)
36
- jekyll (= 3.7.4)
37
- jekyll-avatar (= 0.6.0)
38
- jekyll-coffeescript (= 1.1.1)
39
- jekyll-commonmark-ghpages (= 0.1.5)
40
- jekyll-default-layout (= 0.1.4)
41
- jekyll-feed (= 0.11.0)
42
- jekyll-gist (= 1.5.0)
43
- jekyll-github-metadata (= 2.9.4)
44
- jekyll-mentions (= 1.4.1)
45
- jekyll-optional-front-matter (= 0.3.0)
46
- jekyll-paginate (= 1.1.0)
47
- jekyll-readme-index (= 0.2.0)
48
- jekyll-redirect-from (= 0.14.0)
49
- jekyll-relative-links (= 0.5.3)
50
- jekyll-remote-theme (= 0.3.1)
51
- jekyll-sass-converter (= 1.5.2)
52
- jekyll-seo-tag (= 2.5.0)
53
- jekyll-sitemap (= 1.2.0)
54
- jekyll-swiss (= 0.4.0)
55
- jekyll-theme-architect (= 0.1.1)
56
- jekyll-theme-cayman (= 0.1.1)
57
- jekyll-theme-dinky (= 0.1.1)
58
- jekyll-theme-hacker (= 0.1.1)
59
- jekyll-theme-leap-day (= 0.1.1)
60
- jekyll-theme-merlot (= 0.1.1)
61
- jekyll-theme-midnight (= 0.1.1)
62
- jekyll-theme-minimal (= 0.1.1)
63
- jekyll-theme-modernist (= 0.1.1)
64
- jekyll-theme-primer (= 0.5.3)
65
- jekyll-theme-slate (= 0.1.1)
66
- jekyll-theme-tactile (= 0.1.1)
67
- jekyll-theme-time-machine (= 0.1.1)
68
- jekyll-titles-from-headings (= 0.5.1)
69
- jemoji (= 0.10.1)
70
- kramdown (= 1.17.0)
71
- liquid (= 4.0.0)
72
- listen (= 3.1.5)
73
- mercenary (~> 0.3)
74
- minima (= 2.5.0)
75
- nokogiri (>= 1.8.2, < 2.0)
76
- rouge (= 2.2.1)
77
- terminal-table (~> 1.4)
78
- github-pages-health-check (1.8.1)
79
- addressable (~> 2.3)
80
- dnsruby (~> 1.60)
81
- octokit (~> 4.0)
82
- public_suffix (~> 2.0)
83
- typhoeus (~> 1.3)
84
- html-pipeline (2.9.1)
85
- activesupport (>= 2)
86
- nokogiri (>= 1.4)
87
- http_parser.rb (0.6.0)
88
- i18n (0.9.5)
89
- concurrent-ruby (~> 1.0)
90
- jekyll (3.7.4)
91
- addressable (~> 2.4)
92
- colorator (~> 1.0)
93
- em-websocket (~> 0.5)
94
- i18n (~> 0.7)
95
- jekyll-sass-converter (~> 1.0)
96
- jekyll-watch (~> 2.0)
97
- kramdown (~> 1.14)
98
- liquid (~> 4.0)
99
- mercenary (~> 0.3.3)
100
- pathutil (~> 0.9)
101
- rouge (>= 1.7, < 4)
102
- safe_yaml (~> 1.0)
103
- jekyll-avatar (0.6.0)
104
- jekyll (~> 3.0)
105
- jekyll-coffeescript (1.1.1)
106
- coffee-script (~> 2.2)
107
- coffee-script-source (~> 1.11.1)
108
- jekyll-commonmark (1.2.0)
109
- commonmarker (~> 0.14)
110
- jekyll (>= 3.0, < 4.0)
111
- jekyll-commonmark-ghpages (0.1.5)
112
- commonmarker (~> 0.17.6)
113
- jekyll-commonmark (~> 1)
114
- rouge (~> 2)
115
- jekyll-default-layout (0.1.4)
116
- jekyll (~> 3.0)
117
- jekyll-feed (0.11.0)
118
- jekyll (~> 3.3)
119
- jekyll-gist (1.5.0)
120
- octokit (~> 4.2)
121
- jekyll-github-metadata (2.9.4)
122
- jekyll (~> 3.1)
123
- octokit (~> 4.0, != 4.4.0)
124
- jekyll-mentions (1.4.1)
125
- html-pipeline (~> 2.3)
126
- jekyll (~> 3.0)
127
- jekyll-optional-front-matter (0.3.0)
128
- jekyll (~> 3.0)
129
- jekyll-paginate (1.1.0)
130
- jekyll-readme-index (0.2.0)
131
- jekyll (~> 3.0)
132
- jekyll-redirect-from (0.14.0)
133
- jekyll (~> 3.3)
134
- jekyll-relative-links (0.5.3)
135
- jekyll (~> 3.3)
136
- jekyll-remote-theme (0.3.1)
137
- jekyll (~> 3.5)
138
- rubyzip (>= 1.2.1, < 3.0)
139
- jekyll-sass-converter (1.5.2)
140
- sass (~> 3.4)
141
- jekyll-seo-tag (2.5.0)
142
- jekyll (~> 3.3)
143
- jekyll-sitemap (1.2.0)
144
- jekyll (~> 3.3)
145
- jekyll-swiss (0.4.0)
146
- jekyll-theme-architect (0.1.1)
147
- jekyll (~> 3.5)
148
- jekyll-seo-tag (~> 2.0)
149
- jekyll-theme-cayman (0.1.1)
150
- jekyll (~> 3.5)
151
- jekyll-seo-tag (~> 2.0)
152
- jekyll-theme-dinky (0.1.1)
153
- jekyll (~> 3.5)
154
- jekyll-seo-tag (~> 2.0)
155
- jekyll-theme-hacker (0.1.1)
156
- jekyll (~> 3.5)
157
- jekyll-seo-tag (~> 2.0)
158
- jekyll-theme-leap-day (0.1.1)
159
- jekyll (~> 3.5)
160
- jekyll-seo-tag (~> 2.0)
161
- jekyll-theme-merlot (0.1.1)
162
- jekyll (~> 3.5)
163
- jekyll-seo-tag (~> 2.0)
164
- jekyll-theme-midnight (0.1.1)
165
- jekyll (~> 3.5)
166
- jekyll-seo-tag (~> 2.0)
167
- jekyll-theme-minimal (0.1.1)
168
- jekyll (~> 3.5)
169
- jekyll-seo-tag (~> 2.0)
170
- jekyll-theme-modernist (0.1.1)
171
- jekyll (~> 3.5)
172
- jekyll-seo-tag (~> 2.0)
173
- jekyll-theme-primer (0.5.3)
174
- jekyll (~> 3.5)
175
- jekyll-github-metadata (~> 2.9)
176
- jekyll-seo-tag (~> 2.0)
177
- jekyll-theme-slate (0.1.1)
178
- jekyll (~> 3.5)
179
- jekyll-seo-tag (~> 2.0)
180
- jekyll-theme-tactile (0.1.1)
181
- jekyll (~> 3.5)
182
- jekyll-seo-tag (~> 2.0)
183
- jekyll-theme-time-machine (0.1.1)
184
- jekyll (~> 3.5)
185
- jekyll-seo-tag (~> 2.0)
186
- jekyll-titles-from-headings (0.5.1)
187
- jekyll (~> 3.3)
188
- jekyll-watch (2.1.2)
189
- listen (~> 3.0)
190
- jemoji (0.10.1)
191
- gemoji (~> 3.0)
192
- html-pipeline (~> 2.2)
193
- jekyll (~> 3.0)
194
- kramdown (1.17.0)
195
- liquid (4.0.0)
196
- listen (3.1.5)
197
- rb-fsevent (~> 0.9, >= 0.9.4)
198
- rb-inotify (~> 0.9, >= 0.9.7)
199
- ruby_dep (~> 1.2)
200
- mercenary (0.3.6)
201
- mini_portile2 (2.3.0)
202
- minima (2.5.0)
203
- jekyll (~> 3.5)
204
- jekyll-feed (~> 0.9)
205
- jekyll-seo-tag (~> 2.1)
206
- minitest (5.11.3)
207
- multipart-post (2.0.0)
208
- nokogiri (1.8.5-x64-mingw32)
209
- mini_portile2 (~> 2.3.0)
210
- octokit (4.13.0)
211
- sawyer (~> 0.8.0, >= 0.5.3)
212
- pathutil (0.16.2)
213
- forwardable-extended (~> 2.6)
214
- public_suffix (2.0.5)
215
- rb-fsevent (0.10.3)
216
- rb-inotify (0.9.10)
217
- ffi (>= 0.5.0, < 2)
218
- rouge (2.2.1)
219
- ruby-enum (0.7.2)
220
- i18n
221
- ruby_dep (1.5.0)
222
- rubyzip (1.2.2)
223
- safe_yaml (1.0.4)
224
- sass (3.7.2)
225
- sass-listen (~> 4.0.0)
226
- sass-listen (4.0.0)
227
- rb-fsevent (~> 0.9, >= 0.9.4)
228
- rb-inotify (~> 0.9, >= 0.9.7)
229
- sawyer (0.8.1)
230
- addressable (>= 2.3.5, < 2.6)
231
- faraday (~> 0.8, < 1.0)
232
- terminal-table (1.8.0)
233
- unicode-display_width (~> 1.1, >= 1.1.1)
234
- thread_safe (0.3.6)
235
- typhoeus (1.3.1)
236
- ethon (>= 0.9.0)
237
- tzinfo (1.2.5)
238
- thread_safe (~> 0.1)
239
- unicode-display_width (1.4.0)
240
-
241
- PLATFORMS
242
- x64-mingw32
243
-
244
- DEPENDENCIES
245
- github-pages (= 193)
246
- jekyll-paginate
247
-
248
- BUNDLED WITH
249
- 1.17.1