Skip to content
Snippets Groups Projects
OcrdProjectListItem.vue 3.23 KiB
Newer Older
  • Learn to ignore specific revisions
  • <template>
      <b-card
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
        :title="project.org_plus_name"
    
        tag="article"
    
        :class="`mb-5 ocrd-project-list-item ${project.compliant_cli ? 'compliant' : 'non-compliant'}`"
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
        <b-card-text v-if="!modal">
          <b-button @click="$root.showModal('project', projectIndex)">Expand</b-button>
        </b-card-text>
    
        <b-tabs v-model="tabIndex">
    
          <b-tab title="README">
            <div v-html="compiledReadme"></div>
          </b-tab>
    
          <b-tab title="Dockerfile">
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
            <vue-code-highlight>{{ project.files.Dockerfile || '# NO DOCKERFILE' }}</vue-code-highlight>
    
          <b-tab title="Git">
            <b-card-text>
              <p>
    
                <a v-if="project.python" href="`https://pypi.org/project/${ project.python.name }/`">             <img :src="`https://img.shields.io/pypi/v/${ project.python.name }.svg`"                                     /> </a>
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
                <!-- <a href="`https://travis-ci.org/${ project.org_plus_name }`">               <img :src="`https://travis-ci.org/${ project.org_plus_name }.svg?branch=master`"                             /> </a> -->
                <!-- <a href="`https://circleci.com/gh/${ project.org_plus_name }`">             <img :src="`https://circleci.com/gh/${ project.org_plus_name }.svg?style=svg`"                               /> </a> -->
    
                <!-- <a href="`https://hub.docker.com/r/ocrd/core/tags/`">                     <img :src="`https://img.shields.io/docker/automated/ocrd/core.svg`"                                        /> </a> -->
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
                <!-- <a href="`https://codecov.io/gh/${ project.org_plus_name }`">               <img :src="`https://codecov.io/gh/${ project.org_plus_name }/branch/master/graph/badge.svg`"                 /> </a> -->
                <!-- <a href="`https://scrutinizer-ci.com/g/${ project.org_plus_name }`">        <img :src="`https://scrutinizer-ci.com/g/${ project.org_plus_name }/badges/quality-score.png?b=master`"      /> </a> -->
                <!-- <a href="`https://lgtm.com/projects/g/${ project.org_plus_name }/alerts/`"> <img :src="`https://img.shields.io/lgtm/alerts/g/${ project.org_plus_name }.svg?logo=lgtm&amp;logoWidth=18`" /> </a> -->
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
              <b-table v-if="project.git" :items="[project.git]"></b-table>
    
            </b-card-text>
          </b-tab>
    
    
          <b-tab title="ocrd-tool validation">
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
              <vue-code-highlight>{{ project.ocrd_tool_validate || '# NO validation data' }}</vue-code-highlight>
    
            </b-card-text>
          </b-tab>
    
          <b-tab title="Python">
            <b-card-text>
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
              <b-table v-if="project.python" :items="[project.python]"></b-table>
    
            </b-card-text>
          </b-tab>
    
        </b-tabs>
      </b-card>
    </template>
    
    <script>
    import marked from 'marked'
    
    import { component as VueCodeHighlight } from 'vue-code-highlight'
    
    
    export default {
    
      components: {
        VueCodeHighlight
      },
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
        project: {required: true},
    
        tabIndex: {default: 0},
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
        projectIndex: {required: true},
        modal: {default: false}
    
      },
      computed: {
        cleanId() {
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
          return this.project.org_plus_name.replace(/[^A-Za-z0-9]/g, '-')
    
        },
        compiledReadme() {
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
          let src = this.project.files['README.md']
    
          if (!src) src = '`# NO README`'
    
          return marked(src)
        }
    
    Konstantin Baierer's avatar
    Konstantin Baierer committed
      },
      methods: {