clowne 1.1.0 → 1.2.0
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/.rubocop.yml +11 -51
- data/.travis.yml +11 -23
- data/Gemfile +9 -9
- data/README.md +8 -7
- data/Rakefile +3 -3
- data/clowne.gemspec +14 -8
- data/docs/.nojekyll +0 -0
- data/docs/.rubocop.yml +8 -2
- data/docs/CNAME +1 -0
- data/docs/README.md +131 -0
- data/docs/_sidebar.md +25 -0
- data/docs/active_record.md +2 -5
- data/docs/after_clone.md +3 -6
- data/docs/after_persist.md +7 -10
- data/docs/architecture.md +2 -5
- data/docs/assets/docsify.min.js +1 -0
- data/docs/assets/prism-ruby.min.js +1 -0
- data/docs/assets/styles.css +348 -0
- data/docs/assets/vue.css +1 -0
- data/docs/clone_mapper.md +2 -5
- data/docs/customization.md +1 -4
- data/docs/exclude_association.md +1 -4
- data/docs/finalize.md +4 -8
- data/docs/from_v02_to_v1.md +2 -10
- data/docs/getting_started.md +171 -0
- data/docs/implicit_cloner.md +1 -4
- data/docs/include_association.md +3 -6
- data/docs/index.html +29 -0
- data/docs/init_as.md +4 -8
- data/docs/inline_configuration.md +1 -4
- data/docs/nullify.md +1 -5
- data/docs/operation.md +3 -6
- data/docs/parameters.md +5 -8
- data/docs/sequel.md +1 -4
- data/docs/supported_adapters.md +3 -6
- data/docs/testing.md +18 -21
- data/docs/traits.md +1 -4
- data/gemfiles/activerecord42.gemfile +5 -5
- data/gemfiles/jruby.gemfile +6 -6
- data/gemfiles/railsmaster.gemfile +6 -6
- data/lib/clowne.rb +11 -11
- data/lib/clowne/adapters/active_record.rb +3 -3
- data/lib/clowne/adapters/active_record/associations.rb +7 -7
- data/lib/clowne/adapters/active_record/associations/base.rb +1 -1
- data/lib/clowne/adapters/active_record/associations/belongs_to.rb +1 -1
- data/lib/clowne/adapters/active_record/associations/has_one.rb +1 -1
- data/lib/clowne/adapters/active_record/resolvers/association.rb +1 -1
- data/lib/clowne/adapters/base.rb +6 -6
- data/lib/clowne/adapters/sequel.rb +7 -7
- data/lib/clowne/adapters/sequel/associations.rb +6 -6
- data/lib/clowne/adapters/sequel/associations/base.rb +2 -2
- data/lib/clowne/adapters/sequel/associations/many_to_many.rb +4 -4
- data/lib/clowne/adapters/sequel/associations/one_to_many.rb +1 -1
- data/lib/clowne/adapters/sequel/associations/one_to_one.rb +1 -1
- data/lib/clowne/adapters/sequel/operation.rb +3 -2
- data/lib/clowne/adapters/sequel/resolvers/after_persist.rb +1 -1
- data/lib/clowne/adapters/sequel/resolvers/association.rb +1 -1
- data/lib/clowne/adapters/sequel/specifications/after_persist_does_not_support.rb +1 -1
- data/lib/clowne/cloner.rb +8 -8
- data/lib/clowne/declarations.rb +15 -15
- data/lib/clowne/declarations/after_clone.rb +1 -1
- data/lib/clowne/declarations/after_persist.rb +1 -1
- data/lib/clowne/declarations/finalize.rb +1 -1
- data/lib/clowne/declarations/include_association.rb +1 -1
- data/lib/clowne/declarations/init_as.rb +1 -1
- data/lib/clowne/declarations/nullify.rb +1 -1
- data/lib/clowne/ext/orm_ext.rb +1 -1
- data/lib/clowne/ext/record_key.rb +1 -1
- data/lib/clowne/ext/string_constantize.rb +1 -1
- data/lib/clowne/ext/yield_self_then.rb +1 -1
- data/lib/clowne/planner.rb +1 -1
- data/lib/clowne/rspec.rb +3 -3
- data/lib/clowne/rspec/clone_association.rb +3 -3
- data/lib/clowne/rspec/clone_associations.rb +2 -2
- data/lib/clowne/rspec/helpers.rb +1 -1
- data/lib/clowne/utils/clone_mapper.rb +1 -1
- data/lib/clowne/utils/operation.rb +3 -3
- data/lib/clowne/utils/params.rb +1 -1
- data/lib/clowne/version.rb +1 -1
- metadata +50 -35
- data/docs/alternatives.md +0 -26
- data/docs/basic_example.md +0 -83
- data/docs/installation.md +0 -46
- data/docs/overview.md +0 -25
- data/docs/web/.gitignore +0 -11
- data/docs/web/README.md +0 -6
- data/docs/web/core/Footer.js +0 -88
- data/docs/web/i18n/en.json +0 -141
- data/docs/web/package.json +0 -14
- data/docs/web/pages/en/help.js +0 -50
- data/docs/web/pages/en/index.js +0 -231
- data/docs/web/pages/en/users.js +0 -47
- data/docs/web/sidebars.json +0 -38
- data/docs/web/siteConfig.js +0 -46
- data/docs/web/static/css/custom.css +0 -235
- data/docs/web/static/fonts/FiraCode-Medium.woff +0 -0
- data/docs/web/static/fonts/FiraCode-Regular.woff +0 -0
- data/docs/web/static/img/favicon/favicon.ico +0 -0
- data/docs/web/yarn.lock +0 -1741
data/docs/alternatives.md
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
---
|
2
|
-
id: alternatives
|
3
|
-
title: Motivation & Alternatives
|
4
|
-
---
|
5
|
-
|
6
|
-
### Why did we decide to build our own cloning gem instead of using the existing solutions?
|
7
|
-
|
8
|
-
First, the existing solutions turned out not to be stable and flexible enough for us.
|
9
|
-
|
10
|
-
Secondly, they are Rails-only (or, more precisely, ActiveRecord-only).
|
11
|
-
|
12
|
-
Nevertheless, thanks to [amoeba](https://github.com/amoeba-rb/amoeba) and [deep_cloneable](https://github.com/moiristo/deep_cloneable) for inspiration.
|
13
|
-
|
14
|
-
For ActiveRecord we support amoeba-like [in-model configuration](active_record.md) and you can add missing DSL declarations yourself [easily](customization.md).
|
15
|
-
|
16
|
-
We also provide an ability to specify cloning [configuration in-place](inline_configuration.md) like `deep_clonable` does.
|
17
|
-
|
18
|
-
So, we took the best of these too and brought to the outside-of-Rails world.
|
19
|
-
|
20
|
-
### Why build a gem to clone models at all?
|
21
|
-
|
22
|
-
That's a good question. Of course, you can write plain old Ruby services do handle the cloning logic. But for complex models hierarchies, this approach has major disadvantages: high code complexity and lack of re-usability.
|
23
|
-
|
24
|
-
The things become even worse when you deal with STI models and different cloning contexts.
|
25
|
-
|
26
|
-
That's why we decided to build a specific cloning tool.
|
data/docs/basic_example.md
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
---
|
2
|
-
id: basic_example
|
3
|
-
title: Basic Example
|
4
|
-
---
|
5
|
-
|
6
|
-
Assume that you have the following model:
|
7
|
-
|
8
|
-
```ruby
|
9
|
-
class User < ActiveRecord::Base
|
10
|
-
# create_table :users do |t|
|
11
|
-
# t.string :login
|
12
|
-
# t.string :email
|
13
|
-
# t.timestamps null: false
|
14
|
-
# end
|
15
|
-
|
16
|
-
has_one :profile
|
17
|
-
has_many :posts
|
18
|
-
end
|
19
|
-
|
20
|
-
class Profile < ActiveRecord::Base
|
21
|
-
# create_table :profiles do |t|
|
22
|
-
# t.string :name
|
23
|
-
# end
|
24
|
-
end
|
25
|
-
|
26
|
-
class Post < ActiveRecord::Base
|
27
|
-
# create_table :posts
|
28
|
-
end
|
29
|
-
```
|
30
|
-
|
31
|
-
Let's declare our cloners first:
|
32
|
-
|
33
|
-
```ruby
|
34
|
-
class UserCloner < Clowne::Cloner
|
35
|
-
adapter :active_record
|
36
|
-
|
37
|
-
include_association :profile, clone_with: SpecialProfileCloner
|
38
|
-
include_association :posts
|
39
|
-
|
40
|
-
nullify :login
|
41
|
-
|
42
|
-
# params here is an arbitrary Hash passed into cloner
|
43
|
-
finalize do |_source, record, params|
|
44
|
-
record.email = params[:email]
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
class SpecialProfileCloner < Clowne::Cloner
|
49
|
-
adapter :active_record
|
50
|
-
|
51
|
-
nullify :name
|
52
|
-
end
|
53
|
-
```
|
54
|
-
|
55
|
-
Now you can use `UserCloner` to clone existing records:
|
56
|
-
|
57
|
-
```ruby
|
58
|
-
user = User.last
|
59
|
-
# => <#User id: 1, login: 'clown', email: 'clown@circus.example.com'>
|
60
|
-
|
61
|
-
operation = UserCloner.call(user, email: 'fake@example.com')
|
62
|
-
# => <#Clowne::Utils::Operation...>
|
63
|
-
|
64
|
-
operation.to_record
|
65
|
-
# => <#User id: nil, login: nil, email: 'fake@example.com'>
|
66
|
-
|
67
|
-
operation.persist!
|
68
|
-
# => true
|
69
|
-
|
70
|
-
cloned = operation.to_record
|
71
|
-
# => <#User id: 2, login: nil, email: 'fake@example.com'>
|
72
|
-
|
73
|
-
cloned.login
|
74
|
-
# => nil
|
75
|
-
cloned.email
|
76
|
-
# => "fake@example.com"
|
77
|
-
|
78
|
-
# associations:
|
79
|
-
cloned.posts.count == user.posts.count
|
80
|
-
# => true
|
81
|
-
cloned.profile.name
|
82
|
-
# => nil
|
83
|
-
```
|
data/docs/installation.md
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
---
|
2
|
-
id: installation
|
3
|
-
title: Installation & Configuration
|
4
|
-
---
|
5
|
-
|
6
|
-
## Installation
|
7
|
-
|
8
|
-
To install Clowne with RubyGems:
|
9
|
-
|
10
|
-
```ruby
|
11
|
-
gem install clowne
|
12
|
-
```
|
13
|
-
|
14
|
-
Or add this line to your application's Gemfile:
|
15
|
-
|
16
|
-
```ruby
|
17
|
-
gem 'clowne'
|
18
|
-
```
|
19
|
-
|
20
|
-
## Configuration
|
21
|
-
|
22
|
-
Basic cloner implementation looks like:
|
23
|
-
|
24
|
-
```ruby
|
25
|
-
class SomeCloner < Clowne::Cloner
|
26
|
-
adapter :active_record # or adapter Clowne::Adapters::ActiveRecord
|
27
|
-
# some implementation ...
|
28
|
-
end
|
29
|
-
```
|
30
|
-
|
31
|
-
You can configure the default adapter for cloners:
|
32
|
-
|
33
|
-
```ruby
|
34
|
-
# put to initializer
|
35
|
-
# e.g. config/initializers/clowne.rb
|
36
|
-
Clowne.default_adapter = :active_record
|
37
|
-
```
|
38
|
-
|
39
|
-
and skip explicit adapter declaration
|
40
|
-
|
41
|
-
```ruby
|
42
|
-
class SomeCloner < Clowne::Cloner
|
43
|
-
# some implementation ...
|
44
|
-
end
|
45
|
-
```
|
46
|
-
See the list of [available adapters](supported_adapters.md).
|
data/docs/overview.md
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
---
|
2
|
-
id: overview
|
3
|
-
title: Overview
|
4
|
-
---
|
5
|
-
|
6
|
-
In [the basic example](basic_example.md), you can see that Clowne consists of flexible DSL which is used in a class inherited of `Clowne::Cloner`.
|
7
|
-
|
8
|
-
You can combinate this DSL via [`traits`](traits.md) and make a cloning plan which exactly you want.
|
9
|
-
|
10
|
-
**We strongly recommend [`write tests`](testing.md) to cover resulting cloner logic**
|
11
|
-
|
12
|
-
Cloner class returns [`Operation`](operation.md) instance as a result of cloning. The operation provides methods to save cloned record. You can wrap this call to a transaction if it is necessary.
|
13
|
-
|
14
|
-
## Execution Order
|
15
|
-
|
16
|
-
The order of cloning actions depends on the adapter (i.e., could be customized).
|
17
|
-
|
18
|
-
All built-in adapters have the same order and what happens when you call `Operation#persist`:
|
19
|
-
- init clone (see [`init_as`](init_as.md)) (empty by default)
|
20
|
-
- [`clone associations`](include_association.md)
|
21
|
-
- [`nullify`](nullify.md) attributes
|
22
|
-
- run [`finalize`](finalize.md) blocks. _The order of [`finalize`](finalize.md) blocks is the order they've been written._
|
23
|
-
- run [`after_clone`](after_clone.md) callbacks
|
24
|
-
- __SAVE CLONED RECORD__
|
25
|
-
- run [`after_persist`](after_persist.md) callbacks
|
data/docs/web/.gitignore
DELETED
data/docs/web/README.md
DELETED
data/docs/web/core/Footer.js
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright (c) 2017-present, Facebook, Inc.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*/
|
7
|
-
|
8
|
-
const React = require('react');
|
9
|
-
|
10
|
-
class Footer extends React.Component {
|
11
|
-
docUrl(doc, language) {
|
12
|
-
const baseUrl = this.props.config.baseUrl;
|
13
|
-
return baseUrl + 'docs/' + (language ? language + '/' : '') + doc;
|
14
|
-
}
|
15
|
-
|
16
|
-
pageUrl(doc, language) {
|
17
|
-
const baseUrl = this.props.config.baseUrl;
|
18
|
-
return baseUrl + (language ? language + '/' : '') + doc;
|
19
|
-
}
|
20
|
-
|
21
|
-
render() {
|
22
|
-
const currentYear = new Date().getFullYear();
|
23
|
-
|
24
|
-
const yearLabel = currentYear > 2018 ? `2018–${currentYear}` : currentYear;
|
25
|
-
|
26
|
-
return (
|
27
|
-
<footer className="nav-footer" id="footer">
|
28
|
-
<section className="sitemap">
|
29
|
-
<div className="footer--block">
|
30
|
-
<h5>Project</h5>
|
31
|
-
<div className="footer--list--item">
|
32
|
-
<a href={this.props.config.repoUrl} target="_blank">
|
33
|
-
GitHub
|
34
|
-
</a>
|
35
|
-
</div>
|
36
|
-
<div className="footer--list--item">
|
37
|
-
<a href={this.props.config.gemUrl} target="_blank">
|
38
|
-
RubyGems
|
39
|
-
</a>
|
40
|
-
</div>
|
41
|
-
</div>
|
42
|
-
{/* <div className="footer--block">
|
43
|
-
<h5>Community</h5>
|
44
|
-
<div className="footer--list--item">
|
45
|
-
<a href="https://discordapp.com/" target="_blank">Project Chat</a>
|
46
|
-
</div>
|
47
|
-
<div className="footer--list--item">
|
48
|
-
<a href="https://twitter.com/" target="_blank">
|
49
|
-
Twitter
|
50
|
-
</a>
|
51
|
-
</div>
|
52
|
-
</div>
|
53
|
-
*/}
|
54
|
-
<div className="footer--block">
|
55
|
-
<h5>Resources</h5>
|
56
|
-
<div className="footer--list--item">
|
57
|
-
<a href="https://evilmartians.com/chronicles/clowne-clone-ruby-models-with-a-smile" target="_blank">Clowne: clone Ruby models with a smile</a>
|
58
|
-
</div>
|
59
|
-
</div>
|
60
|
-
<div className="footer--block legals">
|
61
|
-
<p className="footer--copy">
|
62
|
-
<span className="copy">{yearLabel}</span>
|
63
|
-
<a href="https://evilmartians.com" target="_blank">Evil Martians</a>
|
64
|
-
</p>
|
65
|
-
<div className="footer--list--item">
|
66
|
-
<p>Released under the <a href="https://github.com/palkan/clowne/blob/master/LICENSE.txt" target="_blank">MIT license</a></p>
|
67
|
-
</div>
|
68
|
-
<div className="footer--list--item">
|
69
|
-
<p>Built with <a href="https://docusaurus.io" target="_blank">Docusaurus</a></p>
|
70
|
-
</div>
|
71
|
-
</div>
|
72
|
-
</section>
|
73
|
-
<div className="footer--humanoids">
|
74
|
-
<div className="humanoids">
|
75
|
-
<div className="humanoids__martian">
|
76
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 108 92"><path fill="#E2CBB5" d="M26 88L8 78l18-10"></path><path fill="#9FA628" d="M94 92v-6H44c-5.5 0-10-4.5-10-10s4.5-10 10-10h50V32c0-14-7.9-22-22-22H48c-14.1 0-22 8-22 22v60h68z"></path><circle fill="#FFF" cx="48" cy="50" r="8"></circle><circle fill="#FFF" cx="72" cy="50" r="8"></circle><circle fill="#BF6C35" cx="48" cy="50" r="4"></circle><circle fill="#BF6C35" cx="72" cy="50" r="4"></circle><g fill="#663F4C"><path d="M48 60c-5.5 0-10-4.5-10-10s4.5-10 10-10 10 4.5 10 10-4.5 10-10 10zm0-16c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6zM82 50c0 5.5-4.5 10-10 10s-10-4.5-10-10 4.5-10 10-10 10 4.5 10 10zm-16 0c0 3.3 2.7 6 6 6s6-2.7 6-6-2.7-6-6-6-6 2.7-6 6z"></path><path d="M102 8c-3.8 0-6-2.2-6-6 0-1.1-.9-2-2-2s-2 .9-2 2c0 2.2.5 4.1 1.5 5.7L88.2 13c-4-3.3-9.5-5-16.2-5H48c-6.7 0-12.2 1.7-16.2 4.9l-5.3-5.3C27.5 6.1 28 4.2 28 2c0-1.1-.9-2-2-2s-2 .9-2 2c0 3.8-2.2 6-6 6-1.1 0-2 .9-2 2s.9 2 2 2c2.2 0 4.1-.5 5.7-1.5l5.3 5.3c-3.2 4-4.9 9.5-4.9 16.2v34.8L3.9 78 24 89v3h4V32c0-12.9 7.1-20 20-20h24c12.9 0 20 7.1 20 20v32H44c-6.6 0-12 5.4-12 12s5.4 12 12 12h48v4h4v-8h-2l-4-8-4 8h-4l-4-8-4 8h-4l-4-8-4 8h-4l-4-8-4 8h-4l-4-8-3.1 6.2C37.1 80.7 36 78.5 36 76c0-4.4 3.6-8 8-8l4 8 4-8h4l4 8 4-8h4l4 8 4-8h4l4 8 4-8h8V32c0-6.7-1.7-12.2-4.9-16.2l5.3-5.3c1.6 1 3.5 1.5 5.7 1.5 1.1 0 2-.9 2-2s-1-2-2.1-2zM24 84.4L12.1 78 24 71.4v13z"></path></g></svg>
|
77
|
-
</div>
|
78
|
-
<div className="humanoids__human">
|
79
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 108 92"><path fill="#E2CBB5" d="M14 62v30h68v-6H32c-5.5 0-10-4.5-10-10s4.5-10 10-10h50v-4c4 0 8-3.6 8-8s-4-8-8-8V32c0-14-7.9-22-22-22H36c-14.1 0-22 8-22 22v14c-4 0-8 3.6-8 8s4 8 8 8z"></path><circle fill="#FFF" cx="36" cy="50" r="8"></circle><circle fill="#FFF" cx="60" cy="50" r="8"></circle><circle fill="#9FA628" cx="36" cy="50" r="4"></circle><circle fill="#9FA628" cx="60" cy="50" r="4"></circle><path fill="#BF6C35" d="M60 10H36c-14.1 0-22 8-22 22v2l4-4 6 6 6-6 6 6 6-6 6 6 6-6 6 6 6-6 6 6 6-6 4 4v-2c0-14-7.9-22-22-22z"></path><g fill="#663F4C"><path d="M36 60c-5.5 0-10-4.5-10-10s4.5-10 10-10 10 4.5 10 10-4.5 10-10 10zm0-16c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6zM60 60c-5.5 0-10-4.5-10-10s4.5-10 10-10 10 4.5 10 10-4.5 10-10 10zm0-16c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z"></path><path d="M12 63.8V92h4V32c0-12.9 7.1-20 20-20h24c12.9 0 20 7.1 20 20v32H32c-6.6 0-12 5.4-12 12s5.4 12 12 12h48v4h4v-8H74v-1c0-1.7-1.3-3-3-3s-3 1.3-3 3v1h-6v-1c0-1.7-1.3-3-3-3s-3 1.3-3 3v1h-6v-1c0-1.7-1.3-3-3-3s-3 1.3-3 3v1h-6v-1c0-1.7-1.3-3-3-3s-3 1.3-3 3v1c-4 0-8-3.6-8-8s3.6-8 8-8h6v1c0 1.7 1.3 3 3 3s3-1.3 3-3v-1h6v1c0 1.7 1.3 3 3 3s3-1.3 3-3v-1h6v1c0 1.7 1.3 3 3 3s3-1.3 3-3v-1h6v1c0 1.7 1.3 3 3 3s3-1.3 3-3v-1h4v-4.2c5-.9 8-5 8-9.8s-3-8.9-8-9.8V32c0-15.3-8.7-24-24-24H36c-15.3 0-24 8.7-24 24v12.2c-5 .9-8 5-8 9.8s3 8.9 8 9.8zm72-15.5c2 .8 4 3 4 5.7s-2 4.8-4 5.7V48.3zm-72 0v11.3c-2-.8-4-3-4-5.7s2-4.7 4-5.6z"></path></g></svg>
|
80
|
-
</div>
|
81
|
-
</div>
|
82
|
-
</div>
|
83
|
-
</footer>
|
84
|
-
);
|
85
|
-
}
|
86
|
-
}
|
87
|
-
|
88
|
-
module.exports = Footer;
|
data/docs/web/i18n/en.json
DELETED
@@ -1,141 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"_comment": "This file is auto-generated by write-translations.js",
|
3
|
-
"localized-strings": {
|
4
|
-
"next": "Next",
|
5
|
-
"previous": "Previous",
|
6
|
-
"tagline": "A flexible gem for cloning your models",
|
7
|
-
"active_record": "Active Record",
|
8
|
-
"after_clone": "After Clone",
|
9
|
-
"after_persist": "After Persist",
|
10
|
-
"alternatives": "Motivation & Alternatives",
|
11
|
-
"architecture": "Architecture",
|
12
|
-
"basic_example": "Basic Example",
|
13
|
-
"clone_mapper": "Clone mapper",
|
14
|
-
"customization": "Customization",
|
15
|
-
"exclude_association": "Exclude Association",
|
16
|
-
"finalize": "Finalization",
|
17
|
-
"Finalize": "Finalize",
|
18
|
-
"from_v02_to_v10": "From v0.2.x to v1.0.0",
|
19
|
-
"implicit_cloner": "Implicit Cloner",
|
20
|
-
"include_association": "Include Association",
|
21
|
-
"init_as": "Initialize Cloning Target",
|
22
|
-
"Init As": "Init As",
|
23
|
-
"inline_configuration": "Inline Configuration",
|
24
|
-
"installation": "Installation & Configuration",
|
25
|
-
"nullify": "Nullify Attributes",
|
26
|
-
"Nullify": "Nullify",
|
27
|
-
"operation": "Operation",
|
28
|
-
"overview": "Overview",
|
29
|
-
"parameters": "Parameters",
|
30
|
-
"sequel": "Sequel",
|
31
|
-
"supported_adapters": "Supported Adapters",
|
32
|
-
"testing": "Testing",
|
33
|
-
"traits": "Traits",
|
34
|
-
"HISTORY": "HISTORY",
|
35
|
-
"README": "README",
|
36
|
-
"readme": "readme",
|
37
|
-
"CHANGES": "CHANGES",
|
38
|
-
"LICENSE": "LICENSE",
|
39
|
-
"CHANGELOG": "CHANGELOG",
|
40
|
-
"CONTRIBUTING": "CONTRIBUTING",
|
41
|
-
"History": "History",
|
42
|
-
"Readme": "Readme",
|
43
|
-
"extending-remarkable": "extending-remarkable",
|
44
|
-
"local-third-party-project-testing": "local-third-party-project-testing",
|
45
|
-
"publish": "publish",
|
46
|
-
"testing-changes-on-Docusaurus-itself": "testing-changes-on-Docusaurus-itself",
|
47
|
-
"CODE_OF_CONDUCT": "CODE_OF_CONDUCT",
|
48
|
-
"2016-03-11-blog-post": "Blog Title",
|
49
|
-
"2017-04-10-blog-post-two": "New Blog Post",
|
50
|
-
"2017-09-25-testing-rss": "Adding RSS Support - RSS Truncation Test",
|
51
|
-
"2017-09-26-adding-rss": "Adding RSS Support",
|
52
|
-
"2017-10-24-new-version-1.0.0": "New Version 1.0.0",
|
53
|
-
"doc1": "Latin-ish",
|
54
|
-
"Example Page": "Example Page",
|
55
|
-
"doc2": "document number 2",
|
56
|
-
"doc3": "This is document number 3",
|
57
|
-
"doc4": "Other Document",
|
58
|
-
"doc5": "Fifth Document",
|
59
|
-
"copy-sync": "copy-sync",
|
60
|
-
"copy": "copy",
|
61
|
-
"emptyDir-sync": "emptyDir-sync",
|
62
|
-
"emptyDir": "emptyDir",
|
63
|
-
"ensureDir-sync": "ensureDir-sync",
|
64
|
-
"ensureDir": "ensureDir",
|
65
|
-
"ensureFile-sync": "ensureFile-sync",
|
66
|
-
"ensureFile": "ensureFile",
|
67
|
-
"ensureLink-sync": "ensureLink-sync",
|
68
|
-
"ensureLink": "ensureLink",
|
69
|
-
"ensureSymlink-sync": "ensureSymlink-sync",
|
70
|
-
"ensureSymlink": "ensureSymlink",
|
71
|
-
"fs-read-write": "fs-read-write",
|
72
|
-
"move-sync": "move-sync",
|
73
|
-
"move": "move",
|
74
|
-
"outputFile-sync": "outputFile-sync",
|
75
|
-
"outputFile": "outputFile",
|
76
|
-
"outputJson-sync": "outputJson-sync",
|
77
|
-
"outputJson": "outputJson",
|
78
|
-
"pathExists-sync": "pathExists-sync",
|
79
|
-
"pathExists": "pathExists",
|
80
|
-
"readJson-sync": "readJson-sync",
|
81
|
-
"readJson": "readJson",
|
82
|
-
"remove-sync": "remove-sync",
|
83
|
-
"remove": "remove",
|
84
|
-
"writeJson-sync": "writeJson-sync",
|
85
|
-
"writeJson": "writeJson",
|
86
|
-
"changelog": "changelog",
|
87
|
-
"http_signing": "http_signing",
|
88
|
-
"Changelog": "Changelog",
|
89
|
-
"license": "license",
|
90
|
-
"ERROR-HANDLING": "ERROR-HANDLING",
|
91
|
-
"LIMITS": "LIMITS",
|
92
|
-
"block-bq-flat": "block-bq-flat",
|
93
|
-
"block-bq-nested": "block-bq-nested",
|
94
|
-
"block-code": "block-code",
|
95
|
-
"block-fences": "block-fences",
|
96
|
-
"block-heading": "block-heading",
|
97
|
-
"block-hr": "block-hr",
|
98
|
-
"block-html": "block-html",
|
99
|
-
"block-lheading": "block-lheading",
|
100
|
-
"block-list-flat": "block-list-flat",
|
101
|
-
"block-list-nested": "block-list-nested",
|
102
|
-
"block-ref-flat": "block-ref-flat",
|
103
|
-
"block-ref-nested": "block-ref-nested",
|
104
|
-
"block-tables-large": "block-tables-large",
|
105
|
-
"block-tables": "block-tables",
|
106
|
-
"inline-autolink": "inline-autolink",
|
107
|
-
"inline-backticks": "inline-backticks",
|
108
|
-
"inline-em-flat": "inline-em-flat",
|
109
|
-
"inline-em-nested": "inline-em-nested",
|
110
|
-
"inline-em-worst": "inline-em-worst",
|
111
|
-
"inline-entity": "inline-entity",
|
112
|
-
"inline-escape": "inline-escape",
|
113
|
-
"inline-html": "inline-html",
|
114
|
-
"inline-links-flat": "inline-links-flat",
|
115
|
-
"inline-links-nested": "inline-links-nested",
|
116
|
-
"inline-newlines-large": "inline-newlines-large",
|
117
|
-
"inline-newlines": "inline-newlines",
|
118
|
-
"rawtabs": "rawtabs",
|
119
|
-
"example": "example",
|
120
|
-
"parser": "parser",
|
121
|
-
"parsing_block": "parsing_block",
|
122
|
-
"parsing_core": "parsing_core",
|
123
|
-
"parsing_inline": "parsing_inline",
|
124
|
-
"plugins": "plugins",
|
125
|
-
"renderer": "renderer",
|
126
|
-
"AUTHORS": "AUTHORS",
|
127
|
-
"PULL_REQUEST_TEMPLATE": "PULL_REQUEST_TEMPLATE",
|
128
|
-
"Docs": "Docs",
|
129
|
-
"GitHub": "GitHub",
|
130
|
-
"Getting Started": "Getting Started",
|
131
|
-
"API": "API",
|
132
|
-
"Adapters": "Adapters",
|
133
|
-
"Advanced Options": "Advanced Options",
|
134
|
-
"Upgrade Notes": "Upgrade Notes"
|
135
|
-
},
|
136
|
-
"pages-strings": {
|
137
|
-
"Help Translate|recruit community translators for your project": "Help Translate",
|
138
|
-
"Edit this Doc|recruitment message asking to edit the doc source": "Edit",
|
139
|
-
"Translate this Doc|recruitment message asking to translate the docs": "Translate"
|
140
|
-
}
|
141
|
-
}
|
data/docs/web/package.json
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"scripts": {
|
3
|
-
"examples": "docusaurus-examples",
|
4
|
-
"start": "docusaurus-start",
|
5
|
-
"build": "docusaurus-build",
|
6
|
-
"publish-gh-pages": "docusaurus-publish",
|
7
|
-
"write-translations": "docusaurus-write-translations",
|
8
|
-
"version": "docusaurus-version",
|
9
|
-
"rename-version": "docusaurus-rename-version"
|
10
|
-
},
|
11
|
-
"devDependencies": {
|
12
|
-
"docusaurus": "^1.0.5"
|
13
|
-
}
|
14
|
-
}
|