!!! %html{"ng-app" => "machinery-show"} %head %title = description_name + " - Machinery System Description" %meta{:charset => 'utf-8'}/ %link{:href => "assets/machinery-base.css", :rel => "stylesheet", :type => "text/css"}/ %link{:href => "assets/machinery.css", :rel => "stylesheet", :type => "text/css"}/ %script{:src => "assets/angular.min.js"} %script{:src => "assets/angular-sanitize.min.js"} %script{:src => "assets/show/machinery-show.js"} %script{:src => "assets/jquery-2.1.1.min.js"} %script{:src => "assets/transition.js"} %script{:src => "assets/collapse.js"} %script{:src => "assets/modal.js"} %script#inspection_details_template{:type => "text/ng-template"} #inspection_details.hidden #filters .row .col-xs-1 .col-xs-11 %h3 Filters used during Inspection .row .col-xs-1 .col-xs-11 %ul{"ng-show" => "description.meta.filters.inspect.length"} %li.filter{{"ng-repeat" => "filter in description.meta.filters.inspect"}} {{filter}} %p{"ng-hide" => "description.meta.filters.inspect.length"} No filters were used. %script#scope_os.partial{:type => "text/ng-template"} %div{"ng-show" => "description.os"} %a.scope_anchor{:id => "os"} #os_container.scope .row .col-xs-1 %img.scope_logo_big{:src => "assets/logo-os.png", :class=>"over", :"data-toggle"=>"popover", :title=>"Operating System", :"data-content"=>"#{scope_help('os')}"}/ %span.toggle{:title => "Collapse/Expand"} .col-xs-11 %h2 Operating System .scope-summary {{meta_info.os}} .col-xs-1 .col-xs-3.scope_content.collapse.in %table.table.table-striped.table-condensed %tr %th Name %td {{description.os.name}} %tr %th Version %td {{description.os.version}} %tr %th Architecture %td {{description.os.architecture}} %script#scope_packages.partial{:type => "text/ng-template"} %div{"ng-show" => "description.packages"} %a.scope_anchor{:id => "packages"} #packages_container.scope %scope-header{ | :summary => "'#{scope_help('packages')}'", | :logo => "'assets/logo-packages.png'", | :title => "'Packages'", | :meta => "description.meta.packages", | :singular => "'package'", | :plural => "'packages'", | :count => "description.packages.length" | } | .row.scope_content.collapse.in .col-xs-1 .col-xs-11 %table.table.table-striped.table-hover.table-condensed %thead %tr %th Name %th Version %th Release %th Arch %th Vendor %th Checksum %tbody %tr{"ng-repeat" => "package in description.packages | filter:query"} %td {{package.name}} %td {{package.version}} %td {{package.release}} %td {{package.arch}} %td {{package.vendor}} %td {{package.checksum}} %script#scope_patterns.partial{:type => "text/ng-template"} %div{"ng-show" => "description.patterns"} %a.scope_anchor{:id => "patterns"} #patterns_container.scope %scope-header{ | :summary => "'#{scope_help('patterns')}'", | :logo => "'assets/logo-patterns.png'", | :title => "'Patterns'", | :meta => "description.meta.patterns", | :singular => "'pattern'", | :plural => "'patterns'", | :count => "description.patterns.length" | } | .row.scope_content.collapse.in .col-xs-1 .col-xs-11 %table.table.table-striped.table-hover.table-condensed %thead %tr %th Name %th Version %th Release %tbody %tr{"ng-repeat" => "pattern in description.patterns | filter:query"} %td {{pattern.name}} %td {{pattern.version}} %td {{pattern.release}} %script#scope_repositories.partial{:type => "text/ng-template"} %div{"ng-show" => "description.repositories"} %a.scope_anchor{:id => "repositories"} #repositories_container.scope %scope-header{ | :summary => "'#{scope_help('repositories')}'", | :logo => "'assets/logo-repositories.png'", | :title => "'Repositories'", | :meta => "description.meta.repositories", | :singular => "'repository'", | :plural => "'repositories'", | :count => "description.repositories.length" | } | .row.scope_content.collapse.in .col-xs-1 .col-xs-11 %table.table.table-striped.table-hover.table-condensed %thead %tr %th Name %th Alias %th Type %th URL %th Enabled %th Autorefresh %th GPG Check %th Priority %tbody %tr{"ng-repeat" => "repo in description.repositories | filter:query"} %td {{repo.name}} %td {{repo.alias}} %td {{repo.type}} %td %a{:href => "{{url}}" } {{repo.url}} %td {{repo.enabled}} %td {{repo.autorefresh}} %td {{repo.gpgcheck}} %td {{repo.priority}} %script#scope_users{:type => "text/ng-template"} %div{"ng-show" => "description.users"} %a.scope_anchor{:id => "users"} #users_container.scope %scope-header{ | :summary => "'#{scope_help('users')}'", | :logo => "'assets/logo-users.png'", | :title => "'Users'", | :meta => "description.meta.users", | :singular => "'user'", | :plural => "'users'", | :count => "description.users.length" | } | .row.scope_content.collapse.in .col-xs-1 .col-xs-11 %table.table.table-striped.table-hover.table-condensed %thead %tr %th Name %th UID %th GID %th Comment %th Home %th Shell %tbody %tr{"ng-repeat" => "user in description.users | filter:query"} %td {{user.name}} %td {{user.uid}} %td {{user.gid}} %td {{user.comment}} %td {{user.home}} %td {{user.shell}} %script#scope_groups{:type => "text/ng-template"} %div{"ng-show" => "description.groups"} %a.scope_anchor{:id => "groups"} #groups_container.scope %scope-header{ | :summary => "'#{scope_help('groups')}'", | :logo => "'assets/logo-groups.png'", | :title => "'Groups'", | :meta => "description.meta.groups", | :singular => "'group'", | :plural => "'groups'", | :count => "description.groups.length" | } | .row.scope_content.collapse.in .col-xs-1 .col-xs-11 %table.table.table-striped.table-hover.table-condensed %thead %tr %th Name %th GID %th Password %th Users %tbody %tr{"ng-repeat" => "group in description.groups | filter:query"} %td {{group.name}} %td {{group.gid}} %td {{group.password}} %td {{group.users.join(",")}} %script#scope_services.partial{:type => "text/ng-template"} %div{"ng-show" => "description.services.services"} %a.scope_anchor{:id => "services"} #services_container.scope %scope-header{ | :summary => "'#{scope_help('services')}'", | :logo => "'assets/logo-services.png'", | :title => "'Services'", | :meta => "description.meta.services", | :singular => "'service'", | :plural => "'services'", | :count => "description.services.services.length", | "additional-summary" => "'Init System: '+description.services.init_system+', '" | } | .row.scope_content.collapse.in .col-xs-1 .col-xs-11 %table.table.table-striped.table-hover.table-condensed %thead %tr %th Name %th State %tbody %tr{"ng-repeat" => "service in description.services.services | filter:query"} %td {{service.name}} %td{:class=>"{{description.services.init_system}}_{{service.state}}"} {{service.state}} %script#scope_config_files.partial{:type => "text/ng-template"} %div{"ng-show" => "description.config_files.files"} %a.scope_anchor{:id => "config_files"} #config_files_container.scope{"data-scope" => "config_files"} %scope-header{ | :summary => "'#{scope_help('config_files')}'", | :logo => "'assets/logo-config-files.png'", | :title => "'Config Files'", | :meta => "description.meta.config_files", | :singular => "'file'", | :plural => "'files'", | :count => "description.config_files.files.length" | } | .row.scope_content.collapse.in .diff{"ng-repeat" => "file in description.config_files.files", :style => "display: none", "data-config-file-diff" => "{{file.diff.file}}"} %span.diff-summary {{file.diff.additions}} additions & {{file.diff.deletions}} deletions %table.diff %tr{"ng-repeat" => "line in file.diff.lines", "ng-class" => "{'addition': line.type == 'addition', 'deletion': line.type == 'deletion', 'header': line.type == 'header', 'common': line.type == 'common'}"} %td.active.linenumber {{line.original_line_number}} %td.linenumber {{line.new_line_number}} %td{"ng-bind-html" => "line.content"} {{line.content}} .col-xs-1 .col-xs-11 %table.table.table-striped.table-hover.table-condensed.files-table %thead %tr %th Name %th Package Name %th Package Version %th Changes %th Mode %th User %th Group %tbody %tr{"ng-repeat" => "file in description.config_files.files | filter:query"} %td %span{"ng-switch" => true, "on" => "file.downloadable"} %a.file-download{"ng-switch-when" => "true", "href" => "#"} {{file.name}} %span{"ng-switch-default" => true} {{file.name}} %a.diff-toggle{"ng-show" => "file.diff", "data-config-file" => "{{file.name}}", "data-toggle" => "popover"} Show diff %td {{file.package_name}} %td {{file.package_version}} %td {{file.changes.join(",")}} %span{"ng-show" => "file.error_message", :title => "{{file.error_message}}"} (details) %td {{file.mode}} %td {{file.user}} %td {{file.group}} %script#scope_changed_managed_files.partial{:type => "text/ng-template"} %div{"ng-show" => "description.changed_managed_files.files"} %a.scope_anchor{:id => "changed_managed_files"} #changed_managed_files_container.scope{"data-scope" => "changed_managed_files"} %scope-header{ | :summary => "'#{scope_help('changed_managed_files')}'", | :logo => "'assets/logo-changed-managed-files.png'", | :title => "'Changed Managed Files'", | :meta => "description.meta.changed_managed_files", | :singular => "'file'", | :plural => "'files'", | :count => "description.changed_managed_files.files.length" | } | .row.scope_content.collapse.in .col-xs-1 .col-xs-11 %table.table.table-striped.table-hover.table-condensed.files-table %thead %tr %th Name %th Package Name %th Package Version %th Changes %th Mode %th User %th Group %tbody %tr{"ng-repeat" => "file in description.changed_managed_files.files | filter:query"} %td{"ng-switch" => true, "on" => "file.downloadable"} %a.file-download{"ng-switch-when" => "true", "href" => "#"} {{file.name}} %span{"ng-switch-default" => true} {{file.name}} %td {{file.package_name}} %td {{file.package_version}} %td {{file.changes.join(",")}} %span{"ng-show" => "file.error_message", :title => "{{file.error_message}}"} (details) %td {{file.mode}} %td {{file.user}} %td {{file.group}} %script#scope_unmanaged_files.partial{:type => "text/ng-template"} %div{"ng-show" => "description.unmanaged_files.files"} %a.scope_anchor{:id => "unmanaged_files"} #unmanaged_files_container.scope{"data-scope" => "unmanaged_files"} %scope-header{ | :summary => "'#{scope_help('unmanaged_files')}'", | :logo => "'assets/logo-unmanaged-files.png'", | :title => "'Unmanaged Files'", | :meta => "description.meta.unmanaged_files", | :singular => "'file'", | :plural => "'files'", | :count => "description.unmanaged_files.files.length" | } | .row.scope_content.collapse.in .col-xs-1 .col-xs-11 %table.table.table-striped.table-hover.table-condensed.files-table %thead %tr %th Name %th Type %tbody %tr{"ng-repeat" => "file in description.unmanaged_files.files | filter:query"} %td{"ng-switch" => true, "on" => "file.downloadable"} %a.file-download{"ng-switch-when" => "true", "href" => "#"} {{file.name}} %span{"ng-switch-default" => true} {{file.name}} %td {{file.type}} %script{:src => "assets/show/machinery.js"} %script{:src => "assets/bootstrap-tooltip.js"} %script{:src => "assets/bootstrap-popover.js"} %body{"data-description" => description_name} #file-modal.modal.fade .modal-dialog.modal-lg .modal-content .modal-header %button.close{"type" => "button", "data-dismiss" => "modal"} × %h4#file-modal-title .modal-body %textarea#file-modal-file-content{"readonly" => "true"} #file-modal-error{"style" => "display: none"} .modal-footer %a#file-modal-download-link.btn.btn-success{"target" => "_blank"} Download %button.btn.btn-primary{"type" => "button", "data-dismiss" => "modal"} Close #file_popover{:style => "display: none"} .header %h3.name .body %textarea.content .container-fluid #nav-bar .row .col-xs-1 .col-xs-10 %h1 System '#{description_name}' %a.inspection_details{:href => "#", "data-toggle" => "popover"} (inspection details) .row .col-xs-1 %a#expand-all{:href => "#", :style => "display: none"} Expand all %a#collapse-all{:href => "#"} Collapse all .col-xs-9 %small.pull-right.pad-top created by %a{:href => "http://machinery-project.org", :target => "_blank"} Machinery .filter-input.col-md-3 %input#filter{"ng-model" => "query", :placeholder => "Type To Filter"}/ %a{:href => "#"} %img{:src => "assets/reset.png", :titel => "Reset Filter", "ng-click" => "query = ''" } %span.scope-navigation Scopes: %a{:href => "#os", :title => "Operating System"} %img{:src => "assets/logo-os-small.png"}/ %a{:href => "#packages", :title => "Packages"} %img{:src => "assets/logo-packages-small.png"}/ %a{:href => "#patterns", :title => "Patterns"} %img{:src => "assets/logo-patterns-small.png"}/ %a{:href => "#repositories", :title => "Repositories"} %img{:src => "assets/logo-repositories-small.png"}/ %a{:href => "#users", :title => "Users"} %img{:src => "assets/logo-users-small.png"}/ %a{:href => "#groups", :title => "Groups"} %img{:src => "assets/logo-groups-small.png"}/ %a{:href => "#services", :title => "Services"} %img{:src => "assets/logo-services-small.png"}/ %a{:href => "#config_files", :title => "Config Files"} %img{:src => "assets/logo-config-files-small.png"}/ %a{:href => "#changed_managed_files", :title => "Changed Managed Files"} %img{:src => "assets/logo-changed-managed-files-small.png"}/ %a{:href => "#unmanaged_files", :title => "Unmanaged Files"} %img{:src => "assets/logo-unmanaged-files-small.png"}/ #content_container{"ng-controller" => "showController"} %div{"src" => "'scope_os'", "ng-include" => true} %div{"src" => "'scope_packages'", "ng-include" => true} %div{"src" => "'scope_patterns'", "ng-include" => true} %div{"src" => "'scope_repositories'", "ng-include" => true} %div{"src" => "'scope_users'", "ng-include" => true} %div{"src" => "'scope_groups'", "ng-include" => true} %div{"src" => "'scope_services'", "ng-include" => true} %div{"src" => "'scope_config_files'", "ng-include" => true} %div{"src" => "'scope_changed_managed_files'", "ng-include" => true} %div{"src" => "'scope_unmanaged_files'", "ng-include" => true} %div{"src" => "'inspection_details_template'", "ng-include" => true}