nesta 0.12.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +21 -0
  3. data/.gitignore +1 -0
  4. data/.gitmodules +0 -6
  5. data/CHANGES +99 -0
  6. data/Gemfile.lock +43 -39
  7. data/LICENSE +1 -1
  8. data/README.md +9 -14
  9. data/RELEASING.md +9 -7
  10. data/Rakefile +2 -2
  11. data/bin/nesta +5 -2
  12. data/config/deploy.rb.sample +1 -1
  13. data/lib/nesta/app.rb +1 -2
  14. data/lib/nesta/commands/build.rb +38 -0
  15. data/lib/nesta/commands/demo/content.rb +8 -10
  16. data/lib/nesta/commands/edit.rb +2 -6
  17. data/lib/nesta/commands/new.rb +11 -12
  18. data/lib/nesta/commands/plugin/create.rb +7 -9
  19. data/lib/nesta/commands/template.rb +20 -0
  20. data/lib/nesta/commands/theme/create.rb +8 -8
  21. data/lib/nesta/commands/theme/enable.rb +3 -5
  22. data/lib/nesta/commands/theme/install.rb +6 -10
  23. data/lib/nesta/commands.rb +9 -0
  24. data/lib/nesta/config.rb +49 -75
  25. data/lib/nesta/config_file.rb +29 -0
  26. data/lib/nesta/helpers.rb +0 -5
  27. data/lib/nesta/models.rb +33 -34
  28. data/lib/nesta/navigation.rb +0 -5
  29. data/lib/nesta/overrides.rb +32 -43
  30. data/lib/nesta/plugin.rb +0 -16
  31. data/lib/nesta/static/assets.rb +50 -0
  32. data/lib/nesta/static/html_file.rb +26 -0
  33. data/lib/nesta/static/site.rb +104 -0
  34. data/lib/nesta/system_command.rb +15 -0
  35. data/lib/nesta/version.rb +1 -1
  36. data/lib/nesta.rb +7 -4
  37. data/nesta.gemspec +5 -5
  38. data/templates/config/config.yml +28 -2
  39. data/templates/themes/README.md +1 -1
  40. data/templates/themes/views/master.sass +1 -1
  41. data/test/integration/atom_feed_test.rb +1 -1
  42. data/test/integration/commands/build_test.rb +53 -0
  43. data/test/integration/commands/demo/content_test.rb +8 -6
  44. data/test/integration/commands/edit_test.rb +4 -4
  45. data/test/integration/commands/new_test.rb +22 -51
  46. data/test/integration/commands/plugin/create_test.rb +7 -4
  47. data/test/integration/commands/theme/create_test.rb +8 -2
  48. data/test/integration/commands/theme/enable_test.rb +7 -1
  49. data/test/integration/commands/theme/install_test.rb +13 -9
  50. data/test/integration/overrides_test.rb +1 -1
  51. data/test/integration/sitemap_test.rb +1 -1
  52. data/test/support/temporary_files.rb +1 -1
  53. data/test/support/test_configuration.rb +2 -4
  54. data/test/unit/config_test.rb +25 -94
  55. data/test/unit/static/assets_test.rb +56 -0
  56. data/test/unit/static/html_file_test.rb +41 -0
  57. data/test/unit/static/site_test.rb +104 -0
  58. data/test/unit/system_command_test.rb +20 -0
  59. data/views/atom.haml +2 -2
  60. data/views/comments.haml +2 -2
  61. data/views/footer.haml +1 -1
  62. data/views/header.haml +2 -3
  63. data/views/layout.haml +2 -2
  64. data/views/master.sass +1 -1
  65. data/views/mixins.sass +2 -2
  66. data/views/normalize.scss +0 -1
  67. data/views/sitemap.haml +1 -1
  68. metadata +44 -31
  69. data/.hound.yml +0 -2
  70. data/.rspec +0 -1
  71. data/.travis.yml +0 -11
  72. data/lib/nesta/commands/command.rb +0 -57
  73. data/test/support/silence_commands_during_tests.rb +0 -5
  74. data/test/unit/commands_test.rb +0 -23
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.5
4
- - 2.6
5
- - 2.7
6
- before_script:
7
- - git config --global user.email "continuous-integration@nestacms.com"
8
- - git config --global user.name "Nesta CI"
9
- script: bundle exec rake test
10
- env:
11
- - REPORTER=default
@@ -1,57 +0,0 @@
1
- module Nesta
2
- module Commands
3
- class UsageError < RuntimeError; end
4
-
5
- module Command
6
- def run_process(*args)
7
- system(*args)
8
- if ! $?.success?
9
- message = if $?.exitstatus == 127
10
- "#{args[0]} not found"
11
- else
12
- "'#{args.join(' ')}' failed with status #{$?.exitstatus}"
13
- end
14
- fail(message)
15
- end
16
- end
17
-
18
- def fail(message)
19
- $stderr.puts "Error: #{message}"
20
- exit 1
21
- end
22
-
23
- def template_root
24
- File.expand_path('../../../templates', File.dirname(__FILE__))
25
- end
26
-
27
- def copy_template(src, dest)
28
- FileUtils.mkdir_p(File.dirname(dest))
29
- template = ERB.new(File.read(File.join(template_root, src)), nil, "-")
30
- File.open(dest, 'w') { |file| file.puts template.result(binding) }
31
- end
32
-
33
- def copy_templates(templates)
34
- templates.each { |src, dest| copy_template(src, dest) }
35
- end
36
-
37
- def update_config_yaml(pattern, replacement)
38
- configured = false
39
- File.open(Nesta::Config.yaml_path, 'r+') do |file|
40
- output = ''
41
- file.each_line do |line|
42
- if configured
43
- output << line
44
- else
45
- output << line.sub(pattern, replacement)
46
- configured = true if line =~ pattern
47
- end
48
- end
49
- output << "#{replacement}\n" unless configured
50
- file.pos = 0
51
- file.print(output)
52
- file.truncate(file.pos)
53
- end
54
- end
55
- end
56
- end
57
- end
@@ -1,5 +0,0 @@
1
- module SilenceCommandsDuringTests
2
- def run_process(*args)
3
- super(*args, out: '/dev/null', err: '/dev/null')
4
- end
5
- end
@@ -1,23 +0,0 @@
1
- require 'test_helper'
2
- require_relative '../../lib/nesta/commands'
3
-
4
- class TestCommand
5
- include Nesta::Commands::Command
6
- end
7
-
8
- describe 'Nesta::Commands::Command' do
9
- describe '#run_process' do
10
- it 'catches errors when running external processes' do
11
- TestCommand.new.run_process('ls / >/dev/null')
12
- begin
13
- stderr, $stderr = $stderr, File.open('/dev/null', 'w')
14
- assert_raises(SystemExit) do
15
- TestCommand.new.run_process('ls no-such-file 2>/dev/null')
16
- end
17
- ensure
18
- $stderr.close
19
- $stderr = stderr
20
- end
21
- end
22
- end
23
- end