Документация по SourceMod на форуме

Kruzya

Здравствуй, юность в сапогах
Меценат
Сообщения
10,713
Реакции
8,862
Есть идея впилить документацию по SourcePawn API на форуме, вынеся в отдельную вкладочку. При этом:
  1. Реализовать комментарии к функциям/энумам/инклудам/методмапам.
  2. В отличие от официальной доки, строить дерево наследования для методмапов и показывать все методы (у всех хендлов, например, есть метод Close(), который работает как CloseHandle()).
  3. Интегрировать с форумом. Добавить в редакторе кнопку, которая позволит сослаться на метод в документации.
  4. Инклуды для плагинов от сообщества (?), по типу VIP Core от Рико или Шоп от Фроза (но будет конкретно форк).
  5. Интеграция с системой закладок. Речь про эту:
    1592350834323.png
Что-то уже сделано:
1592350622153.png1592350563552.png

Выкладываю эту тему в веб-разработке на обсудить пока.
 

Young <

Пользователь
Команда форума
Меценат
Сообщения
979
Реакции
360
Я думаю мб еще создать базу инклюдов, чтобы не бегать по интернету, когда нужен определенный инк.
 

Grey83

Ленивая и невнимательная жопа
Сообщения
4,906
Реакции
2,884
Моё мнение ты знаешь.
 
  • Мне нравится
Реакции: FIVE

Саша Шеин

Кому костылей?
Сообщения
1,691
Реакции
541
Предлагаю кроме всего перечисленного, сделать документацию по правильному документированию inc , так чтобы не было проблем с обработкой.

А также сделать несколько веток, для sm < 1.7 и для sm > 1.9 , хотя не знаю, много ли здесь людей нуждаются в старой версии синтаксиса.
Но многие используемые инклюды приходится переделывать со старого синтаксиса.

А также, если пользователь размещает в ресурсах ядро плагина или плагин в котором есть нативы / форварды добавить возможность отдельно загрузить inc или же описание функций. Но лучше inc чтобы в последствии была возможность скачать нужный inc без всего остального. Например удобно будет иметь какой-то раздел в описании ресурса, где нажал кнопочку и тебя перекинула на нужный inc с описанием функций и кнопкой скачать. (Если плагин использует сторонние библиотеки, то часто приходится искать их самому)
 
Последнее редактирование:

Kruzya

Здравствуй, юность в сапогах
Меценат
Сообщения
10,713
Реакции
8,862
А также, если пользователь размещает в ресурсах ядро плагина или плагин в котором есть нативы / форварды добавить возможность отдельно загрузить inc или же описание функций.
А тут сложно, ибо каждый ведёт архивы так, как ему удобно. Плюс не все загружают архивы на форум, кто-то ссылкой указывает.
 

NaN

FPE_INTDIV_TRAP
Команда форума
Меценат
Сообщения
1,518
Реакции
1,362
А тут сложно, ибо каждый ведёт архивы так, как ему удобно. Плюс не все загружают архивы на форум, кто-то ссылкой указывает.
можно вручную сделать загрузку .inc
 

Саша Шеин

Кому костылей?
Сообщения
1,691
Реакции
541
А тут сложно, ибо каждый ведёт архивы так, как ему удобно. Плюс не все загружают архивы на форум, кто-то ссылкой указывает.
@Kruzya, про архив согласен, но я имел ввиду, добавить новое поле для загрузки .inc , как и написал @NaN

можно вручную сделать загрузку .inc
 
  • Мне нравится
Реакции: NaN

NaN

FPE_INTDIV_TRAP
Команда форума
Меценат
Сообщения
1,518
Реакции
1,362
Главное всем подряд такие права не давать и все будет нормально.
 

Саша Шеин

Кому костылей?
Сообщения
1,691
Реакции
541
Кстати, как вариант можно сделать генератор inc, т.е. интерфейс для шаблонного заполнения описания, который будет помогать составить inc корректно
Сообщения автоматически склеены:

