github-to-canvas 0.0.50 → 0.0.55

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ba8cddad977922a78eb9b92bfac62731ab851e927b906775783a1b18335be82
4
- data.tar.gz: acbed2faf13bd447c49b1f4c92730bd02f7862e0ac5bf5fe20ae21bc946cea29
3
+ metadata.gz: 735438dfea3e2a7aebf8266ab9ad15959cb9a9355f1f1355f2ca421773355b2a
4
+ data.tar.gz: 27af813a14adfd81bc7591e99681d3da575d5245fb3d1bad6596c77a9159a5af
5
5
  SHA512:
6
- metadata.gz: 88222800def52566c6d676435a25b144989be96af8fb66968ad5838a851403d063204162a48fc66e1ce57db5a9313a0ad080a40bc5487f775c709bc41ad5d19d
7
- data.tar.gz: 925a2f22bd80be3003b3b3338114e270cd97997bfbd3f03f0b56b370b6bf95289fc7ef09fd890af2040eac0a0343b2a029abfd937a36e29af9d2ee7dd2bea80c
6
+ metadata.gz: 80675ba304508aa284fb025c13004e7dea0d9914b61473ac05ebb389246fa906449b08834b37801484bd8e3d222257bb82a36847d559a506125ea58a70bfa642
7
+ data.tar.gz: 9e4f51c226aebee9d762106639e5299a7ee6eb69b0307e77626bb0f8e1db23a37ed8b2eb69ee4ca4aafe35de07985c1a8979ff5e0fe07c9fa175f23397ef3c25
@@ -84,6 +84,10 @@ OptionParser.new do |opts|
84
84
  "Adds additional Flatiron School HTML after markdown conversion") do |f|
85
85
  options[:fis] = true
86
86
  end
87
+ opts.on("--forkable",
88
+ "Used with --fis-links, adds fork button to HTML header injected into Canvas lesson") do |remote|
89
+ options[:forkable] = true
90
+ end
87
91
  opts.on("-r", "--remove-header-and-footer",
88
92
  "Removes top lesson header and any Learn.co specific footer links before converting to HTML") do |r|
89
93
  options[:remove_header_and_footer] = true
@@ -109,6 +113,7 @@ OptionParser.new do |opts|
109
113
  options[:remote] = true
110
114
  end
111
115
 
116
+
112
117
  end.parse!
113
118
 
114
119
  if options[:version]
@@ -130,6 +135,7 @@ end
130
135
  if !options[:type]
131
136
  if Dir.glob("**/*/").empty?
132
137
  options[:type] = "page"
138
+ options[:forkable] = false
133
139
  else
134
140
  options[:type] = "assignment"
135
141
  end
@@ -177,7 +183,8 @@ if options[:create_lesson]
177
183
  save_to_github: !!options[:save_to_github],
178
184
  fis_links: !!options[:fis],
179
185
  remove_header_and_footer: !!options[:remove_header_and_footer],
180
- only_update_content: !!options[:only_content])
186
+ only_update_content: !!options[:only_content],
187
+ forkable: !!options[:forkable])
181
188
  end
182
189
 
183
190
  if options[:align]
@@ -192,5 +199,6 @@ if options[:align]
192
199
  save_to_github: !!options[:save_to_github],
193
200
  fis_links: !!options[:fis],
194
201
  remove_header_and_footer: !!options[:remove_header_and_footer],
195
- only_update_content: !!options[:only_content])
202
+ only_update_content: !!options[:only_content],
203
+ forkable: !!options[:forkable])
196
204
  end
@@ -19,7 +19,8 @@ class GithubToCanvas
19
19
  save_to_github:false,
20
20
  fis_links:false,
21
21
  remove_header_and_footer:false,
22
- only_update_content: false)
22
+ only_update_content: false,
23
+ forkable: false)
23
24
 
24
25
  if mode == 'version'
25
26
  puts VERSION
@@ -43,12 +44,12 @@ class GithubToCanvas
43
44
 
44
45
  if mode == 'create'
45
46
  puts "github-to-canvas will now create a Canvas lesson based on the current repo"
46
- CreateCanvasLesson.new(course, filepath, file_to_convert, branch, name, type, save_to_github, fis_links, remove_header_and_footer)
47
+ CreateCanvasLesson.new(course, filepath, file_to_convert, branch, name, type, save_to_github, fis_links, remove_header_and_footer, forkable)
47
48
  end
48
49
 
49
50
  if mode == 'align'
50
51
  puts "github-to-canvas will now align any existing Canvas lessons based on the current repo. NOTE: .canvas file must be present"
51
- UpdateCanvasLesson.new(course, filepath, file_to_convert, branch, name, type, save_to_github, fis_links, remove_header_and_footer, only_update_content, id)
52
+ UpdateCanvasLesson.new(course, filepath, file_to_convert, branch, name, type, save_to_github, fis_links, remove_header_and_footer, only_update_content, id, forkable)
52
53
  end
53
54
  end
54
55
 
@@ -1,6 +1,6 @@
1
1
  class CreateCanvasLesson
2
2
 
3
- def initialize(course, filepath, file_to_convert, branch, name, type, save_to_github, fis_links, remove_header_and_footer)
3
+ def initialize(course, filepath, file_to_convert, branch, name, type, save_to_github, fis_links, remove_header_and_footer, forkable)
4
4
  # name = name.split(/[- _]/).map(&:capitalize).join(' ')
5
5
  begin
6
6
  markdown = File.read("#{filepath}/#{file_to_convert}")
@@ -8,14 +8,14 @@ class CreateCanvasLesson
8
8
  puts "#{file_to_convert} not found in current directory. Exiting..."
9
9
  abort
10
10
  end
