nexmo_markdown_renderer 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +54 -0
- data/config/code_languages.yml +138 -0
- data/config/dynamic_content.yml +1 -0
- data/config/locales/en.yml +176 -0
- data/lib/nexmo_markdown_renderer.rb +28 -0
- data/lib/nexmo_markdown_renderer/core_ext/string.rb +14 -0
- data/lib/nexmo_markdown_renderer/filters/anchor_filter.rb +14 -0
- data/lib/nexmo_markdown_renderer/filters/audio_filter.rb +18 -0
- data/lib/nexmo_markdown_renderer/filters/block_escape_filter.rb +21 -0
- data/lib/nexmo_markdown_renderer/filters/break_filter.rb +10 -0
- data/lib/nexmo_markdown_renderer/filters/code_filter.rb +62 -0
- data/lib/nexmo_markdown_renderer/filters/code_snippet_filter.rb +187 -0
- data/lib/nexmo_markdown_renderer/filters/code_snippet_list_filter.rb +26 -0
- data/lib/nexmo_markdown_renderer/filters/code_snippets_filter.rb +170 -0
- data/lib/nexmo_markdown_renderer/filters/collapsible_filter.rb +27 -0
- data/lib/nexmo_markdown_renderer/filters/columns_filter.rb +47 -0
- data/lib/nexmo_markdown_renderer/filters/concept_list_filter.rb +30 -0
- data/lib/nexmo_markdown_renderer/filters/dynamic_content_filter.rb +28 -0
- data/lib/nexmo_markdown_renderer/filters/external_link_filter.rb +29 -0
- data/lib/nexmo_markdown_renderer/filters/frontmatter_filter.rb +11 -0
- data/lib/nexmo_markdown_renderer/filters/heading_filter.rb +57 -0
- data/lib/nexmo_markdown_renderer/filters/i18n/frontmatter_filter.rb +16 -0
- data/lib/nexmo_markdown_renderer/filters/i18n/smartling_converter_filter.rb +22 -0
- data/lib/nexmo_markdown_renderer/filters/icon_filter.rb +19 -0
- data/lib/nexmo_markdown_renderer/filters/indent_filter.rb +17 -0
- data/lib/nexmo_markdown_renderer/filters/inline_escape_filter.rb +14 -0
- data/lib/nexmo_markdown_renderer/filters/js_sequence_diagram_filter.rb +18 -0
- data/lib/nexmo_markdown_renderer/filters/label_filter.rb +29 -0
- data/lib/nexmo_markdown_renderer/filters/language_filter.rb +12 -0
- data/lib/nexmo_markdown_renderer/filters/markdown_filter.rb +81 -0
- data/lib/nexmo_markdown_renderer/filters/mermaid_filter.rb +29 -0
- data/lib/nexmo_markdown_renderer/filters/modal_filter.rb +37 -0
- data/lib/nexmo_markdown_renderer/filters/partial_filter.rb +29 -0
- data/lib/nexmo_markdown_renderer/filters/php_inliner_filter.rb +11 -0
- data/lib/nexmo_markdown_renderer/filters/screenshot_filter.rb +22 -0
- data/lib/nexmo_markdown_renderer/filters/tab_filter.rb +298 -0
- data/lib/nexmo_markdown_renderer/filters/techio_filter.rb +20 -0
- data/lib/nexmo_markdown_renderer/filters/tooltip_filter.rb +18 -0
- data/lib/nexmo_markdown_renderer/filters/unfreeze_filter.rb +16 -0
- data/lib/nexmo_markdown_renderer/filters/use_case_list_filter.rb +20 -0
- data/lib/nexmo_markdown_renderer/initializers/doc_finder.rb +5 -0
- data/lib/nexmo_markdown_renderer/initializers/i18n.rb +4 -0
- data/lib/nexmo_markdown_renderer/initializers/redcarpet.rb +7 -0
- data/lib/nexmo_markdown_renderer/markdown_renderer.rb +47 -0
- data/lib/nexmo_markdown_renderer/models/code_language.rb +79 -0
- data/lib/nexmo_markdown_renderer/models/code_snippet.rb +72 -0
- data/lib/nexmo_markdown_renderer/models/concept.rb +83 -0
- data/lib/nexmo_markdown_renderer/models/tutorial.rb +148 -0
- data/lib/nexmo_markdown_renderer/models/use_case.rb +81 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/android.rb +25 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/base.rb +12 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/curl.rb +29 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/dotnet.rb +23 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/java.rb +32 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/javascript.rb +23 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/kotlin.rb +25 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/objective_c.rb +25 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/php.rb +23 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/python.rb +23 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/ruby.rb +23 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/swift.rb +25 -0
- data/lib/nexmo_markdown_renderer/services/doc_finder.rb +119 -0
- data/lib/nexmo_markdown_renderer/views/code_snippets/_application_messages_dispatch.html.erb +9 -0
- data/lib/nexmo_markdown_renderer/views/code_snippets/_application_rtc.html.erb +28 -0
- data/lib/nexmo_markdown_renderer/views/code_snippets/_application_voice.html.erb +24 -0
- data/lib/nexmo_markdown_renderer/views/code_snippets/_code_only.html.erb +6 -0
- data/lib/nexmo_markdown_renderer/views/code_snippets/_configure_client.html.erb +20 -0
- data/lib/nexmo_markdown_renderer/views/code_snippets/_dependencies.html.erb +11 -0
- data/lib/nexmo_markdown_renderer/views/code_snippets/_write_code.html.erb +13 -0
- data/lib/nexmo_markdown_renderer/views/code_snippets/list/plain.html.erb +10 -0
- data/lib/nexmo_markdown_renderer/views/concepts/list/plain.html.erb +5 -0
- data/lib/nexmo_markdown_renderer/views/use_case/_index.html.erb +41 -0
- data/lib/nexmo_markdown_renderer/views/use_case/index.html.erb +48 -0
- data/lib/nexmo_markdown_renderer/views/use_case/list/plain.html.erb +5 -0
- data/lib/nexmo_markdown_renderer/views/use_case/show.html.erb +8 -0
- data/lib/version.rb +7 -0
- metadata +320 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4da578e278c9eecde5391aa32fbb81f2e35e6417c01d2b83f0316012fba3bc2c
|
4
|
+
data.tar.gz: '091ec00d65a87d97a7834162cf6d1b6aaa06c7b483eb15a98505ca2b5331eefb'
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c314657631aaf4972361ef8615d1edc935f5778b7ad8252cfd331bc1a32a8e40611fdc00eda9858e35f273d2db63962af13bc4f97a3c31115c46b3c3867e6780
|
7
|
+
data.tar.gz: fbf0460036c6b3fdaf034258c2292d2d654b8a6f6e9716064afb021a186623cafb7816dfc85090d17ac880d97c7953b922188bd8c929797459c30b4cedb712cf
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2020 Nexmo Inc
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
# Nexmo Markdown Renderer
|
2
|
+
|
3
|
+
[![Build Status](https://api.travis-ci.org/Nexmo/nexmo-markdown-renderer.svg?branch=master)](https://travis-ci.org/Nexmo/nexmo-markdown-renderer/)
|
4
|
+
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE.txt)
|
5
|
+
|
6
|
+
This gem facilitates the presentation of markdown documents in a Rails app by applying custom filters for tabs, code snippets, icons, indentation and more. It is used in the [Nexmo Developer Platform](https://developer.nexmo.com).
|
7
|
+
|
8
|
+
* [Installation and Usage](#installation-and-usage)
|
9
|
+
* [Contributing](#contributing)
|
10
|
+
* [License](#license)
|
11
|
+
|
12
|
+
## Installation and Usage
|
13
|
+
|
14
|
+
To use this gem you must install it in your application's Gemfile:
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
gem 'nexmo-markdown-renderer'
|
18
|
+
```
|
19
|
+
|
20
|
+
Then run `bundle install` to install it.
|
21
|
+
|
22
|
+
The gem requires an environment variable to be set of `DOCS_BASE_PATH` that should point to the top level directory of your markdown content to be rendered. For example:
|
23
|
+
|
24
|
+
```
|
25
|
+
DOCS_BASE_PATH = '/path/to/markdown`
|
26
|
+
```
|
27
|
+
|
28
|
+
Once you have installed it, you can use it by instantiating an instance of it by passing in the options you require:
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
content = Nexmo::Markdown::Renderer.new()
|
32
|
+
```
|
33
|
+
|
34
|
+
Once you have instantiated an instance, you can then invoke the `#call` method with the markdown you wish to render. You can either point to a file or pass in the markdown directly:
|
35
|
+
|
36
|
+
Passing in the markdown directly:
|
37
|
+
|
38
|
+
```ruby
|
39
|
+
rendered = content.call( "with markdown" )
|
40
|
+
```
|
41
|
+
|
42
|
+
Passing in a markdown file:
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
rendered = content.call("/_documentation/example/example_markdown.md")
|
46
|
+
```
|
47
|
+
|
48
|
+
## Contributing
|
49
|
+
|
50
|
+
We ❤️ contributions from everyone! [Bug reports](https://github.com/Nexmo/nexmo-markdown-renderer/issues), [bug fixes](https://github.com/Nexmo/nexmo-markdown-renderer/pulls) and feedback on the gem is always appreciated. Look at the [Contributor Guidelines](https://github.com/Nexmo/nexmo-markdown-renderer/blob/master/CONTRIBUTING.md) for more information.
|
51
|
+
|
52
|
+
## License
|
53
|
+
|
54
|
+
This project is under the [MIT LICENSE](https://github.com/Nexmo/nexmo-markdown-renderer/blob/master/LICENSE.txt)
|
@@ -0,0 +1,138 @@
|
|
1
|
+
terminal_programs:
|
2
|
+
curl:
|
3
|
+
weight: 1
|
4
|
+
label: cURL
|
5
|
+
lexer: sh
|
6
|
+
icon: curl
|
7
|
+
run_command: 'sh {filename}'
|
8
|
+
cli:
|
9
|
+
label: CLI
|
10
|
+
lexer: sh
|
11
|
+
linkable: false
|
12
|
+
|
13
|
+
languages:
|
14
|
+
javascript:
|
15
|
+
weight: 2
|
16
|
+
label: JavaScript
|
17
|
+
lexer: javascript
|
18
|
+
icon: javascript
|
19
|
+
dependencies:
|
20
|
+
- 'nexmo'
|
21
|
+
|
22
|
+
node:
|
23
|
+
weight: 2
|
24
|
+
label: Node.js
|
25
|
+
lexer: javascript
|
26
|
+
icon: node
|
27
|
+
dependencies:
|
28
|
+
- 'nexmo'
|
29
|
+
run_command: 'node {filename}'
|
30
|
+
|
31
|
+
java:
|
32
|
+
weight: 3
|
33
|
+
label: Java
|
34
|
+
lexer: java
|
35
|
+
unindent: true
|
36
|
+
icon: java
|
37
|
+
dependencies:
|
38
|
+
- 'com.nexmo:client:@latest'
|
39
|
+
|
40
|
+
dotnet:
|
41
|
+
weight: 4
|
42
|
+
label: .NET
|
43
|
+
lexer: c#
|
44
|
+
unindent: true
|
45
|
+
icon: dotnet
|
46
|
+
dependencies:
|
47
|
+
- 'Nexmo.Csharp.Client'
|
48
|
+
csharp:
|
49
|
+
weight: 4
|
50
|
+
label: .NET
|
51
|
+
lexer: c#
|
52
|
+
unindent: true
|
53
|
+
icon: dotnet
|
54
|
+
dependencies:
|
55
|
+
- 'Nexmo.Csharp.Client'
|
56
|
+
|
57
|
+
php:
|
58
|
+
weight: 5
|
59
|
+
label: PHP
|
60
|
+
lexer: php
|
61
|
+
icon: php
|
62
|
+
dependencies:
|
63
|
+
- 'nexmo/client'
|
64
|
+
run_command: 'php {filename}'
|
65
|
+
|
66
|
+
python:
|
67
|
+
weight: 6
|
68
|
+
label: Python
|
69
|
+
lexer: python
|
70
|
+
icon: python
|
71
|
+
dependencies:
|
72
|
+
- 'nexmo'
|
73
|
+
run_command: 'python {filename}'
|
74
|
+
|
75
|
+
ruby:
|
76
|
+
weight: 7
|
77
|
+
label: Ruby
|
78
|
+
lexer: ruby
|
79
|
+
icon: ruby
|
80
|
+
dependencies:
|
81
|
+
- 'nexmo'
|
82
|
+
run_command: 'ruby {filename}'
|
83
|
+
|
84
|
+
kotlin:
|
85
|
+
weight: 8
|
86
|
+
label: Kotlin
|
87
|
+
lexer: java
|
88
|
+
icon: android
|
89
|
+
dependencies: []
|
90
|
+
|
91
|
+
android:
|
92
|
+
weight: 9
|
93
|
+
label: Java
|
94
|
+
lexer: java
|
95
|
+
icon: android
|
96
|
+
dependencies: []
|
97
|
+
|
98
|
+
swift:
|
99
|
+
weight: 10
|
100
|
+
label: Swift
|
101
|
+
lexer: swift
|
102
|
+
icon: ios
|
103
|
+
dependencies: []
|
104
|
+
|
105
|
+
objective_c:
|
106
|
+
weight: 11
|
107
|
+
label: Objective-C
|
108
|
+
lexer: ObjectiveC
|
109
|
+
icon: ios
|
110
|
+
dependencies: []
|
111
|
+
|
112
|
+
platforms:
|
113
|
+
ios:
|
114
|
+
languages:
|
115
|
+
- swift
|
116
|
+
- objective_c
|
117
|
+
android:
|
118
|
+
languages:
|
119
|
+
- java
|
120
|
+
web:
|
121
|
+
languages:
|
122
|
+
- javascript
|
123
|
+
|
124
|
+
data:
|
125
|
+
ncco:
|
126
|
+
label: NCCO
|
127
|
+
lexer: json
|
128
|
+
linkable: false
|
129
|
+
json:
|
130
|
+
weight: 1
|
131
|
+
label: JSON
|
132
|
+
lexer: json
|
133
|
+
linkable: false
|
134
|
+
xml:
|
135
|
+
weight: 2
|
136
|
+
label: XML
|
137
|
+
lexer: xml
|
138
|
+
linkable: false
|
@@ -0,0 +1 @@
|
|
1
|
+
dynamic_content_example: the future
|
@@ -0,0 +1,176 @@
|
|
1
|
+
# Files in the config/locales directory are used for internationalization
|
2
|
+
# and are automatically loaded by Rails. If you want to use locales other
|
3
|
+
# than English, add the necessary files in this directory.
|
4
|
+
#
|
5
|
+
# To use the locales, use `::I18n.t`:
|
6
|
+
#
|
7
|
+
# ::I18n.t 'hello'
|
8
|
+
#
|
9
|
+
# In views, this is aliased to just `t`:
|
10
|
+
#
|
11
|
+
# <%= t('hello') %>
|
12
|
+
#
|
13
|
+
# To use a different locale, set it with `I18n.locale`:
|
14
|
+
#
|
15
|
+
# I18n.locale = :es
|
16
|
+
#
|
17
|
+
# This would use the information in config/locales/es.yml.
|
18
|
+
#
|
19
|
+
# The following keys must be escaped otherwise they will not be retrieved by
|
20
|
+
# the default I18n backend:
|
21
|
+
#
|
22
|
+
# true, false, on, off, yes, no
|
23
|
+
#
|
24
|
+
# Instead, surround them with single quotes.
|
25
|
+
#
|
26
|
+
# en:
|
27
|
+
# 'true': 'foo'
|
28
|
+
#
|
29
|
+
# To learn more, please read the Rails Internationalization guide
|
30
|
+
# available at http://guides.rubyonrails.org/i18n.html.
|
31
|
+
|
32
|
+
en:
|
33
|
+
|
34
|
+
menu:
|
35
|
+
message-search: Message Search
|
36
|
+
messaging: Messaging
|
37
|
+
voice: Voice
|
38
|
+
voice-api: Voice API
|
39
|
+
sip: SIP
|
40
|
+
account: Account
|
41
|
+
number-insight: Number Insight
|
42
|
+
stitch: Stitch
|
43
|
+
client-sdk: Client SDK
|
44
|
+
conversation: Conversation
|
45
|
+
user: User
|
46
|
+
member: Member
|
47
|
+
event: Event
|
48
|
+
leg: Leg
|
49
|
+
in-app-messaging: In-App Messaging
|
50
|
+
in-app-voice: In-App Voice
|
51
|
+
in-app-video: In-App Video
|
52
|
+
messages: Messages API
|
53
|
+
dispatch: Dispatch API
|
54
|
+
reports: Reports
|
55
|
+
us-short-codes: US Short Codes
|
56
|
+
sms: SMS
|
57
|
+
mms: MMS
|
58
|
+
guides: Guides
|
59
|
+
quickstarts: Quickstarts
|
60
|
+
tutorials: Tutorials
|
61
|
+
conversion-api: Conversion API
|
62
|
+
concepts: Concepts
|
63
|
+
code-snippets: Code Snippets
|
64
|
+
verify: Verify
|
65
|
+
configure: Configure
|
66
|
+
contribute: Contribute
|
67
|
+
structure: Structure
|
68
|
+
sdk-documentation: SDK Documentation
|
69
|
+
android: Android
|
70
|
+
ios: iOS
|
71
|
+
javascript: JavaScript
|
72
|
+
javascript-quickstart: JS Quickstart
|
73
|
+
redact: Redact
|
74
|
+
audit: Audit
|
75
|
+
numbers: Numbers
|
76
|
+
secret-management: Secret Management
|
77
|
+
external-accounts: External Accounts API
|
78
|
+
vonage-business-cloud: Vonage Business Cloud
|
79
|
+
smart-numbers: Smart Numbers
|
80
|
+
integration-suite: Vonage Integration Suite
|
81
|
+
vbc-apis: VBC APIs
|
82
|
+
account-api: Account API
|
83
|
+
extension-api: Extension API
|
84
|
+
reports-api: Reports API
|
85
|
+
user-api: User API
|
86
|
+
call-recording-api: Call Recording API
|
87
|
+
getting-started: Getting Started
|
88
|
+
setup: Setup
|
89
|
+
configuration: Configuration
|
90
|
+
|
91
|
+
administration: Administration
|
92
|
+
tasks: Tasks
|
93
|
+
application: Application
|
94
|
+
product-lifecycle: Product Lifecycle
|
95
|
+
whatsapp: WhatsApp
|
96
|
+
messenger: Facebook Messenger
|
97
|
+
viber: Viber Service Messages
|
98
|
+
subaccounts: Subaccounts (Beta)
|
99
|
+
use-cases: Use Cases
|
100
|
+
layouts:
|
101
|
+
partials:
|
102
|
+
header:
|
103
|
+
documentation: Documentation
|
104
|
+
tutorials: Tutorials
|
105
|
+
api-reference: API Reference
|
106
|
+
sdks-and-tools: SDKs & Tools
|
107
|
+
community: Community
|
108
|
+
extend: Extend
|
109
|
+
hiring: We're hiring
|
110
|
+
support: Support
|
111
|
+
sign-in: Sign In
|
112
|
+
try-it: Try it free
|
113
|
+
get_an_api_key: Get an API key
|
114
|
+
start_building: Start building for free
|
115
|
+
|
116
|
+
code_snippets:
|
117
|
+
copy_to_clipboard: Copy to Clipboard
|
118
|
+
use_your_app: Use your existing application
|
119
|
+
create_an_app: Create an application
|
120
|
+
install_the_cli: Install the CLI
|
121
|
+
nexmo_application_contains_html: >-
|
122
|
+
A Nexmo application contains the required configuration for your project. You can create an application using the <a href="https://github.com/Nexmo/nexmo-cli">Nexmo CLI</a> (see below) or <a href="https://dashboard.nexmo.com/voice/create-application">via the dashboard</a>. To learn more about applications <a href="/concepts/guides/applications">see our Nexmo concepts guide</a>.
|
123
|
+
once_you_have_the_cli_installed_html: >-
|
124
|
+
Once you have the CLI installed you can use it to create a Nexmo application. Run the following command and make a note of the application ID that it returns. This is the value to use in <code>NEXMO_APPLICATION_ID</code> in the example below. It will also create <code>private.key</code> in the current directory which you will need in the <em>Initialize your dependencies</em> step
|
125
|
+
nexmo_needs_to_connect_html: >-
|
126
|
+
Nexmo needs to connect to your local machine to access your <code>answer_url</code>. We recommend using <a href="https://www.nexmo.com/blog/2017/07/04/local-development-nexmo-ngrok-tunnel-dr/">ngrok</a> to do this. Make sure to change <code>demo.ngrok.io</code> in the examples below to your own ngrok URL.
|
127
|
+
write_code:
|
128
|
+
view_full_source: View full source
|
129
|
+
write_the_code: Write the code
|
130
|
+
configure_client:
|
131
|
+
initialize_dependencies: Initialize your dependencies
|
132
|
+
application_messages_dispatch:
|
133
|
+
no_application_html: If you do not have an application you can <a href="/messages/code-snippets/create-an-application">create one</a>. Make sure you also <a href="/messages/code-snippets/configure-webhooks">configure your webhooks</a>.
|
134
|
+
application_rtc:
|
135
|
+
use_your_existing_app: Or to use your existing Nexmo application
|
136
|
+
use_an_app_to_authenticate: You will need to use an existing Nexmo application and authenticate a User in order to achieve results here.
|
137
|
+
see_the_docs_html: >-
|
138
|
+
See the <a href="https://developer.nexmo.com/conversation/overview">Conversation API docs</a> for information on how to create an Application and Users on your backend server.
|
139
|
+
alternatively_you_can_review_html: >-
|
140
|
+
Alternatively you can review the <a href="https://developer.nexmo.com/tutorials/client-sdk-generate-test-credentials">tutorial on getting started with generating an Application and credentials</a>.
|
141
|
+
|
142
|
+
filters:
|
143
|
+
generate_your_jwt: Generate your JWT
|
144
|
+
install_dependencies: Install dependencies
|
145
|
+
prerequisites: Prerequisites
|
146
|
+
|
147
|
+
services:
|
148
|
+
code_snippet_renderer:
|
149
|
+
add_instructions_to_file: 'Add the following to `%{file}`:'
|
150
|
+
add_instructions_to_code: 'Add the following to your code:'
|
151
|
+
create_instructions: 'Create a file named `%{filename}` and add the following code:'
|
152
|
+
run_command: >-
|
153
|
+
## Run your code
|
154
|
+
Save this file to your machine and run it:
|
155
|
+
<pre class='highlight bash run-command'><code>%{command}</code></pre>
|
156
|
+
|
157
|
+
curl:
|
158
|
+
only_permitted_dependency: The only permitted curl dependency is `jwt`
|
159
|
+
text: >-
|
160
|
+
Execute the following command at your terminal prompt to create the <a href="/concepts/guides/authentication#json-web-tokens-jwt">JWT</a> for authentication:
|
161
|
+
java:
|
162
|
+
add_instructions: 'Add the following to the `main` method of the `%{file}` class:'
|
163
|
+
create_instructions: 'Create a class named `%{file}` and add the following code to the `main` method:'
|
164
|
+
run_command: >-
|
165
|
+
## Run your code
|
166
|
+
We can use the `application` plugin for Gradle to simplify the running of our application.
|
167
|
+
Update your `build.gradle` with the following:
|
168
|
+
|
169
|
+
```groovy
|
170
|
+
apply plugin: 'application'
|
171
|
+
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''
|
172
|
+
```
|
173
|
+
|
174
|
+
Run the following `gradle` command to execute your application, replacing `%{chomped_package}` with the package containing `%{file}`:
|
175
|
+
|
176
|
+
<pre class="highlight bash run-command"><code>gradle run -Pmain=%{main}</code></pre>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
GEM_ROOT = File.expand_path("../..", __FILE__)
|
3
|
+
require 'banzai'
|
4
|
+
require 'octicons_helper'
|
5
|
+
require 'nokogiri'
|
6
|
+
require 'open-uri'
|
7
|
+
require 'active_model'
|
8
|
+
require 'i18n'
|
9
|
+
require_relative 'nexmo_markdown_renderer/initializers/redcarpet'
|
10
|
+
require_relative 'nexmo_markdown_renderer/initializers/i18n'
|
11
|
+
require_relative 'nexmo_markdown_renderer/core_ext/string'
|
12
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/base'
|
13
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/android'
|
14
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/curl'
|
15
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/dotnet'
|
16
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/java'
|
17
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/javascript'
|
18
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/kotlin'
|
19
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/objective_c'
|
20
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/php'
|
21
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/python'
|
22
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/ruby'
|
23
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/swift'
|
24
|
+
Dir[File.join(__dir__, 'nexmo_markdown_renderer/services', '*.rb')].each { |file| require_relative file }
|
25
|
+
Dir[File.join(__dir__, 'nexmo_markdown_renderer/models', '*.rb')].each { |file| require_relative file }
|
26
|
+
Dir[File.join(__dir__, 'nexmo_markdown_renderer/filters', '*.rb')].each { |file| require_relative file }
|
27
|
+
Dir[File.join(__dir__, 'nexmo_markdown_renderer/filters/i18n', '*.rb')].each { |file| require_relative file }
|
28
|
+
require_relative 'nexmo_markdown_renderer/markdown_renderer'
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class String
|
2
|
+
def render_markdown(options = {})
|
3
|
+
Nexmo::Markdown::Renderer.new(options).call(self).html_safe
|
4
|
+
end
|
5
|
+
|
6
|
+
def unindent
|
7
|
+
indent = squeeze("\n").lines.map { |line| line.index(/[^\s]/) }.compact.min || 0
|
8
|
+
gsub(/^[[:blank:]]{#{indent}}/, '')
|
9
|
+
end
|
10
|
+
|
11
|
+
def unindent!
|
12
|
+
replace(unindent)
|
13
|
+
end
|
14
|
+
end
|