простой поиск в Google возвращает несколько репозиториев с нужными вам данными, выбранное мной было https://github.com/ozh/github-colors, а в исходном коде есть простой файл JSON, который вы можете загрузить, так же, как вы загружаем GitHub API ...
Я буду использовать fetch
, поскольку это проще и, как я уже говорил, ненавижу писать HTML ... вот простое решение:
.color {
display: inline-block;
background-color: transparent;
width: 10px;
height: 10px;
}
<div id="app">
<ul>
<li v-for="(repo, idx) in repos" :key="idx">
<span class="color" :style="{ background: languageColor(repo.language) }"> </span>
{{ repo.language }} |
<a :href="`https://github.com/${repo.full_name}`">{{ repo.name }}</a> |
{{ repo.stargazers_count }} |
{{ repo.forks_count }}
</li>
</ul>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
new Vue({
el: '#app',
data: function() {
return {
repos: null,
colors: null
}
},
created() {
var _ = this
var urlApi = 'https://api.github.com/users/murtazajafari/repos?per_page=10'
var urlColors = 'https://raw.githubusercontent.com/ozh/github-colors/master/colors.json'
fetch(urlApi) // fetch API data
.then(res => res.json())
.then(json => _.repos = json) // append to repos
fetch(urlColors) // fetch colors data
.then(res => res.json())
.then(json => _.colors = json) // append to colors
},
methods: {
languageColor(language) {
return this.colors[language].color // pick up the right color by language
}
}
})
жить на JsBin и использовать Veutify на CodePen