github-to-canvas 0.0.24 → 0.0.25
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/bin/github-to-canvas +7 -7
- data/lib/github-to-canvas.rb +3 -3
- data/lib/github-to-canvas/create_canvas_lesson.rb +4 -4
- data/lib/github-to-canvas/repository_converter.rb +17 -11
- data/lib/github-to-canvas/update_canvas_lesson.rb +4 -4
- data/lib/github-to-canvas/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4ebf48161f0c0ac7ad012460961650eba100d006aa84a945a863278238a27a5
|
4
|
+
data.tar.gz: 1316e7036aa3032cbe4fa0d883b32f9c2bb142f585915d3045acbcb884e326b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7005054aae77a3c0212c6be57e9ecd1a6c6066d3882a25ef2fef6bafd96abf71b2ad2283bde23a80830379adfffb5dd56913d56709d8ed4ecd9b4c7aa5a745f
|
7
|
+
data.tar.gz: d3516690ddcbec8c8df013530c399a38f8d8ddb4f69513385dc1339eb1a04dac141446931000a6aa37daea1b74905fafa8793657107aea9075d41c1d6bf1d988
|
data/bin/github-to-canvas
CHANGED
@@ -19,7 +19,7 @@ OptionParser.new do |opts|
|
|
19
19
|
github-to-canvas --create COURSE [--branch BRANCH] [--name NAME] [--type TYPE]
|
20
20
|
github-to-canvas --create COURSE [--dry-run]
|
21
21
|
github-to-canvas --create COURSE [--fis-links]
|
22
|
-
github-to-canvas --create COURSE [--fis-links] [--remove-header]
|
22
|
+
github-to-canvas --create COURSE [--fis-links] [--remove-header-and-footer]
|
23
23
|
github-to-canvas --align
|
24
24
|
github-to-canvas --align [--branch BRANCH]
|
25
25
|
github-to-canvas --align [--branch BRANCH] [--fis-links]
|
@@ -37,7 +37,7 @@ OptionParser.new do |opts|
|
|
37
37
|
github-to-canvas --create 154 --name "Fetch Lab" --branch solution -> Creates a lesson in course 154 with the provided name, uses the repository's solution branch and derives the type from the local repo
|
38
38
|
github-to-canvas --align -> Patches existing lessons in Canvas based on the .canvas file
|
39
39
|
github-to-canvas --align --fis-links -> Patches existing lessons in Canvas based on the .canvas file, adds addition Flatiron School specific HTML
|
40
|
-
github-to-canvas --align --remove-header -> Patches existing lessons in Canvas based on the .canvas file, removes top lesson header before converting to HTML
|
40
|
+
github-to-canvas --align --remove-header-and-footer -> Patches existing lessons in Canvas based on the .canvas file, removes top lesson header before converting to HTML
|
41
41
|
|
42
42
|
EOBANNER
|
43
43
|
|
@@ -79,9 +79,9 @@ OptionParser.new do |opts|
|
|
79
79
|
"Adds additional Flatiron School HTML after markdown conversion") do |f|
|
80
80
|
options[:fis] = true
|
81
81
|
end
|
82
|
-
opts.on("-r", "--remove-header",
|
83
|
-
"Removes top lesson header before converting to HTML") do |r|
|
84
|
-
options[:
|
82
|
+
opts.on("-r", "--remove-header-and-footer",
|
83
|
+
"Removes top lesson header and any Learn.co specific footer links before converting to HTML") do |r|
|
84
|
+
options[:remove_header_and_footer] = true
|
85
85
|
end
|
86
86
|
|
87
87
|
end.parse!
|
@@ -115,7 +115,7 @@ if options[:create]
|
|
115
115
|
type: options[:type],
|
116
116
|
dry: !!options[:dry],
|
117
117
|
fis_links: !!options[:fis],
|
118
|
-
|
118
|
+
remove_header_and_footer: !!options[:remove_header_and_footer])
|
119
119
|
end
|
120
120
|
|
121
121
|
if options[:align]
|
@@ -127,5 +127,5 @@ if options[:align]
|
|
127
127
|
type: options[:type],
|
128
128
|
dry: !!options[:dry],
|
129
129
|
fis_links: !!options[:fis],
|
130
|
-
|
130
|
+
remove_header_and_footer: !!options[:remove_header_and_footer])
|
131
131
|
end
|
data/lib/github-to-canvas.rb
CHANGED
@@ -17,7 +17,7 @@ class GithubToCanvas
|
|
17
17
|
type:"page",
|
18
18
|
dry:false,
|
19
19
|
fis_links:false,
|
20
|
-
|
20
|
+
remove_header_and_footer:false)
|
21
21
|
|
22
22
|
if mode == 'version'
|
23
23
|
puts VERSION
|
@@ -26,12 +26,12 @@ class GithubToCanvas
|
|
26
26
|
|
27
27
|
if mode == 'create'
|
28
28
|
puts "github-to-canvas will now create a Canvas lesson based on the current repo"
|
29
|
-
CreateCanvasLesson.new(course, filepath, branch, name, type, dry, fis_links,
|
29
|
+
CreateCanvasLesson.new(course, filepath, branch, name, type, dry, fis_links, remove_header_and_footer)
|
30
30
|
end
|
31
31
|
|
32
32
|
if mode == 'align'
|
33
33
|
puts "github-to-canvas will now align any existing Canvas lessons based on the current repo. NOTE: .canvas file must be present"
|
34
|
-
UpdateCanvasLesson.new(filepath, branch, name, type, dry, fis_links,
|
34
|
+
UpdateCanvasLesson.new(filepath, branch, name, type, dry, fis_links, remove_header_and_footer)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -1,18 +1,18 @@
|
|
1
1
|
class CreateCanvasLesson
|
2
2
|
|
3
|
-
def initialize(course, filepath, branch, name, type, dry_run, fis_links,
|
3
|
+
def initialize(course, filepath, branch, name, type, dry_run, fis_links, remove_header_and_footer)
|
4
4
|
name = name.split(/[- _]/).map(&:capitalize).join(' ')
|
5
5
|
original_readme = File.read("#{filepath}/README.md")
|
6
6
|
if !original_readme
|
7
7
|
puts 'README.md not found in current directory. Exiting...'
|
8
8
|
abort
|
9
9
|
end
|
10
|
-
create_canvas_lesson(original_readme, course, filepath, branch, name, type, dry_run, fis_links,
|
10
|
+
create_canvas_lesson(original_readme, course, filepath, branch, name, type, dry_run, fis_links, remove_header_and_footer)
|
11
11
|
end
|
12
12
|
|
13
|
-
def create_canvas_lesson(readme, course, filepath, branch, name, type, dry_run, fis_links,
|
13
|
+
def create_canvas_lesson(readme, course, filepath, branch, name, type, dry_run, fis_links, remove_header_and_footer)
|
14
14
|
GithubInterface.get_updated_repo(filepath, branch)
|
15
|
-
new_readme = RepositoryConverter.convert(filepath, readme, branch,
|
15
|
+
new_readme = RepositoryConverter.convert(filepath, readme, branch, remove_header_and_footer)
|
16
16
|
if fis_links
|
17
17
|
new_readme = RepositoryConverter.add_fis_links(filepath, new_readme)
|
18
18
|
end
|
@@ -1,17 +1,21 @@
|
|
1
1
|
require 'redcarpet'
|
2
|
-
require 'byebug'
|
3
2
|
class RepositoryConverter
|
4
3
|
|
5
|
-
def self.convert(filepath, readme, branch,
|
6
|
-
if
|
7
|
-
self.remove_header(readme)
|
4
|
+
def self.convert(filepath, readme, branch, remove_header_and_footer)
|
5
|
+
if remove_header_and_footer
|
6
|
+
readme = self.remove_header(readme)
|
7
|
+
readme = self.remove_footer(readme)
|
8
8
|
end
|
9
9
|
self.fix_local_images(filepath, readme, branch)
|
10
10
|
self.convert_to_html(filepath, readme)
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.remove_header(readme)
|
14
|
-
readme.gsub
|
14
|
+
readme.gsub(/^# .+\n\n/,"")
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.remove_footer(readme)
|
18
|
+
readme.gsub(/<p (.+?)<\/p>/,"")
|
15
19
|
end
|
16
20
|
|
17
21
|
def self.fix_local_images(filepath, readme, branch)
|
@@ -69,12 +73,14 @@ class RepositoryConverter
|
|
69
73
|
|
70
74
|
def self.add_fis_links(filepath, readme)
|
71
75
|
repo = self.get_repo_url(filepath)
|
72
|
-
github_repo_link = "<a
|
73
|
-
github_issue_link = "<a
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
76
|
+
github_repo_link = "<a class='fis-git-link' href='#{repo}' target='_blank' rel='noopener'><img id='repo-img' title='Open GitHub Repo' alt='GitHub Repo' /></a>"
|
77
|
+
github_issue_link = "<a class='fis-git-link' href='#{repo}/issues/new' target='_blank' rel='noopener'><img id='issue-img' title='Create New Issue' alt='Create New Issue' /></a>"
|
78
|
+
thumbs_up_link = "<a id='thumbs-up' data-repository='#{repo.split('/')[-1]}'><img title='Thumbs up!' alt='thumbs up' /></a>"
|
79
|
+
thumbs_down_link = "<a id='thumbs-down' data-repository='#{repo.split('/')[-1]}'><img title='Thumbs down!' alt='thumbs down' /></a>"
|
80
|
+
feedback_link = "<h5>Have specific feedback? <a href='#{repo}/issues/new'>Tell us here!</a></h5>"
|
81
|
+
header = "<header class='fis-header' style='visibility: hidden;'>#{github_repo_link}#{github_issue_link}</header>"
|
82
|
+
footer = "<footer class='fis-footer' style='visibility: hidden;'><div class='fis-feedback'><h5>How do you feel about this lesson?</h5>#{thumbs_up_link}#{thumbs_down_link}</div>#{feedback_link}</footer>"
|
83
|
+
header + readme + footer
|
78
84
|
end
|
79
85
|
|
80
86
|
end
|
@@ -1,18 +1,18 @@
|
|
1
1
|
class UpdateCanvasLesson
|
2
2
|
|
3
|
-
def initialize(filepath, branch, name, type, dry_run, fis_links,
|
3
|
+
def initialize(filepath, branch, name, type, dry_run, fis_links, remove_header_and_footer)
|
4
4
|
name = name.split(/[- _]/).map(&:capitalize).join(' ')
|
5
5
|
readme = File.read("#{filepath}/README.md")
|
6
6
|
if !readme
|
7
7
|
puts 'README.md not found in current directory. Exiting...'
|
8
8
|
abort
|
9
9
|
end
|
10
|
-
update_canvas_lesson(readme, filepath, branch, name, type, dry_run, fis_links,
|
10
|
+
update_canvas_lesson(readme, filepath, branch, name, type, dry_run, fis_links, remove_header_and_footer)
|
11
11
|
end
|
12
12
|
|
13
|
-
def update_canvas_lesson(readme, filepath, branch, name, type, dry_run, fis_links,
|
13
|
+
def update_canvas_lesson(readme, filepath, branch, name, type, dry_run, fis_links, remove_header_and_footer)
|
14
14
|
GithubInterface.get_updated_repo(filepath, branch)
|
15
|
-
new_readme = RepositoryConverter.convert(filepath, readme, branch,
|
15
|
+
new_readme = RepositoryConverter.convert(filepath, readme, branch, remove_header_and_footer)
|
16
16
|
if fis_links
|
17
17
|
new_readme = RepositoryConverter.add_fis_links(filepath, new_readme)
|
18
18
|
end
|