my_yard 0.0.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 +7 -0
- data/README.md +5 -0
- data/doc/GlobalSettings.html +556 -0
- data/doc/MyYard.html +1203 -0
- data/doc/TreeContext/Alternator.html +301 -0
- data/doc/TreeContext.html +471 -0
- data/doc/YardTheme.html +750 -0
- data/doc/YardThemeDefaults.html +418 -0
- data/doc/_index.html +174 -0
- data/doc/class_and_method_list.html +842 -0
- data/doc/class_list.html +51 -0
- data/doc/css/common.css +36 -0
- data/doc/css/full_list.css +62 -0
- data/doc/css/style.css +476 -0
- data/doc/file.README.html +79 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +79 -0
- data/doc/js/app.js +243 -0
- data/doc/js/full_list.js +213 -0
- data/doc/js/jquery.js +4 -0
- data/doc/just_file_list.html +37 -0
- data/doc/method_list.html +835 -0
- data/full_list.css +58 -0
- data/home_my_yard/templates/visualruby/class/dot/setup.rb +6 -0
- data/home_my_yard/templates/visualruby/class/dot/superklass.erb +3 -0
- data/home_my_yard/templates/visualruby/class/html/constructor_details.erb +8 -0
- data/home_my_yard/templates/visualruby/class/html/setup.rb +1 -0
- data/home_my_yard/templates/visualruby/class/html/subclasses.erb +4 -0
- data/home_my_yard/templates/visualruby/class/setup.rb +36 -0
- data/home_my_yard/templates/visualruby/class/text/setup.rb +11 -0
- data/home_my_yard/templates/visualruby/class/text/subclasses.erb +5 -0
- data/home_my_yard/templates/visualruby/constant/text/header.erb +11 -0
- data/home_my_yard/templates/visualruby/constant/text/setup.rb +3 -0
- data/home_my_yard/templates/visualruby/docstring/html/abstract.erb +4 -0
- data/home_my_yard/templates/visualruby/docstring/html/deprecated.erb +1 -0
- data/home_my_yard/templates/visualruby/docstring/html/index.erb +5 -0
- data/home_my_yard/templates/visualruby/docstring/html/note.erb +6 -0
- data/home_my_yard/templates/visualruby/docstring/html/private.erb +4 -0
- data/home_my_yard/templates/visualruby/docstring/html/returns_void.erb +1 -0
- data/home_my_yard/templates/visualruby/docstring/html/text.erb +1 -0
- data/home_my_yard/templates/visualruby/docstring/html/todo.erb +6 -0
- data/home_my_yard/templates/visualruby/docstring/setup.rb +51 -0
- data/home_my_yard/templates/visualruby/docstring/text/abstract.erb +2 -0
- data/home_my_yard/templates/visualruby/docstring/text/deprecated.erb +2 -0
- data/home_my_yard/templates/visualruby/docstring/text/index.erb +2 -0
- data/home_my_yard/templates/visualruby/docstring/text/note.erb +4 -0
- data/home_my_yard/templates/visualruby/docstring/text/private.erb +2 -0
- data/home_my_yard/templates/visualruby/docstring/text/returns_void.erb +1 -0
- data/home_my_yard/templates/visualruby/docstring/text/text.erb +1 -0
- data/home_my_yard/templates/visualruby/docstring/text/todo.erb +4 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/class_and_method.erb +42 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/css/common.css +1 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/css/full_list.css +62 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/css/style.css +476 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/frames.erb +17 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/full_list.erb +37 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/full_list_class.erb +2 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/full_list_file.erb +7 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/full_list_method.erb +10 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/js/app.js +243 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/js/full_list.js +213 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/js/jquery.js +4 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/just_files.erb +33 -0
- data/home_my_yard/templates/visualruby/fulldoc/html/setup.rb +267 -0
- data/home_my_yard/templates/visualruby/layout/dot/header.erb +6 -0
- data/home_my_yard/templates/visualruby/layout/dot/setup.rb +14 -0
- data/home_my_yard/templates/visualruby/layout/html/breadcrumb.erb +11 -0
- data/home_my_yard/templates/visualruby/layout/html/files.erb +11 -0
- data/home_my_yard/templates/visualruby/layout/html/footer.erb +5 -0
- data/home_my_yard/templates/visualruby/layout/html/headers.erb +15 -0
- data/home_my_yard/templates/visualruby/layout/html/index.erb +2 -0
- data/home_my_yard/templates/visualruby/layout/html/layout.erb +30 -0
- data/home_my_yard/templates/visualruby/layout/html/listing.erb +4 -0
- data/home_my_yard/templates/visualruby/layout/html/objects.erb +32 -0
- data/home_my_yard/templates/visualruby/layout/html/script_setup.erb +4 -0
- data/home_my_yard/templates/visualruby/layout/html/search.erb +13 -0
- data/home_my_yard/templates/visualruby/layout/html/setup.rb +88 -0
- data/home_my_yard/templates/visualruby/method/html/header.erb +17 -0
- data/home_my_yard/templates/visualruby/method/setup.rb +3 -0
- data/home_my_yard/templates/visualruby/method/text/header.erb +1 -0
- data/home_my_yard/templates/visualruby/method_details/html/header.erb +3 -0
- data/home_my_yard/templates/visualruby/method_details/html/method_signature.erb +25 -0
- data/home_my_yard/templates/visualruby/method_details/html/source.erb +10 -0
- data/home_my_yard/templates/visualruby/method_details/setup.rb +10 -0
- data/home_my_yard/templates/visualruby/method_details/text/header.erb +10 -0
- data/home_my_yard/templates/visualruby/method_details/text/method_signature.erb +12 -0
- data/home_my_yard/templates/visualruby/method_details/text/setup.rb +10 -0
- data/home_my_yard/templates/visualruby/module/dot/child.erb +1 -0
- data/home_my_yard/templates/visualruby/module/dot/dependencies.erb +3 -0
- data/home_my_yard/templates/visualruby/module/dot/header.erb +6 -0
- data/home_my_yard/templates/visualruby/module/dot/info.erb +14 -0
- data/home_my_yard/templates/visualruby/module/dot/setup.rb +14 -0
- data/home_my_yard/templates/visualruby/module/html/attribute_details.erb +10 -0
- data/home_my_yard/templates/visualruby/module/html/attribute_summary.erb +8 -0
- data/home_my_yard/templates/visualruby/module/html/box_info.erb +43 -0
- data/home_my_yard/templates/visualruby/module/html/children.erb +8 -0
- data/home_my_yard/templates/visualruby/module/html/constant_summary.erb +13 -0
- data/home_my_yard/templates/visualruby/module/html/defines.erb +3 -0
- data/home_my_yard/templates/visualruby/module/html/header.erb +5 -0
- data/home_my_yard/templates/visualruby/module/html/inherited_attributes.erb +14 -0
- data/home_my_yard/templates/visualruby/module/html/inherited_constants.erb +8 -0
- data/home_my_yard/templates/visualruby/module/html/inherited_methods.erb +19 -0
- data/home_my_yard/templates/visualruby/module/html/item_summary.erb +40 -0
- data/home_my_yard/templates/visualruby/module/html/method_details_list.erb +9 -0
- data/home_my_yard/templates/visualruby/module/html/method_summary.erb +14 -0
- data/home_my_yard/templates/visualruby/module/html/methodmissing.erb +12 -0
- data/home_my_yard/templates/visualruby/module/html/pre_docstring.erb +1 -0
- data/home_my_yard/templates/visualruby/module/setup.rb +164 -0
- data/home_my_yard/templates/visualruby/module/text/children.erb +10 -0
- data/home_my_yard/templates/visualruby/module/text/class_meths_list.erb +8 -0
- data/home_my_yard/templates/visualruby/module/text/extends.erb +8 -0
- data/home_my_yard/templates/visualruby/module/text/header.erb +7 -0
- data/home_my_yard/templates/visualruby/module/text/includes.erb +8 -0
- data/home_my_yard/templates/visualruby/module/text/instance_meths_list.erb +8 -0
- data/home_my_yard/templates/visualruby/module/text/setup.rb +12 -0
- data/home_my_yard/templates/visualruby/onefile/html/files.erb +5 -0
- data/home_my_yard/templates/visualruby/onefile/html/headers.erb +6 -0
- data/home_my_yard/templates/visualruby/onefile/html/layout.erb +17 -0
- data/home_my_yard/templates/visualruby/onefile/html/readme.erb +3 -0
- data/home_my_yard/templates/visualruby/onefile/html/setup.rb +61 -0
- data/home_my_yard/templates/visualruby/root/dot/child.erb +3 -0
- data/home_my_yard/templates/visualruby/root/dot/setup.rb +5 -0
- data/home_my_yard/templates/visualruby/root/html/setup.rb +1 -0
- data/home_my_yard/templates/visualruby/tags/html/example.erb +11 -0
- data/home_my_yard/templates/visualruby/tags/html/index.erb +3 -0
- data/home_my_yard/templates/visualruby/tags/html/option.erb +24 -0
- data/home_my_yard/templates/visualruby/tags/html/overload.erb +14 -0
- data/home_my_yard/templates/visualruby/tags/html/see.erb +8 -0
- data/home_my_yard/templates/visualruby/tags/html/tag.erb +20 -0
- data/home_my_yard/templates/visualruby/tags/setup.rb +55 -0
- data/home_my_yard/templates/visualruby/tags/text/example.erb +12 -0
- data/home_my_yard/templates/visualruby/tags/text/index.erb +1 -0
- data/home_my_yard/templates/visualruby/tags/text/option.erb +20 -0
- data/home_my_yard/templates/visualruby/tags/text/overload.erb +19 -0
- data/home_my_yard/templates/visualruby/tags/text/see.erb +11 -0
- data/home_my_yard/templates/visualruby/tags/text/tag.erb +13 -0
- data/home_my_yard/themes/visualruby.yaml +36 -0
- data/install.md +11 -0
- data/my_yard +31 -0
- data/my_yard.gemspec +20 -0
- data/src/GlobalSettings.rb +22 -0
- data/src/MyYard.rb +195 -0
- data/src/YardTheme.rb +77 -0
- data/src/YardThemeDefaults.rb +100 -0
- data/src/glade/MyYard.glade +595 -0
- data/src/glade/MyYard.glade~ +595 -0
- data/src/glade/YardTheme.glade +791 -0
- data/src/glade/YardTheme.glade~ +812 -0
- data/style.css +474 -0
- metadata +224 -0
data/my_yard.gemspec
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Gem::Specification.new do |s|
|
|
2
|
+
s.name = "my_yard" # i.e. visualruby. This name will show up in the gem list.
|
|
3
|
+
s.version = "0.0.1" # i.e. (major,non-backwards compatable).(backwards compatable).(bugfix)
|
|
4
|
+
s.add_dependency "visualruby", ">= 3.0.20"
|
|
5
|
+
s.add_dependency "yard", "= 0.9.0"
|
|
6
|
+
s.has_rdoc = false
|
|
7
|
+
s.authors = ["Eric Cunningham"]
|
|
8
|
+
s.email = "beagle4321_2000@yahoo.com" # optional
|
|
9
|
+
s.summary = "Great GUI for generating docs with Yard." # optional
|
|
10
|
+
s.homepage = "http://visualruby.net/" # optional
|
|
11
|
+
s.description = "This program offers a great way to generate docs with yard. " +
|
|
12
|
+
"It has a GUI so you don't need to use all the command line parameters. " +
|
|
13
|
+
"To see an example of the output, visit http://visualruby.net"
|
|
14
|
+
s.executables = ['my_yard'] # i.e. 'vr' (optional, blank if library project)
|
|
15
|
+
s.default_executable = 'my_yard' # i.e. 'vr' (optional, blank if library project)
|
|
16
|
+
s.bindir = ['.'] # optional, default = bin
|
|
17
|
+
# s.require_paths = ['lib'] # optional, default = lib
|
|
18
|
+
s.files = Dir.glob("**/*")
|
|
19
|
+
s.rubyforge_project = "nowarning" # supress warning message
|
|
20
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
class GlobalSettings
|
|
3
|
+
|
|
4
|
+
include GladeGUI
|
|
5
|
+
|
|
6
|
+
attr_accessor :browser, :projects, :theme_root, :template_root
|
|
7
|
+
|
|
8
|
+
def defaults
|
|
9
|
+
@browser ||= "firefox"
|
|
10
|
+
@projects ||= []
|
|
11
|
+
@theme_root = File.join(Dir.home, "my_yard", "themes")
|
|
12
|
+
@template_root = File.join(Dir.home, "my_yard", "templates")
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def add_project(proj_path)
|
|
16
|
+
unless @projects.include?(proj_path)
|
|
17
|
+
@projects << proj_path
|
|
18
|
+
VR::save_yaml(self)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
data/src/MyYard.rb
ADDED
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
|
|
2
|
+
class MyYard
|
|
3
|
+
|
|
4
|
+
include GladeGUI
|
|
5
|
+
|
|
6
|
+
def initialize
|
|
7
|
+
defaults
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def defaults
|
|
11
|
+
@project_root = $open_project
|
|
12
|
+
@output_dir ||= "doc"
|
|
13
|
+
@theme = "default" if @theme.nil? or !File.exist?(File.join($env.theme_root, @theme + ".yaml"))
|
|
14
|
+
@template ||= "default"
|
|
15
|
+
@files ||= "*/**/*.rb */**/*.c"
|
|
16
|
+
@extra_files ||= "*/**/*.md"
|
|
17
|
+
@exclude ||= ""
|
|
18
|
+
@include_public = true if @include_public.nil? # ||= no good on this one
|
|
19
|
+
@include_private ||= false
|
|
20
|
+
@include_protected ||= false
|
|
21
|
+
@include_private_tag ||= false
|
|
22
|
+
@title ||= "Generated with Yard 0.8.7.6"
|
|
23
|
+
@main ||= "README.md"
|
|
24
|
+
@export_db = true if @export_db.nil?
|
|
25
|
+
@export_db_path ||= ".yardoc"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def before_show()
|
|
29
|
+
fill_combo_boxes
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def buttonGenerate__clicked(*args)
|
|
33
|
+
save_state
|
|
34
|
+
args = []
|
|
35
|
+
@files.split.each { |glob| args << glob }
|
|
36
|
+
if @extra_files.strip != ""
|
|
37
|
+
args << "--files"
|
|
38
|
+
args << @extra_files
|
|
39
|
+
end
|
|
40
|
+
args << "--private" if @include_private
|
|
41
|
+
args << "--no-public" if !@include_public
|
|
42
|
+
args << "--protected" if @include_protected
|
|
43
|
+
args << "--no-private" if !@include_private_tag
|
|
44
|
+
args << "--output-dir"
|
|
45
|
+
args << @output_dir
|
|
46
|
+
args << "--title"
|
|
47
|
+
args << @title
|
|
48
|
+
if @exclude.strip != ""
|
|
49
|
+
args << "--exclude"
|
|
50
|
+
args << @exclude
|
|
51
|
+
end
|
|
52
|
+
if @main.strip != ""
|
|
53
|
+
args << "--main"
|
|
54
|
+
args << @main
|
|
55
|
+
end
|
|
56
|
+
if @template != "default"
|
|
57
|
+
args << "--template-path"
|
|
58
|
+
args << $env.template_root
|
|
59
|
+
args << "--template"
|
|
60
|
+
args << @template
|
|
61
|
+
end
|
|
62
|
+
if @export_db and @export_db_path.strip != ""
|
|
63
|
+
args << "--db"
|
|
64
|
+
args << @export_db_path
|
|
65
|
+
else
|
|
66
|
+
args << "--no-save"
|
|
67
|
+
end
|
|
68
|
+
if File.directory?(@project_root) and @project_root != ENV["HOME"]
|
|
69
|
+
YARD::Registry.clear
|
|
70
|
+
YARD::Templates::ErbCache.clear!
|
|
71
|
+
old_dir = Dir.pwd
|
|
72
|
+
FileUtils.cd(@project_root)
|
|
73
|
+
YARD::CLI::Yardoc.run(*args)
|
|
74
|
+
FileUtils.cd(old_dir)
|
|
75
|
+
else
|
|
76
|
+
alert "Invalid Project Folder.", parent: self
|
|
77
|
+
end
|
|
78
|
+
if @theme != "default"
|
|
79
|
+
css = VR::load_yaml(YardTheme, File.join($env.theme_root, @theme + ".yaml"))
|
|
80
|
+
css.export_to(File.join(@project_root, @output_dir, "css", "common.css"))
|
|
81
|
+
# $default_theme.export_to(File.join(@project_root, @output_dir, "css", "common.css"))
|
|
82
|
+
else
|
|
83
|
+
File.delete(File.join(@project_root, @output_dir, "css", "common.css"))
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def project_root__changed(*a)
|
|
88
|
+
return unless @builder[:project_root].model.count == $env.projects.size
|
|
89
|
+
return if @builder[:project_root].active_text == $open_project
|
|
90
|
+
save_state
|
|
91
|
+
$open_project = @builder[:project_root].active_text
|
|
92
|
+
@builder[:window1].destroy
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def fill_combo_boxes()
|
|
96
|
+
@builder[:template].append_text "default"
|
|
97
|
+
glob = File.join($env.template_root, "*/")
|
|
98
|
+
Dir.glob(glob).each do |path|
|
|
99
|
+
@builder[:template].append_text File.basename(path)
|
|
100
|
+
end
|
|
101
|
+
fill_themes
|
|
102
|
+
$env.projects.each do |path|
|
|
103
|
+
@builder[:project_root].append_text path
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def fill_themes()
|
|
108
|
+
@builder[:theme].model.clear
|
|
109
|
+
glob = File.join($env.theme_root, "*.yaml")
|
|
110
|
+
Dir.glob(glob).each do |path|
|
|
111
|
+
@builder[:theme].append_text File.basename(path, ".*")
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def buttonEditTheme__clicked(*a)
|
|
116
|
+
get_glade_variables
|
|
117
|
+
file = File.join($env.theme_root, @theme + ".yaml")
|
|
118
|
+
win = VR::load_yaml(YardTheme, file)
|
|
119
|
+
win.show_glade(self)
|
|
120
|
+
fill_themes
|
|
121
|
+
set_glade_variables # select theme again
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def buttonOpenProject__clicked(*a)
|
|
125
|
+
if folder = alert("Enter folder to open:",
|
|
126
|
+
parent: self, input_text: Dir.home + "/",
|
|
127
|
+
headline: "Open Folder", button_yes: "Open",
|
|
128
|
+
button_no: "Cancel")
|
|
129
|
+
if File.directory?(folder)
|
|
130
|
+
save_state
|
|
131
|
+
$open_project = folder
|
|
132
|
+
@builder[:window1].destroy
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def buttonBrowse__clicked(*a)
|
|
138
|
+
save_state
|
|
139
|
+
begin
|
|
140
|
+
IO.popen("#{$env.browser} #{File.join(@project_root, @output_dir, @main)}")
|
|
141
|
+
rescue
|
|
142
|
+
if answer = alert("Enter command to start your browser:", parent: self, input_text: $env.browser)
|
|
143
|
+
$env.browser = answer
|
|
144
|
+
VR::save_yaml($env)
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def buttonDeleteProject__clicked(*a)
|
|
150
|
+
if alert("This will delete this project:\n<b>#{@project_root}</b>\nDo you want to continue?",
|
|
151
|
+
button_yes: "Delete",
|
|
152
|
+
button_no: "Cancel",
|
|
153
|
+
parent: self,
|
|
154
|
+
headline: "Delete This Project?")
|
|
155
|
+
$env.projects.delete(@project_root)
|
|
156
|
+
VR::save_yaml($env)
|
|
157
|
+
FileUtils.rm_rf File.join(@project_root, ".yardoc", "my_yard.yaml")
|
|
158
|
+
$open_project = $env.projects.empty? ? :exit : $env.projects[0]
|
|
159
|
+
@builder[:window1].destroy
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def buttonDeleteTheme__clicked(*a)
|
|
164
|
+
get_glade_variables
|
|
165
|
+
return if @theme == "default"
|
|
166
|
+
if alert "Delete theme: <b>#{@theme}</b>?", parent:self, button_no: "Cancel"
|
|
167
|
+
theme = File.join($env.theme_root, "#{@theme}.yaml")
|
|
168
|
+
File.delete(theme)
|
|
169
|
+
@theme = "default"
|
|
170
|
+
fill_themes
|
|
171
|
+
set_glade_variables
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def window1__delete_event(*a)
|
|
176
|
+
save_state
|
|
177
|
+
$open_project = :exit
|
|
178
|
+
return false
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
def buttonCancel__clicked(*a)
|
|
182
|
+
save_state
|
|
183
|
+
$open_project = :exit
|
|
184
|
+
super
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
def save_state
|
|
189
|
+
get_glade_variables
|
|
190
|
+
@project_root = $open_project
|
|
191
|
+
VR::save_yaml(self)
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
end
|
|
195
|
+
|
data/src/YardTheme.rb
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
class YardTheme
|
|
2
|
+
|
|
3
|
+
include GladeGUI
|
|
4
|
+
include YardThemeDefaults
|
|
5
|
+
|
|
6
|
+
attr_accessor :css
|
|
7
|
+
|
|
8
|
+
def initialize()
|
|
9
|
+
defaults
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def before_show
|
|
13
|
+
theme = File.basename(@vr_yaml_file, ".*")
|
|
14
|
+
if theme == "default"
|
|
15
|
+
alert "The default theme can't be edited. Make a clone of it, and edit the clone.",
|
|
16
|
+
parent: self, width: 300
|
|
17
|
+
end
|
|
18
|
+
@builder[:headline].label = "<big>Theme: #{theme} </big>"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def export_to(file)
|
|
22
|
+
File.open(file, "w") { |f| f.puts to_css }
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def to_css
|
|
26
|
+
maps
|
|
27
|
+
out = import_google_font("h1")
|
|
28
|
+
out += import_google_font("h2")
|
|
29
|
+
out += import_google_font("h3")
|
|
30
|
+
@css.each do |key, val|
|
|
31
|
+
if val.strip != "" # and val != $default_theme.css[key]
|
|
32
|
+
val = "'#{val}'" if key.include?("{font-family}") # quotes around font names
|
|
33
|
+
out = out + key.gsub("}", ": #{val};" ) + "}\n"
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
return out
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def import_google_font(tag)
|
|
40
|
+
out = ""
|
|
41
|
+
font = @css["#{tag} {font-family}"]
|
|
42
|
+
weight = @css["#{tag} {font-weight}"].strip == "" ? "" : ":" + @css["#{tag} {font-weight}"]
|
|
43
|
+
out += "@import url('https://fonts.googleapis.com/css?family=#{font.gsub(' ', '+')}#{weight}');\n"
|
|
44
|
+
return out
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def buttonClone__clicked(*a)
|
|
48
|
+
if clone = alert("This will make a clone of this theme. " +
|
|
49
|
+
"Enter the name of the new theme without any extension (only letters and underscores).",
|
|
50
|
+
headline: "Clone Theme",
|
|
51
|
+
button_no: "Cancel",
|
|
52
|
+
input_text: "",
|
|
53
|
+
width: 350,
|
|
54
|
+
parent: self)
|
|
55
|
+
# todo lowercase, strip, replace everything except letters, numbers and underscores.
|
|
56
|
+
path = File.join($env.theme_root, clone + ".yaml")
|
|
57
|
+
if File.exists?(path)
|
|
58
|
+
alert "The file, <b>#{clone}</b> already exists.", parent: self
|
|
59
|
+
else
|
|
60
|
+
get_glade_variables
|
|
61
|
+
VR::save_yaml(self, path)
|
|
62
|
+
@builder[:headline].label = "Theme: #{clone}"
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def window1__destroy(*a)
|
|
68
|
+
save_state if File.exist?(@vr_yaml_file) # maybe deleted
|
|
69
|
+
super
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def save_state
|
|
73
|
+
get_glade_variables
|
|
74
|
+
VR::save_yaml(self)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
end
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
## list of css defaults
|
|
2
|
+
#
|
|
3
|
+
|
|
4
|
+
module YardThemeDefaults
|
|
5
|
+
|
|
6
|
+
def defaults
|
|
7
|
+
@css ||= {}
|
|
8
|
+
|
|
9
|
+
# covers table text, paragraph text
|
|
10
|
+
@css["body {color}"] ||= "#000000"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# #main background (middle doc)
|
|
14
|
+
@css["#main {background}"] ||= "#ffffff" #ffffff
|
|
15
|
+
|
|
16
|
+
# background for full list. the even/odd backgrounds cover top, this is bottom.
|
|
17
|
+
@css["body {background-color}"] ||= "#ffffff" #"#ffffff"
|
|
18
|
+
@css["body {font-size}"] ||= "13px"
|
|
19
|
+
@css["#main p {width}"] ||= "65%"
|
|
20
|
+
|
|
21
|
+
# colors full list links, method summary links
|
|
22
|
+
@css["#main a, #main a:visited {color}"] ||= "#600" #05a; }
|
|
23
|
+
# yellow hilight hover for list items, show all, collapse, view source
|
|
24
|
+
@css["#main a:hover {background}"] ||= "#ffffa5" #ffffa5
|
|
25
|
+
|
|
26
|
+
# colors item summary links, collapse, show all, view source
|
|
27
|
+
# @css[".summary_desc .object_link a, .docstring .object_link a {color}"] ||= "#0055aa" #0055aa
|
|
28
|
+
|
|
29
|
+
# full list backgrounds
|
|
30
|
+
@css[".object_link a {color}"] ||= "#0055aa"
|
|
31
|
+
@css["li.odd {background}"] ||= "#f0f0f0" #f0f0f0
|
|
32
|
+
@css["li.even {background}"] ||= "#fafafa" #fafafa
|
|
33
|
+
@css[".item:hover {background}"] ||= "#dddddd" #ddd
|
|
34
|
+
|
|
35
|
+
# background color of the selected item in list
|
|
36
|
+
@css["li.clicked > .item {background}"] ||= "#0055aa" #05a;
|
|
37
|
+
@css["li.clicked > .item {color}"] ||= "#fafafa"
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# colors text below method summary and changes gray object names in full_list, don't set it.
|
|
41
|
+
# @css["li {color}"] = "#ca0"
|
|
42
|
+
|
|
43
|
+
# gray superclass in list
|
|
44
|
+
#@css["li.clicked > .item {color}"] = "#00ffff" #ccc;
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
# controls background of expand/collapse. don't use.
|
|
48
|
+
#@css["h2 small a {background}"] ||= "#fbb" #"#f8f8f8"
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
# unknown
|
|
53
|
+
# @css["h2 small a {background}"] ||= "#ffa" # "#f8f8f8"
|
|
54
|
+
# @css[".docstring p > code, .docstring p > tt, .tags p > code, .tags p > tt{color}"] = "#7a7" # "#c7254e"
|
|
55
|
+
# @css[".docstring p > code, .docstring p > tt, .tags p > code, .tags p > tt{background}"] = "#6f0" # "#f9f2f4"
|
|
56
|
+
# @css["a, a:visited {color}"] = "#c7a" #05a;
|
|
57
|
+
|
|
58
|
+
# @css["h2 small a {background}"] ||= "#bbf" #"#f8f8f8"
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
# headline page
|
|
62
|
+
@css["h1 {font-family}"] ||= "Assistant"
|
|
63
|
+
@css["h2 {font-family}"] ||= "Raleway"
|
|
64
|
+
@css["h3 {font-family}"] ||= "Rubik One" #"Anonymous Pro"
|
|
65
|
+
@css["h1 {font-weight}"] ||= "200"
|
|
66
|
+
@css["h2 {font-weight}"] ||= "300"
|
|
67
|
+
@css["h3 {font-weight}"] ||= ""
|
|
68
|
+
@css["h1 {font-size}"] ||= "3em"
|
|
69
|
+
@css["h2 {font-size}"] ||= "1.4em"
|
|
70
|
+
@css["h3 {font-size}"] ||= "1.4em"
|
|
71
|
+
@css["h1 {color}"] ||= "#662211"
|
|
72
|
+
@css["h2 {color}"] ||= "#000000"
|
|
73
|
+
@css["h3 {color}"] ||= "#000000"
|
|
74
|
+
@css["h1 {background}"] ||= "#fff"
|
|
75
|
+
@css["h2 {background}"] ||= "#fff"
|
|
76
|
+
@css["h3 {background}"] ||= "#fff"
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
# table of contents
|
|
81
|
+
@css["#toc {background-color}"] ||= "#fee"
|
|
82
|
+
|
|
83
|
+
# @css[".summary .summary_signature {background}"] = "#faf" # summary of instance methods titles
|
|
84
|
+
@css["p.signature, h3.signature {background}"] = "#0a6" #tit
|
|
85
|
+
|
|
86
|
+
# List of links:
|
|
87
|
+
# class = "summary_toggle" is class used for "collapse"
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def maps
|
|
91
|
+
# summary of instance methods titles
|
|
92
|
+
@css[".summary .summary_signature {background}"] = @css["h3 {background}"]
|
|
93
|
+
# titles over instance method, attr details
|
|
94
|
+
@css["p.signature, h3.signature {background}"] = @css["h3 {background}"]
|
|
95
|
+
#maps the hilighted color of the method, class or file to the same color as object in parentasis in sidebar
|
|
96
|
+
@css["li.clicked > .item a, li.clicked > .item a:visited {color}"] = @css["li.clicked > .item {color}"]
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
end
|