clowne 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
}
|