orb_template 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +9 -5
- data/lib/orb/ast.rb +11 -13
- data/lib/orb/rails_template.rb +1 -1
- data/lib/orb/temple/generators.rb +8 -5
- data/lib/orb/temple.rb +7 -10
- data/lib/orb/version.rb +1 -1
- data/lib/orb.rb +12 -20
- data/lib/orb_template.rb +3 -0
- metadata +17 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b74243313337dd63535ee8506813a2f389bae51dc9acd867af03daa1698a4460
|
|
4
|
+
data.tar.gz: 7afda4bc5343e9ce87aebb99f0adaca66f9c46fb6cb47df861a3fb6db90753d6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 46d2138975a21d7011c519f5621ca98058d6823c6c1fa1a33634e0acfd5baa18cdddf15a68902c00562721017ded9bf6cb7d489875586c4eb15f991bed4d3cf7
|
|
7
|
+
data.tar.gz: 2ffee3abc581416c96b294e4d8d2d9b6fc46f6b332fbb75d2eb91a74d1c67d5907624c5f3e7ecff8f954fbe5dd13765dcb3f76f026a52487e9547c251800bd07
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [0.1.1] - 2025-11-28
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- Removed dependency on ActiveSupport for improved lightweight usage
|
|
7
|
+
- Only load Railtie when running in Rails environment for better performance
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- Corrected Editor plugin URLs in README
|
|
11
|
+
- Fixed gem name to use lowercase in gemspec
|
|
12
|
+
|
|
13
|
+
### Documentation
|
|
14
|
+
- Added demo video to README.md
|
|
15
|
+
|
|
3
16
|
## [0.1.0] - 2025-11-28
|
|
4
17
|
|
|
5
18
|
- Initial release of the ORB library.
|
data/README.md
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/rb/orb_template)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
https://github.com/user-attachments/assets/8380b9a8-2063-40f3-a9b6-1b5d623d6f31
|
|
8
|
+
|
|
9
|
+
|
|
6
10
|
|
|
7
11
|
**ORB** is a template language for Ruby with the express goal of providing a first-class DSL for rendering [ViewComponents](https://viewcomponent.org). It is heavily inspired by [React JSX](https://react.dev/learn/writing-markup-with-jsx) and [Surface](https://surace-ui.org).
|
|
8
12
|
|
|
@@ -327,11 +331,11 @@ Namespaces defined in this way will be searched in order of definition when reso
|
|
|
327
331
|
|
|
328
332
|
## Editor support
|
|
329
333
|
|
|
330
|
-
- `VSCode` through the [ORB VSCode Extension](https://github/kuyio/orb
|
|
331
|
-
- `Zed` through the [ORB Zed Extension](https://github/kuyio/orb
|
|
332
|
-
-
|
|
334
|
+
- `VSCode` through the [ORB VSCode Extension](https://github.com/kuyio/vscode-orb).
|
|
335
|
+
- `Zed` through the [ORB Zed Extension](https://github.com/kuyio/zed-orb).
|
|
336
|
+
- Others through the [ORB Treesitter Grammer](https://github.com/kuyio/tree-sitter-orb).
|
|
333
337
|
|
|
334
|
-
Your favorite editor is not listed? Feel free to contribute an extension/plugin for your editor of choice!
|
|
338
|
+
Your favorite editor is not listed? Feel free to contribute an extension/plugin for your editor of choice!
|
|
335
339
|
|
|
336
340
|
## Roadmap
|
|
337
341
|
|
data/lib/orb/ast.rb
CHANGED
|
@@ -2,18 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
module ORB
|
|
4
4
|
module AST
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
autoload :BlockNode
|
|
17
|
-
autoload :NewlineNode
|
|
5
|
+
require_relative "ast/abstract_node"
|
|
6
|
+
require_relative "ast/attribute"
|
|
7
|
+
require_relative "ast/block_node"
|
|
8
|
+
require_relative "ast/control_expression_node"
|
|
9
|
+
require_relative "ast/newline_node"
|
|
10
|
+
require_relative "ast/public_comment_node"
|
|
11
|
+
require_relative "ast/printing_expression_node"
|
|
12
|
+
require_relative "ast/private_comment_node"
|
|
13
|
+
require_relative "ast/root_node"
|
|
14
|
+
require_relative "ast/tag_node"
|
|
15
|
+
require_relative "ast/text_node"
|
|
18
16
|
end
|
|
19
17
|
end
|
data/lib/orb/rails_template.rb
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
require 'temple/utils'
|
|
4
|
+
require 'temple/mixins/dispatcher'
|
|
5
|
+
require 'temple/mixins/options'
|
|
6
|
+
|
|
7
|
+
# WIP - Not used in production yet
|
|
5
8
|
# Eventually this class will be used to generate the Ruby code from the AST.
|
|
6
9
|
# It tries to match the behaviour of the rails ERB Template handler as close as possible.
|
|
7
10
|
module ORB
|
|
8
11
|
module Temple
|
|
9
12
|
module Generators
|
|
10
13
|
class Generator
|
|
11
|
-
include Utils
|
|
12
|
-
include Mixins::CompiledDispatcher
|
|
13
|
-
include Mixins::Options
|
|
14
|
+
include ::Temple::Utils
|
|
15
|
+
include ::Temple::Mixins::CompiledDispatcher
|
|
16
|
+
include ::Temple::Mixins::Options
|
|
14
17
|
|
|
15
18
|
define_options :save_buffer,
|
|
16
19
|
:streaming,
|
data/lib/orb/temple.rb
CHANGED
|
@@ -2,15 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
module ORB
|
|
4
4
|
module Temple
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
autoload :Identity
|
|
13
|
-
autoload :Engine
|
|
14
|
-
autoload :Generator, 'orb/temple/generators'
|
|
5
|
+
require_relative "temple/filters"
|
|
6
|
+
require_relative "temple/attributes_compiler"
|
|
7
|
+
require_relative "temple/parser"
|
|
8
|
+
require_relative "temple/compiler"
|
|
9
|
+
require_relative "temple/identity"
|
|
10
|
+
require_relative "temple/engine"
|
|
11
|
+
require_relative "temple/generators"
|
|
15
12
|
end
|
|
16
13
|
end
|
data/lib/orb/version.rb
CHANGED
data/lib/orb.rb
CHANGED
|
@@ -2,28 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
require 'temple'
|
|
4
4
|
require 'cgi/util'
|
|
5
|
-
require "active_support/dependencies/autoload"
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
autoload :Parser
|
|
19
|
-
autoload :Document
|
|
20
|
-
autoload :Template
|
|
21
|
-
autoload :Temple
|
|
22
|
-
autoload :RailsTemplate
|
|
23
|
-
|
|
24
|
-
# Next-gen tokenizer built on top of strscan
|
|
25
|
-
autoload :Tokenizer2
|
|
6
|
+
require_relative "orb/errors"
|
|
7
|
+
require_relative "orb/token"
|
|
8
|
+
require_relative "orb/tokenizer"
|
|
9
|
+
require_relative "orb/tokenizer2"
|
|
10
|
+
require_relative "orb/render_context"
|
|
11
|
+
require_relative "orb/ast"
|
|
12
|
+
require_relative "orb/parser"
|
|
13
|
+
require_relative "orb/document"
|
|
14
|
+
require_relative "orb/template"
|
|
15
|
+
require_relative "orb/temple"
|
|
16
|
+
require_relative "orb/rails_template"
|
|
26
17
|
|
|
18
|
+
module ORB
|
|
27
19
|
# Configure class caching
|
|
28
20
|
singleton_class.send(:attr_accessor, :cache_classes)
|
|
29
21
|
self.cache_classes = true
|
data/lib/orb_template.rb
ADDED
metadata
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: orb_template
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- KUY.io Inc.
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
-
dependencies:
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: temple
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: 0.10.4
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: 0.10.4
|
|
12
26
|
description: 'ORB brings the declarative power of JSX to Ruby. It allows you to use
|
|
13
27
|
ViewComponents as HTML elements (e.g., <Button />).
|
|
14
28
|
|
|
@@ -61,6 +75,7 @@ files:
|
|
|
61
75
|
- lib/orb/utils/erb.rb
|
|
62
76
|
- lib/orb/utils/orb.rb
|
|
63
77
|
- lib/orb/version.rb
|
|
78
|
+
- lib/orb_template.rb
|
|
64
79
|
homepage: https://github.com/kuyio/orb_template
|
|
65
80
|
licenses:
|
|
66
81
|
- MIT
|