staticz 1.0.1 → 1.0.4
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/lib/helpers.rb +33 -0
- data/lib/manifest/manifest.rb +10 -0
- data/lib/manifest/react.rb +27 -0
- data/lib/manifest/simple_file.rb +34 -0
- data/lib/manifest/sub.rb +8 -0
- data/lib/server.rb +1 -0
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50795783266276c8da87ba58941a7cffd3a4250be33e2124650cdddadf0efcc5
|
4
|
+
data.tar.gz: bbcecd4113494baca37b584ac1b91ac6f9cc7b9f52696d66a70625febbd5dc2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ee864bcd24ad2c33d62215f5a82668bb9f32d8455c3d36f73d311c8f190fb3f2ecd2c6cce8db75ab9a0cd0e9d5a17ef2d26ab1782ed6faf0a09d59d2487fab7
|
7
|
+
data.tar.gz: 32640a35148dfb826cd98017198146b97c74e5062703ac278b751e5a673a7768ba5f52bb4291ee579353cdaed8b5eabdd31f9b2e98e808870aeb3ef522b04785
|
data/lib/helpers.rb
CHANGED
@@ -24,3 +24,36 @@ end
|
|
24
24
|
def javascript(path)
|
25
25
|
"<script src=\"#{path}\"></script>"
|
26
26
|
end
|
27
|
+
|
28
|
+
def inline_svg(source_path)
|
29
|
+
File.read("src/#{source_path}")
|
30
|
+
end
|
31
|
+
|
32
|
+
def react(*component_file_paths)
|
33
|
+
lines = [
|
34
|
+
"<script crossorigin src=\"https://unpkg.com/react@18/umd/react.development.js\"></script>",
|
35
|
+
"<script crossorigin src=\"https://unpkg.com/react-dom@18/umd/react-dom.development.js\"></script>",
|
36
|
+
component_file_paths.map do |component_file_path|
|
37
|
+
javascript(component_file_path)
|
38
|
+
end
|
39
|
+
].flatten.join("\n")
|
40
|
+
end
|
41
|
+
|
42
|
+
def react_mount(*components)
|
43
|
+
components.map do |component|
|
44
|
+
[
|
45
|
+
"<script>",
|
46
|
+
"document.querySelectorAll('[data-component=\"#{component}\"]')",
|
47
|
+
".forEach(domContainer => {",
|
48
|
+
"console.log('yas')",
|
49
|
+
"const root = ReactDOM.createRoot(domContainer);",
|
50
|
+
"root.render(React.createElement(#{component}));",
|
51
|
+
"});",
|
52
|
+
"</script>"
|
53
|
+
]
|
54
|
+
end.flatten.join("\n")
|
55
|
+
end
|
56
|
+
|
57
|
+
def react_component(name, css_class = nil)
|
58
|
+
"<div data-component=\"#{name}\" class=\"#{css_class}\"></div>"
|
59
|
+
end
|
data/lib/manifest/manifest.rb
CHANGED
@@ -6,6 +6,8 @@ require_relative 'sass'
|
|
6
6
|
require_relative 'scss'
|
7
7
|
require_relative 'js'
|
8
8
|
require_relative 'cs'
|
9
|
+
require_relative 'react'
|
10
|
+
require_relative 'simple_file'
|
9
11
|
|
10
12
|
module Staticz
|
11
13
|
class Manifest
|
@@ -44,6 +46,14 @@ module Staticz
|
|
44
46
|
elements.push(Staticz::Cs.new(name))
|
45
47
|
end
|
46
48
|
|
49
|
+
def react(name)
|
50
|
+
elements.push(Staticz::React.new(name))
|
51
|
+
end
|
52
|
+
|
53
|
+
def file(name)
|
54
|
+
elements.push(Staticz::SimpleFile.new(name))
|
55
|
+
end
|
56
|
+
|
47
57
|
def build
|
48
58
|
load "#{Dir.pwd}/manifest.rb"
|
49
59
|
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'babel/transpiler'
|
2
|
+
|
3
|
+
module Staticz
|
4
|
+
class React
|
5
|
+
include Compilable
|
6
|
+
|
7
|
+
attr_reader :name
|
8
|
+
|
9
|
+
def source_file_ending = "js"
|
10
|
+
|
11
|
+
def build_file_ending = "js"
|
12
|
+
|
13
|
+
def tile_type_name = "React"
|
14
|
+
|
15
|
+
def initialize(name)
|
16
|
+
@name = name
|
17
|
+
end
|
18
|
+
|
19
|
+
def build
|
20
|
+
if exists?
|
21
|
+
engine = Babel::Transpiler.transform File.read(source_path)
|
22
|
+
|
23
|
+
File.write build_path, engine["code"]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Staticz
|
2
|
+
class SimpleFile
|
3
|
+
include Compilable
|
4
|
+
|
5
|
+
attr_reader :name
|
6
|
+
|
7
|
+
def source_path
|
8
|
+
"src/#{name}"
|
9
|
+
end
|
10
|
+
|
11
|
+
def build_path
|
12
|
+
"build/#{name}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def create_link_function
|
16
|
+
end
|
17
|
+
|
18
|
+
def path_method_name
|
19
|
+
"no path created"
|
20
|
+
end
|
21
|
+
|
22
|
+
def tile_type_name = "File"
|
23
|
+
|
24
|
+
def initialize(name)
|
25
|
+
@name = name
|
26
|
+
end
|
27
|
+
|
28
|
+
def build
|
29
|
+
if exists?
|
30
|
+
File.write build_path, File.read(source_path)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/manifest/sub.rb
CHANGED
@@ -33,6 +33,14 @@ module Staticz
|
|
33
33
|
elements.push(Staticz::Cs.new("#{@name}/#{name}"))
|
34
34
|
end
|
35
35
|
|
36
|
+
def react(name, &block)
|
37
|
+
elements.push(Staticz::React.new("#{@name}/#{name}"))
|
38
|
+
end
|
39
|
+
|
40
|
+
def file(name, &block)
|
41
|
+
elements.push(Staticz::SimpleFile.new("#{@name}/#{name}"))
|
42
|
+
end
|
43
|
+
|
36
44
|
def build
|
37
45
|
Dir.mkdir("build/#{name}") if !Dir.exist?("build/#{name}")
|
38
46
|
|
data/lib/server.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: staticz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philipp Schlesinger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-04-
|
11
|
+
date: 2022-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: haml
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '2.4'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: babel-transpiler
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.7'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.7'
|
97
111
|
description: Create websites with haml and sass, and compile them into static html
|
98
112
|
and css
|
99
113
|
email:
|
@@ -112,8 +126,10 @@ files:
|
|
112
126
|
- lib/manifest/haml.rb
|
113
127
|
- lib/manifest/js.rb
|
114
128
|
- lib/manifest/manifest.rb
|
129
|
+
- lib/manifest/react.rb
|
115
130
|
- lib/manifest/sass.rb
|
116
131
|
- lib/manifest/scss.rb
|
132
|
+
- lib/manifest/simple_file.rb
|
117
133
|
- lib/manifest/sub.rb
|
118
134
|
- lib/server.rb
|
119
135
|
- lib/staticz.rb
|
@@ -130,6 +146,7 @@ licenses:
|
|
130
146
|
metadata:
|
131
147
|
documentation_uri: https://github.com/OfficialPhilcomm/staticz
|
132
148
|
source_code_uri: https://github.com/OfficialPhilcomm/staticz
|
149
|
+
changelog_uri: https://github.com/OfficialPhilcomm/staticz/blob/master/changelog.md
|
133
150
|
post_install_message:
|
134
151
|
rdoc_options: []
|
135
152
|
require_paths:
|