mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-01-24 15:12:18 +08:00
scripts from pkgs
This commit is contained in:
parent
1c444229d1
commit
7c0a2941bd
@ -27,4 +27,5 @@ warn {
|
|||||||
|
|
||||||
.pre {
|
.pre {
|
||||||
padding: 12px 24px !important;
|
padding: 12px 24px !important;
|
||||||
|
font-size: 0.8rem;
|
||||||
}
|
}
|
||||||
|
@ -1,48 +1,19 @@
|
|||||||
<package-info :package="package" instsize showsbu2></package-info>
|
<pkg :name="'mpc'" instsize showsbu2></pkg>
|
||||||
|
|
||||||
<script>
|
|
||||||
new Vue({
|
|
||||||
el: '#main',
|
|
||||||
data: { package: {} },
|
|
||||||
mounted: function () {
|
|
||||||
this.getPackage('mpc');
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
getPackage: function(name) {
|
|
||||||
getPackage(name)
|
|
||||||
.then(response => this.package = response);
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
## Настройка
|
## Настройка
|
||||||
|
<package-script :package="'mpc'" :type="'configure'"></package-script>
|
||||||
|
|
||||||
```bash
|
|
||||||
./configure --prefix=/usr \
|
|
||||||
--disable-static
|
|
||||||
```
|
|
||||||
|
|
||||||
## Сборка
|
## Сборка
|
||||||
|
<package-script :package="'mpc'" :type="'build'"></package-script>
|
||||||
|
|
||||||
```bash
|
|
||||||
make
|
|
||||||
```
|
|
||||||
## Тестирование
|
## Тестирование
|
||||||
|
<package-script :package="'mpc'" :type="'test'"></package-script>
|
||||||
```bash
|
|
||||||
make check
|
|
||||||
```
|
|
||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
|
<package-script :package="'mpc'" :type="'install'"></package-script>
|
||||||
```bash
|
|
||||||
make install
|
|
||||||
```
|
|
||||||
|
|
||||||
## Установленные файлы
|
## Установленные файлы
|
||||||
|
|
||||||
Библиотеки: libmpc.so
|
Библиотеки: libmpc.so
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new Vue({ el: '#main' })
|
||||||
|
</script>
|
||||||
|
@ -8,9 +8,12 @@ Vue.component('package-info', {
|
|||||||
computed: {
|
computed: {
|
||||||
priorityName: function () {
|
priorityName: function () {
|
||||||
switch (this.package.priority) {
|
switch (this.package.priority) {
|
||||||
case 'important': return 'Важный';
|
case 'important':
|
||||||
case 'required': return 'Необходимый';
|
return 'Важный';
|
||||||
case 'optional': return 'Необязательный';
|
case 'required':
|
||||||
|
return 'Необходимый';
|
||||||
|
case 'optional':
|
||||||
|
return 'Необязательный';
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
},
|
},
|
||||||
@ -47,8 +50,89 @@ Vue.component('package-info', {
|
|||||||
</div>`,
|
</div>`,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Vue.component('pkg', {
|
||||||
|
props: {
|
||||||
|
name: String,
|
||||||
|
showsbu: Boolean,
|
||||||
|
showsbu2: Boolean,
|
||||||
|
instsize: Boolean,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
package: {},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
priorityName: function () {
|
||||||
|
switch (this.package.priority) {
|
||||||
|
case 'important':
|
||||||
|
return 'Важный';
|
||||||
|
case 'required':
|
||||||
|
return 'Необходимый';
|
||||||
|
case 'optional':
|
||||||
|
return 'Необязательный';
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
getPackage(this.name)
|
||||||
|
.then(res => (this.package = res));
|
||||||
|
},
|
||||||
|
template: `
|
||||||
|
<div v-if="package" class="pkg">
|
||||||
|
<p>{{ package.description }}</p>
|
||||||
|
<p class="pkg-desc">
|
||||||
|
Ссылка для скачивания: <a :href="package.url"><b>{{ package.downloadUrl }}</b></a>
|
||||||
|
<br />
|
||||||
|
Текущая версия: <b>{{ package.version }}</b>
|
||||||
|
<br />
|
||||||
|
Домашняя страница: <a :href="package.homeUrl"><b>{{ package.homeUrl }}</b></a>
|
||||||
|
<br />
|
||||||
|
Важность: <a href="#/prepare/about-priority"><b>{{ priorityName }}</b></a>
|
||||||
|
<br />
|
||||||
|
Размер архива: <b>{{ package.size }} Mb</b>
|
||||||
|
|
||||||
|
<span v-if="showsbu">
|
||||||
|
<br />
|
||||||
|
<span v-if="package.sbu">Приблизительное время сборки: <b>{{ package.sbu }} SBU</b></span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span v-if="showsbu2">
|
||||||
|
<br />
|
||||||
|
<span v-if="package.sbu2">Приблизительное время сборки: <b>{{ package.sbu2 }} SBU</b></span>
|
||||||
|
</span>
|
||||||
|
<span v-if="instsize">
|
||||||
|
<br />
|
||||||
|
<span v-if="package.installedSize">Приблизительный размер после установки: <b>{{ package.installedSize }} МБ</b></span>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
<slot></slot>
|
||||||
|
</div>`,
|
||||||
|
});
|
||||||
|
|
||||||
|
Vue.component('package-script', {
|
||||||
|
props: {
|
||||||
|
package: String,
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
info: null
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
getPackageScript(this.package, this.type)
|
||||||
|
.then(res => (this.info = res));
|
||||||
|
},
|
||||||
|
template: `
|
||||||
|
<pre class="pre">
|
||||||
|
{{ info }}
|
||||||
|
</pre>`,
|
||||||
|
});
|
||||||
|
|
||||||
Vue.component('warn', {
|
Vue.component('warn', {
|
||||||
template: `
|
template: `
|
||||||
<div class="warn-description">
|
<div class="warn-description">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
|
@ -15,6 +15,7 @@ window.$docsify = {
|
|||||||
autoHeader: true,
|
autoHeader: true,
|
||||||
executeScript: true,
|
executeScript: true,
|
||||||
mergeNavbar: true,
|
mergeNavbar: true,
|
||||||
|
el: '#main',
|
||||||
notFoundPage: {
|
notFoundPage: {
|
||||||
'/': '_404.md',
|
'/': '_404.md',
|
||||||
},
|
},
|
||||||
@ -51,9 +52,9 @@ book = {
|
|||||||
|
|
||||||
// источник метаданных пакетов.
|
// источник метаданных пакетов.
|
||||||
const pkgsUrlBase = `https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Packages/${book.revision}/src/packages/core`;
|
const pkgsUrlBase = `https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Book.Packages/${book.revision}/src/packages/core`;
|
||||||
const pkgsSrc = `${pkgsUrlBase}/packages.json`;
|
const pkgsSrc = `${pkgsUrlBase}/packages.json`;
|
||||||
const wgetList = `${pkgsUrlBase}/wget-list`;
|
const wgetList = `${pkgsUrlBase}/wget-list`;
|
||||||
const md5Sums = `${pkgsUrlBase}/md5sums`;
|
const md5Sums = `${pkgsUrlBase}/md5sums`;
|
||||||
|
|
||||||
// Получить список всех пакетов из источника.
|
// Получить список всех пакетов из источника.
|
||||||
getPackages = function () {
|
getPackages = function () {
|
||||||
@ -63,5 +64,12 @@ getPackages = function () {
|
|||||||
// Получить пакет по наименованию
|
// Получить пакет по наименованию
|
||||||
getPackage = function (name) {
|
getPackage = function (name) {
|
||||||
return axios.get(pkgsSrc)
|
return axios.get(pkgsSrc)
|
||||||
.then(response => response.data.filter(pkg => pkg.name === name)[0]);
|
.then(response => (response.data.filter(pkg => pkg.name === name))[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
getPackageScript = function (name, script) {
|
||||||
|
return axios.get(`${pkgsUrlBase}/${name}/${script}`, {
|
||||||
|
responseType: 'text'
|
||||||
|
})
|
||||||
|
.then(response => response.data);
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="app">Пожалуйста, подождите...</div>
|
<div id="main">Пожалуйста, подождите...</div>
|
||||||
|
|
||||||
<script src="config.js"></script>
|
<script src="config.js"></script>
|
||||||
<script src="//unpkg.com/vue/dist/vue.min.js"></script>
|
<script src="//unpkg.com/vue/dist/vue.min.js"></script>
|
||||||
@ -58,6 +58,7 @@
|
|||||||
<script src="//unpkg.com/docsify-copy-code"></script>
|
<script src="//unpkg.com/docsify-copy-code"></script>
|
||||||
<script src="//unpkg.com/docsify-pagination/dist/docsify-pagination.min.js"></script>
|
<script src="//unpkg.com/docsify-pagination/dist/docsify-pagination.min.js"></script>
|
||||||
<script src="common.js"></script>
|
<script src="common.js"></script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
Loading…
Reference in New Issue
Block a user