github-to-canvas 0.0.50 → 0.0.51

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ba8cddad977922a78eb9b92bfac62731ab851e927b906775783a1b18335be82
4
- data.tar.gz: acbed2faf13bd447c49b1f4c92730bd02f7862e0ac5bf5fe20ae21bc946cea29
3
+ metadata.gz: 4dd3ab1c6c19565bf5e03e674831589f0ab407f65afeb3cc6aadf14c28c2dfa7
4
+ data.tar.gz: ba9661ec0bc2824d6d42fecf0c904232a2cc323c1dedc4803dafc7347959e992
5
5
  SHA512:
6
- metadata.gz: 88222800def52566c6d676435a25b144989be96af8fb66968ad5838a851403d063204162a48fc66e1ce57db5a9313a0ad080a40bc5487f775c709bc41ad5d19d
7
- data.tar.gz: 925a2f22bd80be3003b3b3338114e270cd97997bfbd3f03f0b56b370b6bf95289fc7ef09fd890af2040eac0a0343b2a029abfd937a36e29af9d2ee7dd2bea80c
6
+ metadata.gz: ababba4146ccb17bdd7779600697d964b13f7a86827fcb3b6ecb05fdcea8cb34b4ab6153f994bbce8dc4c6b42acb45793f3b2eabff787a5161b664ba2b183282
7
+ data.tar.gz: ed1939d585348330f4c7e39f66485093de9ef9f7af359ae55830e447a567040de97b4ad754d93a6a7a50ef910c181cf5933f0c0f48bbd02265ca8eea0df7961d
data/bin/github-to-canvas CHANGED
@@ -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("--fork",
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]
@@ -177,7 +182,8 @@ if options[:create_lesson]
177
182
  save_to_github: !!options[:save_to_github],
178
183
  fis_links: !!options[:fis],
179
184
  remove_header_and_footer: !!options[:remove_header_and_footer],
180
- only_update_content: !!options[:only_content])
185
+ only_update_content: !!options[:only_content]),
186
+ forkable: !!options[:forkable]
181
187
  end
182
188
 
183
189
  if options[:align]
@@ -192,5 +198,6 @@ if options[:align]
192
198
  save_to_github: !!options[:save_to_github],
193
199
  fis_links: !!options[:fis],
194
200
  remove_header_and_footer: !!options[:remove_header_and_footer],
195
- only_update_content: !!options[:only_content])
201
+ only_update_content: !!options[:only_content]),
202
+ forkable: !!options[:forkable]
196
203
  end
@@ -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
+ }
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.51"
3
3
  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
 
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.51
5
5
  platform: ruby
6
6
  authors:
7
7
  - maxwellbenton