Заставить DuckDuckHack Instant Answer работать на собственном сайте - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь понять, возможно ли использовать код из DuckDuckHack Мгновенные ответы вне контекста основного сайта DuckDuckGo.В конце концов, Instant Answer - это в основном автономный компонент, который состоит из некоторого HTML, CSS и Javascript и должен быть относительно автономным и многократно используемым.

Поскольку проект DuckDuckHack находится в режиме обслуживания, он, похоже, являетсяНемного сложно получить информацию: Slack и Forum, упомянутые в Руководстве разработчика , были отключены.Я пытался выяснить, пытались ли другие люди заставить Мгновенные ответы работать в других контекстах, но я ничего не мог найти.Существуют учебные пособия по написанию мгновенных ответов, такие как this с использованием инструментов Perl и DuckPAN.Я пытался заставить существующий Мгновенный ответ работать с использованием этих инструментов, но мне не удалось заставить его работать должным образом (не уверен, что они все еще поддерживаются).

Поскольку эти инструменты кажутся немного тяжелыми, я подумалможно было бы полностью обойти их и попытаться просто использовать HTML, CSS и JS из Мгновенного ответа напрямую.

Я впервые дал Калькулятор .Я нашел соответствующий исходный код в каталоге duckduckgo / zeroclickinfo-goodies в хранилище share / goodie / calculator .HTML, кажется, находится в content.handlebars, а затем есть calculator.css и calculator.js.Я создал простой HTML-файл , поместил туда HTML-код content.handlebars и включил ссылки на CSS-файл и JS-файл.Во-первых, CSS не будет работать, потому что правила CSS не применяются без добавления дополнительных div-пакетов-оберток, которые можно легко найти при проверке сайта DuckDuckGo с видимым калькулятором Instant Answer.После добавления этих оболочек div пользовательский интерфейс калькулятора выглядит более или менее неповрежденным .Однако кнопки пользовательского интерфейса вообще не работают.

Глядя на консоль Javascript, я получаю эту ошибку:

Uncaught ReferenceError: DDH is not defined
    at calculator.js:1

Видимо, для требуется объект DDHcalculator.js , однако я понятия не имею, каким должен быть этот объект и как я мог бы его создать.

Кто-нибудь знает, как эта переменная DDH обычно инициализируется или, в более общем смысле, как это сделать??Любая ссылка на проекты, использующие код из DuckDuckHack для своих сайтов, также будет высоко оценена.

...