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

Right is Left

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

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

Young <

Anekdot Man
Сообщения
687
Реакции
159
Я думаю мб еще создать базу инклюдов, чтобы не бегать по интернету, когда нужен определенный инк.
 

Grey83

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

Саша Шеин

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

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

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

Right is Left

Социопат
Команда форума
Сообщения
9,275
Реакции
7,572
А также, если пользователь размещает в ресурсах ядро плагина или плагин в котором есть нативы / форварды добавить возможность отдельно загрузить inc или же описание функций.
А тут сложно, ибо каждый ведёт архивы так, как ему удобно. Плюс не все загружают архивы на форум, кто-то ссылкой указывает.
 

Саша Шеин

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

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

NaN

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

Саша Шеин

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

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

nulled

кашамала
Сообщения
334
Реакции
159
Прикольно, несомненно жду релиза.
 

Right is Left

Социопат
Команда форума
Сообщения
9,275
Реакции
7,572
можно вручную сделать загрузку .inc
Тогда придётся и архивы, всё же, частично саппортить в этом поле, ибо есть плагины по типу Шопа от Фроза, где инклуда не одна, а несколько, да ещё и в папке часть.

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

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

Right is Left

Социопат
Команда форума
Сообщения
9,275
Реакции
7,572
Может в конце недели раскатаю тестовую версию здесь, и дам доступ ограниченному кругу лиц для комментариев. К тому моменту скорее всего закончу реализацию вывода всех данных, которые только докген сейчас мне отдаёт.
 

Right is Left

Социопат
Команда форума
Сообщения
9,275
Реакции
7,572
Запилил вывод методов и свойств у методмап. Вместо классического отображения "как в официальной доке", запилил вкладочками.
1592432537511.png
 

Right is Left

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

Webman

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

NaN

SIGFPE
Команда форума
Сообщения
1,074
Реакции
706

Right is Left

Социопат
Команда форума
Сообщения
9,275
Реакции
7,572
Можно еще полнотекстовый поиск реализовать (например, Elasticsearch) в реалтайме.
Там под капотом используется движковый поиск, который сейчас настроен и работает именно на Эластике.
Ну и да, он умеет искать по описанию функции:
1596360217318.png
 
Сверху