1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/siteserver-cms

 / Детали:

Документация по разработке плагинов # Установка Перед тем как начать работу над плагином, вам...

Предстоит сделать
Владелец
Создано  
27.02.2025

потребуется установить необходимые зависимости. Для этого выполните следующую команду: bash pip install -r requirements.txt ## Настройка окружения Создайте виртуальное окружение для вашего проекта: bash python -m venv myplugin-env Активируйте созданное виртуальное окружение: ### Windows cmd myplugin-env\Scripts\activate ### Unix or MacOS bash source myplugin-env/bin/activate ## Создание нового плагина Создайте новый плагин с помощью шаблона: bash cookiecutter https://github.com/example/plugin-template.git ## Конфигурация После создания плагина вам потребуется настроить его конфигурацию. Это можно сделать через файл config.ini. ### Пример файла config.ini ini [DEFAULT] debug = False log_level = INFO ## Интеграция с системой Для интеграции вашего плагина с существующей системой вам потребуется добавить его в список зависимостей системы. Например, добавьте ваш плагин в файл requirements.txt системы. ### Пример файла requirements.txt plaintext -e git+https://github.com/user/myplugin.git@main#egg=myplugin ## Тестирование Для тестирования вашего плагина используйте набор тестовых данных и скрипты, расположенные в папке tests. Выполните тестирование с помощью команды: bash pytest tests/ ## Развертывание После успешного прохождения всех тестов вы можете развернуть свой плагин. Для этого выполните команду: bash make deploy ## Обработка ошибок Если во время работы возникли ошибки, они будут записаны в лог-файл. Для просмотра логов используйте команду: bash tail -f logs/app.log ## Поддержка Если у вас возникли проблемы при работе с плагином, обратитесь за помощью к сообществу разработчиков через форум или электронную почту. ### Сообщество разработчиков - Форум - Электронная почта --- ### Сообщения об ошибках #### Ошибка 404 plaintext Not Found: /path/to/resource #### Предупреждение plaintext Warning: Configuration file not found at path/to/config.ini --- ### Примеры использования #### Пример использования API python response = requests.get("http://example.com/api/data") print(response.json()) #### Пример использования командной строки bash ./script.sh --option value --- ### Примеры кода #### Пример кода Python python def main(): print("Hello, World!") if __name__ == "__main__": main() #### Пример кода JavaScript javascript function helloWorld() { console.log('Hello, World!'); } helloWorld(); --- ### Примеры сообщений #### Сообщение об успехе plaintext Plugin installed successfully! #### Сообщение об ошибке plaintext Error: Failed to connect to the server. --- ### Примеры текста #### Пример текста plaintext Please ensure that all required dependencies are installed before proceeding with plugin development. #### Пример текста plaintext The configuration file should be placed in the root directory of your project and named 'config.ini'. --- ### Примеры чисел #### Пример числа plaintext The maximum number of retries is set to 5. #### Пример числа plaintext The timeout for the request is 30 seconds. --- ### Примеры текста в кавычках #### Пример текста в кавычках plaintext Ensure you have the "required dependencies" installed. #### Пример текста в кавычках plaintext Check if the "configuration file" exists. --- ### Примеры текста со смешением языков #### Пример текста со смешением языков plaintext Make sure to use the correct "command line arguments". #### Пример текста со смешением языков plaintext Verify that the "API endpoint" is accessible. --- ### Примеры текста с числами #### Пример текста с числами plaintext Set the retry limit to 3 attempts. #### Пример текста с числами plaintext Configure the timeout period to 1 minute. --- ### Примеры текста с математическими выражениями #### Пример текста с математическим выражением plaintext Calculate the result as 2 + 2. #### Пример текста с математическим выражением plaintext Compute the total as 10 * 5. --- ### Примеры текста с символами #### Пример текста с символами plaintext Use the symbol "$" for currency values. #### Пример текста с символами plaintext Indicate the percentage using "%". --- ### Примеры текста с специальными символами #### Пример текста с специальным символом plaintext Escape special characters like "\n" for new lines. #### Пример текста с специальным символом plaintext Handle escape sequences such as "\t" for tabs. --- ### Примеры текста с HTML #### Пример текста с HTML html <a href="http://example.com">Visit Example</a> #### Пример текста с HTML html <div class="container"> <p>Content goes here.</p> </div> --- ### Примеры текста с Markdown #### Пример текста с Markdown markdown # Title This is a paragraph. #### Пример текста с Markdown markdown * This is an item in a list. * Another item. --- ### Примеры текста с YAML #### Пример текста с YAML yaml title: My Plugin Documentation author: John Doe #### Пример текста с YAML yaml settings: debug: false log_level: info --- ### Примеры текста с JSON #### Пример текста с JSON json { "title": "My Plugin", "description": "Documentation for the plugin." } #### Пример текста с JSON json { "settings": { "debug": false, "log_level": "info" } } --- ### Примеры текста с XML #### Пример текста с XML xml <root> <title>My Plugin Documentation</title> <author>John Doe</author> </root> #### Пример текста с XML xml <settings> <debug>false</debug> <log_level>info</log_level> </settings> --- ### Примеры текста с SQL #### Пример текста с SQL sql SELECT * FROM users WHERE id = 1; #### Пример текста с SQL sql INSERT INTO users (id, name) VALUES (1, 'John Doe'); --- ### Примеры текста с Bash #### Пример текста с Bash bash #!/bin/bash echo "Hello, World!" #### Пример текста с Bash bash #!/bin/bash export PATH=$PATH:/usr/local/bin --- ### Примеры текста с Python #### Пример текста с Python python import os os.environ['MY_VAR'] = 'value' #### Пример текста с Python python from datetime import datetime now = datetime.now() print(now) --- ### Примеры текста с JavaScript #### Пример текста с JavaScript javascript const message = 'Hello, World!'; console.log(message); #### Пример текста с JavaScript javascript const now = new Date(); console.log(now); --- ### Примеры текста с Java #### Пример текста с Java java public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } } #### Пример текста с Java java import java.util.Date; public class Now { public static void main(String[] args) { Date date = new Date(); System.out.println(date); } } --- ### Примеры текста с C# #### Пример текста с C# csharp using System; class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } } #### Пример текста с C# csharp using System; class Now { static void Main(string[] args) { DateTime date = DateTime.Now; Console.WriteLine(date); } } --- ### Примеры текста с Ruby #### Пример текста с Ruby ruby puts "Hello, World!" #### Пример текста с Ruby ruby require 'time' now = Time.new puts now --- ### Примеры текста с PHP #### Пример текста с PHP php <?php echo "Hello, World!"; ?> #### Пример текста с PHP php <?php $now = time(); echo $now; ?> --- ### Примеры текста с Swift #### Пример текста с Swift swift import Foundation print("Hello, World!") #### Пример текста с Swift swift import Foundation let now = Date() print(now) --- ### Примеры текста с Kotlin #### Пример текста с Kotlin kotlin fun main(args: Array<String>) { println("Hello, World!") } #### Пример текста с Kotlin kotlin import java.time.LocalDateTime fun main(args: Array<String>) { val now = LocalDateTime.now() println(now) } --- ### Примеры текста с TypeScript #### Пример текста с TypeScript typescript console.log('Hello, World!'); #### Пример текста с TypeScript typescript import { format } from 'date-fns'; const now = format(new Date(), 'yyyy-MM-dd HH:mm:ss'); console.log(now); --- ### Примеры текста с Go #### Пример текста с Go go package main import ( "fmt" "time" ) func main() { fmt.Println(time.Now().Format("2006-01-02T15:04:05")) } --- ### Примеры текста с Rust #### Пример текста с Rust rust fn main() { println!("Hello, World!"); } #### Пример текста с Rust rust use chrono::prelude::*; fn main() { let now = Local::now(); println!("{}", now.format("%Y-%m-%d %H:%M:%S")); } --- ### Примеры текста с Scala #### Пример текста с Scala scala object HelloWorld extends App { println("Hello, World!") } #### Пример текста с Scala scala import java.time.LocalDateTime object Now extends App { val now = LocalDateTime.now() println(now) } --- ### Примеры текста с Groovy #### Пример текста с Groovy groovy println "Hello, World!" #### Пример текста с Groovy groovy import java.time.LocalDateTime println LocalDateTime.now() --- ### Примеры текста с Dart #### Пример текста с Dart dart void main() { print('Hello, World!'); } #### Пример текста с Dart dart import 'dart:core'; import 'package:intl/intl.dart' show DateFormat; void main() { var now = DateFormat('yyyy-MM-dd HH:mm:ss').format(DateTime.now()); print(now); } --- ### Примеры текста с Lua #### Пример текста с Lua lua print("Hello, World!") #### Пример текста с Lua lua local now = os.date('*t') print(os.date('%Y-%m-%d %H:%M:%S', os.time(now))) --- ### Примеры текста с PowerShell #### Пример текста с PowerShell powershell Write-Output "Hello, World!" #### Пример текста с PowerShell powershell $now = Get-Date Write-Output $now.ToString("yyyy-MM-dd HH:mm:ss") --- ### Примеры текста с Shell Script #### Пример текста с Shell Script sh #!/bin/sh echo "Hello, World!" #### Пример текста с Shell Script sh #!/bin/sh now=$(date '+%Y-%m-%d %H:%M:%S') echo $now --- ### Примеры текста с Makefile #### Пример текста с Makefile makefile all: @echo "Hello, World!" #### Пример текста с Makefile makefile all: @now=$(shell date '+%Y-%m-%d %H:%M:%S') @echo $(now) --- ### Примеры текста с Dockerfile #### Пример текста с Dockerfile dockerfile FROM ubuntu:latest RUN echo "Hello, World!" > /message.txt #### Пример текста с Dockerfile dockerfile FROM ubuntu:latest RUN now=$(date '+%Y-%m-%d %H:%M:%S') && \ echo "Current time: ${now}" >> /message.txt --- ### Примеры текста с Jenkinsfile #### Пример текста с Jenkinsfile jenkinsfile pipeline { agent any stages { stage('Hello') { steps { script { echo 'Hello, World!' } } } } } #### Пример текста с Jenkinsfile jenkinsfile pipeline { agent any stages { stage('Now') { steps { script { def now = new Date().format('yyyy-MM-dd HH:mm:ss') echo "Current time: ${now}" } } } } } --- ### Примеры текста с Ansible Playbook #### Пример текста с Ansible Playbook yaml --- - hosts: localhost tasks: - name: Print Hello, World! shell: echo "Hello, World!" #### Пример текста с Ansible Playbook yaml --- - hosts: localhost tasks: - name: Print current time shell: | now=$(date '+%Y-%m-%d %H:%M:%S') echo "Current time: ${now}" --- ### Примеры текста с Terraform #### Пример текста с Terraform hcl resource "null_resource" "example" { provisioner "local-exec" { command = "echo 'Hello, World!'" } } #### Пример текста с Terraform hcl resource "null_resource" "example" { provisioner "local-exec" { command = <<EOT now=$(date '+%Y-%m-%d %H:%M:%S') echo "Current time: ${now}" EOT } } --- ### Примеры текста с Kubernetes Manifests #### Пример текста с Kubernetes Manifests yaml apiVersion: v1 kind: ConfigMap metadata: name: example-configmap data: message: "Hello, World!" #### Пример текста с Kubernetes Manifests yaml apiVersion: v1 kind: ConfigMap metadata: name: example-configmap data: now: "$(date '+%Y-%m-%d %H:%M:%S')" --- ### Примеры текста с Helm Charts #### Пример текста с Helm Charts yaml {{- define "example-chart.message" }} Hello, World! {{- end }} {{- define "example-chart.template" }} apiVersion: v1 kind: ConfigMap metadata: name: {{ include "example-chart.name" . }} data: message: {{ include "example-chart.message" . }} {{- end }} #### Пример текста с Helm Charts yaml {{- define "example-chart.now" }} $(date '+%Y-%m-%d %H:%M:%S') {{- end }} {{- define "example-chart.template" }} apiVersion: v1 kind: ConfigMap metadata: name: {{ include "example-chart.name" . }} data: now: {{ include "example-chart.now" . }} {{- end }} --- ### Примеры текста с Git Hooks #### Пример текста с Git Hooks bash #!/bin/bash echo "Hello, World!" #### Пример текста с Git Hooks bash #!/bin/bash now=$(date '+%Y-%m-%d %H:%M:%S') echo "Current time: ${now}" --- ### Примеры текста с Gradle Scripts #### Пример текста с Gradle Scripts gradle task hello(type: Copy) { doLast { println 'Hello, World!' } } #### Пример текста с Gradle Scripts gradle task now(type: Copy) { doLast { def now = new Date().format('yyyy-MM-dd HH:mm:ss') println "Current time: ${now}" } } --- ### Примеры текста с Maven POM #### Пример текста с Maven POM xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>example-plugin</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> #### Пример текста с Maven POM xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>example-plugin</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> --- ### Примеры текста с NPM Scripts #### Пример текста с NPM Scripts json { "scripts": { "start": "node index.js", "dev": "nodemon index.js", "test": "jest" } } #### Пример текста с NPM Scripts json { "scripts": { "start": "node index.js", "dev": "nodemon index.js", "test": "jest", "lint": "eslint ." } } --- ### Примеры текста с Yarn Workspaces #### Пример текста с Yarn Workspaces json { "workspaces": [ "packages/*" ] } #### Пример текста с Yarn Workspaces json { "workspaces": [ "packages/*" ], "resolutions": { "lodash": "^4.17.21" } } --- ### Примеры текста с Babel Presets #### Пример текста с Babel Presets json { "presets": ["@babel/preset-env"] } #### Пример текста с Babel Presets json { "presets": ["@babel/preset-env"], "plugins": ["@babel/plugin-transform-runtime"] } --- ### Примеры текста с ESLint Configurations #### Пример текста с ESLint Configurations json { "extends": "eslint:recommended", "rules": {} } #### Пример текста с ESLint Configurations json { "extends": "eslint:recommended", "rules": { "semi": ["error", "always"] } } --- ### Примеры текста с Webpack Configurations #### Пример текста с Webpack Configurations js module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: __dirname + '/dist' }, module: { rules: [ { test: /\.css$/, use: ['style-loader', 'css-loader'] } ] } }; #### Пример текста с Webpack Configurations js module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: __dirname + '/dist' }, module: { rules: [ { test: /\.jsx?$/, exclude: /(node_modules|bower_components)/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'], plugins: ['@babel/plugin-transform-runtime'] } } } ] } }; --- ### Примеры текста с React Components #### Пример текста с React Components jsx import React from 'react'; const Greeting = () => { return <h1>Hello, World!</h1>; }; export default Greeting; #### Пример текста с React Components jsx import React from 'react'; import moment from 'moment'; const CurrentTime = () => { const now = moment().format('YYYY-MM-DD HH:mm:ss'); return <p>{now}</p>; }; export default CurrentTime; --- ### Примеры текста с Vue Components #### Пример текста с Vue Components vue <template> <div> <h1>Hello, World!</h1> </div> </template> <script> export default { name: 'Greeting' }; </script> #### Пример текста с Vue Components vue <template> <div> <p>{{ now }}</p> </div> </template> <script> export default { data() { return { now: '' }; }, created() { this.now = new Date().toLocaleString(); } }; </script> --- ### Примеры текста с Angular Components #### Пример текста с Angular Components ts import { Component } from '@angular/core'; @Component({ selector: 'app-greeting', template: '<h1>Hello, World!</h1>' }) export class GreetingComponent {} #### Пример текста с Angular Components ts import { Component } from '@angular/core'; @Component({ selector: 'app-current-time', template: `<p>{{ now | date:'medium' }}</p>` }) export class CurrentTimeComponent { now = new Date(); } --- ### Примеры текста с Spring Boot Applications #### Пример текста с Spring Boot Applications java package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } #### Пример текста с Spring Boot Applications java package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } --- ### Примеры текста с Django Projects #### Пример текста с Django Projects python from django.http import HttpResponse def hello_world(request): return HttpResponse('<h1>Hello, World!</h1>') #### Пример текста с Django Projects python from django.shortcuts import render from datetime import datetime def current_time(request): context = {'now': datetime.now()} return render(request, 'current_time.html', context) --- ### Примеры текста с Flask Applications #### Пример текста с Flask Applications python from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return '<h1>Hello, World!</h1>' #### Пример текста с Flask Applications python from flask import Flask from datetime import datetime app = Flask(__name__) @app.route('/now/') def current_time(): return str(datetime.now()) --- ### Примеры текста с Express Applications #### Пример текста с Express Applications js const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('<h1>Hello, World!</h1>'); }); app.listen(3000); #### Пример текста с Express Applications js const express = require('express'); const moment = require('moment'); const app = express(); app.get('/now/', (req, res) => { const now = moment().format('MMMM Do YYYY, h:mm:ss A'); res.send({ time: now }); }); app.listen(3000); --- ### Примеры текста с Node.js Applications #### Пример текста с Node.js Applications js const http = require('http'); const hostname = 'localhost'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/html'); res.end('<h1>Hello, World!</h1>'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); #### Пример текста с Node.js Applications js const http = require('http'); const moment = require('moment'); const hostname = 'localhost'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'application/json'); res.end(JSON.stringify({ time: moment().format('MMMM Do YYYY, h:mm:ss A') })); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); --- ### Примеры текста с MongoDB Collections #### Пример текста с MongoDB Collections js db.collection.insertOne({ message: 'Hello, World!', }); #### Пример текста с MongoDB Collections js db.collection.insertOne({ now: new Date(), }); --- ### Примеры текста с Redis Commands #### Пример текста с Redis Commands redis SET greeting "Hello, World!" #### Пример текста с Redis Commands redis TIME --- ### Примеры текста с PostgreSQL Queries #### Пример текста с PostgreSQL Queries sql CREATE TABLE greetings ( id SERIAL PRIMARY KEY, message TEXT NOT NULL ); INSERT INTO greetings (message) VALUES ('Hello, World!'); #### Пример текста с PostgreSQL Queries sql CREATE TABLE timestamps ( id SERIAL PRIMARY KEY, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); --- ### Примеры текста с MySQL Queries #### Пример текста с MySQL Queries sql CREATE TABLE greetings ( id INT AUTO_INCREMENT PRIMARY KEY, message VARCHAR(255) NOT NULL ); INSERT INTO greetings (message) VALUES ('Hello, World!'); #### Пр例中的中文部分已经翻译为英文,其余内容保持不变。由于原文中包含大量代码示例和配置文件,这些内容在翻译过程中未做改动,以确保其准确性和可读性。

Просьба указать, где можно найти самую последнюю версию документации по созданию плагинов, срочно требуется.

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/siteserver-cms.git
git@api.gitlife.ru:oschina-mirror/siteserver-cms.git
oschina-mirror
siteserver-cms
siteserver-cms