Главное всем подряд такие права не давать и все будет нормально.
Думаю можно сделать с модерированием, как у ресурсов, т.е. пока ресурс не одобрен - inc не загрузится и не обработается. И последующие обновления inc тоже модерировать
 

authtern

𝓃𝓊𝓁𝓁𝑒𝒹
Меценат
Сообщения
504
Реакции
327
Прикольно, несомненно жду релиза.
 

Kruzya

Здравствуй, юность в сапогах
Меценат
Сообщения
10,713
Реакции
8,862
можно вручную сделать загрузку .inc
Тогда придётся и архивы, всё же, частично саппортить в этом поле, ибо есть плагины по типу Шопа от Фроза, где инклуда не одна, а несколько, да ещё и в папке часть.

А мне кажется всё же более правильным решением не добавлять сразу инклуду в доку. Только спустя какое-то время, и по запросу к администрации. Прогон парсера сейчас - операция не быстрая. Я использую за основу официальный парсер инклуд SourcePawn, который написан на Си, и чтобы не ломать политику безопасности о "запрете запуска исполняемых файлов через PHP", поднят небольшой HTTP-сервис, написанный на ноде, который берёт на вход инклуду, а в ответ отдаёт модифицированный результат прогона докпарсера над ним (добавляется распарсенная дока).
1592384773318.png

Репозиторий инклуд-файлов - да, было бы неплохо. Его даже придётся делать, поскольку в админке сейчас при добавлении инклуд-файла нужно указать адрес, откуда брать файл.
 

Kruzya

Здравствуй, юность в сапогах
Меценат
Сообщения
10,713
Реакции
8,862
Может в конце недели раскатаю тестовую версию здесь, и дам доступ ограниченному кругу лиц для комментариев. К тому моменту скорее всего закончу реализацию вывода всех данных, которые только докген сейчас мне отдаёт.
 

Kruzya

Здравствуй, юность в сапогах
Меценат
Сообщения
10,713
Реакции
8,862
Запилил вывод методов и свойств у методмап. Вместо классического отображения "как в официальной доке", запилил вкладочками.
1592432537511.png
 

Kruzya

Здравствуй, юность в сапогах
Меценат
Сообщения
10,713
Реакции
8,862
Установлено, закладка должна была появиться в верхнем навбаре у тех, у кого имеется возможность публиковать ресурсы без премодерации (почти, но это отдельная история) и у модераторов.
Текущие известные недостатки, которые будут исправляться в течение ближайшей недели (или больше):
  • Английский язык в дополнении.
  • Отсутствие ссылок на типы данных в таблице аргументов у функций.
  • Нормальный шаблон для тайпсетов.
Так же планируется:
  • Сделать бб-код с виджетом, который позволит прямо в сообщении сослаться на интересуемый метод/форвард.
  • Закладки для свойств.
Если что-то будет обнаружено - лучше писать не в данной теме, а в "баг-трекере": XF-SPApiDoc-BugTracker
Регистрация доступна.
 
Последнее редактирование:

authtern

𝓃𝓊𝓁𝓁𝑒𝒹
Меценат
Сообщения
504
Реакции
327
Ну-да ну-да, пошёл я нафиг ;(
 

Webman

old-dev
Меценат
Сообщения
797
Реакции
306
Можно еще полнотекстовый поиск реализовать (например, Elasticsearch) в реалтайме.
Тот же поиск на alliedmodders работает медленно и неудобно.
 

NaN

FPE_INTDIV_TRAP
Команда форума
Меценат
Сообщения
1,518
Реакции
1,362

Kruzya

Здравствуй, юность в сапогах
Меценат
Сообщения
10,713
Реакции
8,862
Можно еще полнотекстовый поиск реализовать (например, Elasticsearch) в реалтайме.
Там под капотом используется движковый поиск, который сейчас настроен и работает именно на Эластике.
Ну и да, он умеет искать по описанию функции:
1596360217318.png
 
Сверху