-
-
Notifications
You must be signed in to change notification settings - Fork 85
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
897e8ed
commit 41eee72
Showing
32 changed files
with
465 additions
and
474 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,11 @@ | ||
# frozen_string_literal: true | ||
|
||
source 'https://rubygems.org/' | ||
source "https://rubygems.org/" | ||
|
||
gemspec | ||
|
||
group :benchmark do | ||
gem 'benchmark-ips' | ||
gem 'kramdown' | ||
gem 'redcarpet' | ||
gem "benchmark-ips" | ||
gem "kramdown" | ||
gem "redcarpet" | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,108 +1,109 @@ | ||
# frozen_string_literal: true | ||
|
||
require 'date' | ||
require 'rake/clean' | ||
require 'rake/extensiontask' | ||
require 'digest/md5' | ||
require "date" | ||
require "rake/clean" | ||
require "rake/extensiontask" | ||
require "digest/md5" | ||
|
||
host_os = RbConfig::CONFIG['host_os'] | ||
require 'devkit' if host_os == 'mingw32' | ||
host_os = RbConfig::CONFIG["host_os"] | ||
require "devkit" if host_os == "mingw32" | ||
|
||
task default: [:test] | ||
|
||
# Gem Spec | ||
gem_spec = Gem::Specification.load('commonmarker.gemspec') | ||
gem_spec = Gem::Specification.load("commonmarker.gemspec") | ||
|
||
# Ruby Extension | ||
Rake::ExtensionTask.new('commonmarker', gem_spec) do |ext| | ||
ext.lib_dir = File.join('lib', 'commonmarker') | ||
Rake::ExtensionTask.new("commonmarker", gem_spec) do |ext| | ||
ext.lib_dir = File.join("lib", "commonmarker") | ||
end | ||
|
||
# Packaging | ||
require 'bundler/gem_tasks' | ||
require "bundler/gem_tasks" | ||
|
||
# Testing | ||
require 'rake/testtask' | ||
require "rake/testtask" | ||
|
||
Rake::TestTask.new('test:unit') do |t| | ||
t.libs << 'lib' | ||
t.libs << 'test' | ||
t.pattern = 'test/test_*.rb' | ||
Rake::TestTask.new("test:unit") do |t| | ||
t.libs << "lib" | ||
t.libs << "test" | ||
t.pattern = "test/test_*.rb" | ||
t.verbose = true | ||
t.warning = false | ||
end | ||
|
||
task 'test:unit' => :compile | ||
desc "Run unit tests" | ||
task "test:unit" => :compile | ||
|
||
desc 'Run unit and conformance tests' | ||
task test: %w[test:unit] | ||
desc "Run unit and conformance tests" | ||
task test: ["test:unit"] | ||
|
||
require 'rubocop/rake_task' | ||
require "rubocop/rake_task" | ||
|
||
RuboCop::RakeTask.new(:rubocop) | ||
|
||
desc 'Run benchmarks' | ||
desc "Run benchmarks" | ||
task :benchmark do | ||
if ENV['FETCH_PROGIT'] | ||
`rm -rf test/progit` | ||
`git clone https://github.com/progit/progit.git test/progit` | ||
langs = %w[ar az be ca cs de en eo es es-ni fa fi fr hi hu id it ja ko mk nl no-nb pl pt-br ro ru sr th tr uk vi zh zh-tw] | ||
if ENV["FETCH_PROGIT"] | ||
%x(rm -rf test/progit) | ||
%x(git clone https://github.com/progit/progit.git test/progit) | ||
langs = ["ar", "az", "be", "ca", "cs", "de", "en", "eo", "es", "es-ni", "fa", "fi", "fr", "hi", "hu", "id", "it", "ja", "ko", "mk", "nl", "no-nb", "pl", "pt-br", "ro", "ru", "sr", "th", "tr", "uk", "vi", "zh", "zh-tw"] | ||
langs.each do |lang| | ||
`cat test/progit/#{lang}/*/*.markdown >> test/benchinput.md` | ||
%x(cat test/progit/#{lang}/*/*.markdown >> test/benchinput.md) | ||
end | ||
end | ||
$LOAD_PATH.unshift 'lib' | ||
load 'test/benchmark.rb' | ||
$LOAD_PATH.unshift("lib") | ||
load "test/benchmark.rb" | ||
end | ||
|
||
desc 'Match C style of cmark' | ||
desc "Match C style of cmark" | ||
task :format do | ||
sh 'clang-format -style llvm -i ext/commonmarker/*.c ext/commonmarker/*.h' | ||
sh "clang-format -style llvm -i ext/commonmarker/*.c ext/commonmarker/*.h" | ||
end | ||
|
||
# Documentation | ||
require 'rdoc/task' | ||
require "rdoc/task" | ||
|
||
desc 'Generate API documentation' | ||
desc "Generate API documentation" | ||
RDoc::Task.new do |rd| | ||
rd.rdoc_dir = 'docs' | ||
rd.main = 'README.md' | ||
rd.rdoc_files.include 'README.md', 'lib/**/*.rb', 'ext/commonmarker/commonmarker.c' | ||
|
||
rd.options << '--markup tomdoc' | ||
rd.options << '--inline-source' | ||
rd.options << '--line-numbers' | ||
rd.options << '--all' | ||
rd.options << '--fileboxes' | ||
rd.rdoc_dir = "docs" | ||
rd.main = "README.md" | ||
rd.rdoc_files.include("README.md", "lib/**/*.rb", "ext/commonmarker/commonmarker.c") | ||
|
||
rd.options << "--markup tomdoc" | ||
rd.options << "--inline-source" | ||
rd.options << "--line-numbers" | ||
rd.options << "--all" | ||
rd.options << "--fileboxes" | ||
end | ||
|
||
desc 'Generate the documentation and run a web server' | ||
desc "Generate the documentation and run a web server" | ||
task serve: [:rdoc] do | ||
require 'webrick' | ||
require "webrick" | ||
|
||
puts 'Navigate to http://localhost:3000 to see the docs' | ||
puts "Navigate to http://localhost:3000 to see the docs" | ||
|
||
server = WEBrick::HTTPServer.new Port: 3000 | ||
server.mount '/', WEBrick::HTTPServlet::FileHandler, 'docs' | ||
trap('INT') { server.stop } | ||
server = WEBrick::HTTPServer.new(Port: 3000) | ||
server.mount("/", WEBrick::HTTPServlet::FileHandler, "docs") | ||
trap("INT") { server.stop } | ||
server.start | ||
end | ||
|
||
desc 'Generate and publish docs to gh-pages' | ||
desc "Generate and publish docs to gh-pages" | ||
task publish: [:rdoc] do | ||
require 'tmpdir' | ||
require 'shellwords' | ||
require "tmpdir" | ||
require "shellwords" | ||
|
||
Dir.mktmpdir do |tmp| | ||
system "mv docs/* #{tmp}" | ||
system 'git checkout origin/gh-pages' | ||
system 'rm -rf *' | ||
system "git checkout origin/gh-pages" | ||
system "rm -rf *" | ||
system "mv #{tmp}/* ." | ||
message = Shellwords.escape("Site updated at #{Time.now.utc}") | ||
system 'git add .' | ||
system "git add ." | ||
system "git commit -am #{message}" | ||
system 'git push origin gh-pages --force' | ||
system 'git checkout master' | ||
system 'echo yolo' | ||
system "git push origin gh-pages --force" | ||
system "git checkout master" | ||
system "echo yolo" | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,38 @@ | ||
# frozen_string_literal: true | ||
|
||
lib = File.expand_path('lib', __dir__) | ||
lib = File.expand_path("lib", __dir__) | ||
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) | ||
require 'commonmarker/version' | ||
require "commonmarker/version" | ||
|
||
Gem::Specification.new do |s| | ||
s.name = 'commonmarker' | ||
s.name = "commonmarker" | ||
s.version = CommonMarker::VERSION | ||
s.summary = 'CommonMark parser and renderer. Written in C, wrapped in Ruby.' | ||
s.description = 'A fast, safe, extensible parser for CommonMark. This wraps the official libcmark library.' | ||
s.authors = ['Garen Torikian', 'Ashe Connor'] | ||
s.homepage = 'https://github.com/gjtorikian/commonmarker' | ||
s.license = 'MIT' | ||
s.summary = "CommonMark parser and renderer. Written in C, wrapped in Ruby." | ||
s.description = "A fast, safe, extensible parser for CommonMark. This wraps the official libcmark library." | ||
s.authors = ["Garen Torikian", "Ashe Connor"] | ||
s.homepage = "https://github.com/gjtorikian/commonmarker" | ||
s.license = "MIT" | ||
|
||
s.files = %w[LICENSE.txt README.md Rakefile commonmarker.gemspec bin/commonmarker] | ||
s.files += Dir.glob('lib/**/*.rb') | ||
s.files += Dir.glob('ext/commonmarker/*.*') | ||
s.test_files = Dir.glob('test/**/*').reject { |f| f == 'test/benchinput.md' || f.start_with?('test/progit/') } | ||
s.extensions = ['ext/commonmarker/extconf.rb'] | ||
s.files = ["LICENSE.txt", "README.md", "Rakefile", "commonmarker.gemspec", "bin/commonmarker"] | ||
s.files += Dir.glob("lib/**/*.rb") | ||
s.files += Dir.glob("ext/commonmarker/*.*") | ||
s.extensions = ["ext/commonmarker/extconf.rb"] | ||
|
||
s.executables = ['commonmarker'] | ||
s.require_paths = %w[lib ext] | ||
s.required_ruby_version = ['>= 2.6', '< 4.0'] | ||
s.executables = ["commonmarker"] | ||
s.require_paths = ["lib", "ext"] | ||
s.required_ruby_version = [">= 2.6", "< 4.0"] | ||
|
||
s.metadata['rubygems_mfa_required'] = 'true' | ||
s.metadata["rubygems_mfa_required"] = "true" | ||
|
||
s.rdoc_options += ['-x', 'ext/commonmarker/cmark/.*'] | ||
s.rdoc_options += ["-x", "ext/commonmarker/cmark/.*"] | ||
|
||
s.add_development_dependency 'awesome_print' | ||
s.add_development_dependency 'json', '~> 2.3' | ||
s.add_development_dependency 'minitest', '~> 5.6' | ||
s.add_development_dependency 'minitest-focus', '~> 1.1' | ||
s.add_development_dependency 'rake' | ||
s.add_development_dependency 'rake-compiler', '~> 0.9' | ||
s.add_development_dependency 'rdoc', '~> 6.2' | ||
s.add_development_dependency 'rubocop' | ||
s.add_development_dependency 'rubocop-standard' | ||
s.add_development_dependency("awesome_print") | ||
s.add_development_dependency("json", "~> 2.3") | ||
s.add_development_dependency("minitest", "~> 5.6") | ||
s.add_development_dependency("minitest-focus", "~> 1.1") | ||
s.add_development_dependency("rake") | ||
s.add_development_dependency("rake-compiler", "~> 0.9") | ||
s.add_development_dependency("rdoc", "~> 6.2") | ||
s.add_development_dependency("rubocop") | ||
s.add_development_dependency("rubocop-standard") | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.