11
- create_canvas_lesson(markdown, course, filepath, branch, name, type, save_to_github, fis_links, remove_header_and_footer)
11
+ create_canvas_lesson(markdown, course, filepath, branch, name, type, save_to_github, fis_links, remove_header_and_footer, forkable)
12
12
  end
13
13
 
14
- def create_canvas_lesson(markdown, course, filepath, branch, name, type, save_to_github, fis_links, remove_header_and_footer)
14
+ def create_canvas_lesson(markdown, course, filepath, branch, name, type, save_to_github, fis_links, remove_header_and_footer, forkable)
15
15
  GithubInterface.get_updated_repo(filepath, branch)
16
16
  new_html = RepositoryConverter.convert(filepath, markdown, branch, remove_header_and_footer)
17
17
  if fis_links
18
- new_html = RepositoryConverter.add_fis_links(filepath, new_html)
18
+ new_html = RepositoryConverter.add_fis_links(filepath, new_html, forkable)
19
19
  end
20
20
  response = CanvasInterface.submit_to_canvas(course, type, name, new_html)
21
21
 
@@ -72,25 +72,28 @@ class RepositoryConverter
72
72
  redcarpet.render(readme)
73
73
  end
74
74
 
75
- def self.add_fis_links(filepath, readme)
75
+ def self.add_fis_links(filepath, readme, forkable)
76
76
  repo_path = self.get_repo_url(filepath)
77
- header = self.create_github_link_header(repo_path)
77
+ header = self.create_github_link_header(repo_path, forkable)
78
78
  header + readme
79
79
  end
80
80
 
81
- def self.create_github_link_header(repo_path)
81
+ def self.create_github_link_header(repo_path, forkable)
82
82
  repo_name = repo_path.split('/')[-1]
83
83
 
84
- # add link to fork (forking handled by separate Flatiron server, generation of link handled via custom Canvas JS theme file)
85
- github_fork_link = "<a class='fis-fork-link' id='fork-link' data-repo='#{repo_name}' href='#' target='_blank' rel='noopener'><img id='fork-img' title='Fork This Assignment' alt='Fork This Assignment' /></a>"
86
-
87
84
  # add link to associated repository
88
85
  # github_repo_link = "<a class='fis-git-link' href='#{repo_path}' target='_blank' rel='noopener'><img id='repo-img' title='Open GitHub Repo' alt='GitHub Repo' /></a>"
89
86
 
90
87
  # add link to new issue form
91
88
  github_issue_link = "<a class='fis-git-link' href='#{repo_path}/issues/new' target='_blank' rel='noopener'><img id='issue-img' title='Create New Issue' alt='Create New Issue' /></a>"
92
89
 
93
- "<header class='fis-header' style='visibility: hidden;'>#{github_fork_link}#{github_issue_link}</header>"
90
+ # add link to fork (forking handled by separate Flatiron server, generation of link handled via custom Canvas JS theme file)
91
+ if (forkable)
92
+ github_fork_link = "<a class='fis-fork-link' id='fork-link' data-repo='#{repo_name}' href='#' target='_blank' rel='noopener'><img id='fork-img' title='Fork This Assignment' alt='Fork This Assignment' /></a>"
93
+ "<header class='fis-header' style='visibility: hidden;'>#{github_fork_link}#{github_issue_link}</header>"
94
+ else
95
+ "<header class='fis-header' style='visibility: hidden;'>#{github_issue_link}</header>"
96
+ end
94
97
  end
95
98
 
96
99
  end
@@ -1,6 +1,6 @@
1
1
  class UpdateCanvasLesson
2
2
 
3
- def initialize(course, filepath, file_to_convert, branch, name, type, save_to_github, fis_links, remove_header_and_footer, only_update_content, id)
3
+ def initialize(course, filepath, file_to_convert, branch, name, type, save_to_github, fis_links, remove_header_and_footer, only_update_content, id, forkable)
4
4
  # name = name.split(/[- _]/).map(&:capitalize).join(' ')
5
5
  begin
6
6
  markdown = File.read("#{filepath}/#{file_to_convert}")
@@ -8,10 +8,10 @@ class UpdateCanvasLesson
8
8
  puts "#{file_to_convert} not found in current directory. Exiting..."
9
9
  abort
10
10
  end
11
- update_canvas_lesson(course, markdown, filepath, branch, name, type, save_to_github, fis_links, remove_header_and_footer, only_update_content, id)
11
+ update_canvas_lesson(course, markdown, filepath, branch, name, type, save_to_github, fis_links, remove_header_and_footer, only_update_content, id, forkable)
12
12
  end
13
13
 
14
- def update_canvas_lesson(course, markdown, filepath, branch, name, type, save_to_github, fis_links, remove_header_and_footer, only_update_content, id)
14
+ def update_canvas_lesson(course, markdown, filepath, branch, name, type, save_to_github, fis_links, remove_header_and_footer, only_update_content, id, forkable)
15
15
  # Pulls any updates that exist on GitHub
16
16
  GithubInterface.get_updated_repo(filepath, branch)
17
17
 
@@ -21,7 +21,7 @@ class UpdateCanvasLesson
21
21
 
22
22
  # adds Flatiron School specific header and footer
23
23
  if fis_links
24
- new_html = RepositoryConverter.add_fis_links(filepath, new_html)
24
+ new_html = RepositoryConverter.add_fis_links(filepath, new_html, forkable)
25
25
  end
26
26
 
27
27
  # Read the local .canvas file if --id <ID> is not used. Otherwise, use provided ID (--course <COURSE> also required)
@@ -1,3 +1,3 @@
1
1
  class GithubToCanvas
2
- VERSION = "0.0.50"
2
+ VERSION = "0.0.55"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-to-canvas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.50
4
+ version: 0.0.55
5
5
  platform: ruby
6
6
  authors:
7
7
  - maxwellbenton