diff --git a/docs/architecture/stack/trace-expansion-proving/prover-limits.mdx b/docs/architecture/stack/trace-expansion-proving/prover-limits.mdx
index cc1543083..b43d20ebd 100644
--- a/docs/architecture/stack/trace-expansion-proving/prover-limits.mdx
+++ b/docs/architecture/stack/trace-expansion-proving/prover-limits.mdx
@@ -2,6 +2,7 @@
title: Module limits
description: How module limits ensure the prover can generate proofs.
sidebar_position: 3
+image: /img/socialCards/module-limits.jpg
---
Linea uses module limits to keep proof complexity manageable and ensure that the prover can
diff --git a/docs/developers/reference/api/linea-gettransactionexclusionstatusv1.mdx b/docs/developers/reference/api/linea-gettransactionexclusionstatusv1.mdx
index 0ddaac378..7fa627664 100644
--- a/docs/developers/reference/api/linea-gettransactionexclusionstatusv1.mdx
+++ b/docs/developers/reference/api/linea-gettransactionexclusionstatusv1.mdx
@@ -1,6 +1,7 @@
---
title: linea_getTransactionExclusionStatusV1
description: Reference content for the linea_getTransactionExclusionStatusV1 method.
+image: /img/socialCards/lineagettransactionexclusionstatusv1.jpg
---
import Tabs from '@theme/Tabs';
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 4ee8b8c5d..5c9bec148 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -40,6 +40,10 @@ const config = {
locales: ["en"],
},
+ scripts: [
+ {src: "/js/getfeedback.js", defer: true, async: true}
+ ],
+
markdown: {
mermaid: true,
},
diff --git a/project-words.txt b/project-words.txt
index 68dfc0b7c..57acab3ad 100644
--- a/project-words.txt
+++ b/project-words.txt
@@ -300,6 +300,7 @@ gcnodes
gcsize
gctime
genkey
+getfeedback
getopts
gettransactionexclusionstatusv
gitgraph
@@ -895,6 +896,7 @@ upserts
upvotes
urdqt
urlset
+usabilla
USDL
USDLR
usecase
diff --git a/src/css/custom.css b/src/css/custom.css
index f68d15500..3afb44dbd 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -914,3 +914,14 @@ html[data-theme="dark"] .navbar {
.footer__copyright {
color: var(--banner-text);
}
+
+/* Necessary for enabling GetFeedback widgets to display */
+
+.getfeedback-container {
+ margin-top: 50px;
+ margin-bottom: -2rem;
+}
+
+.getfeedback-hidden {
+ display: none !important;
+}
\ No newline at end of file
diff --git a/src/theme/DocItem/Layout/GetFeedback.jsx b/src/theme/DocItem/Layout/GetFeedback.jsx
new file mode 100644
index 000000000..e4ad17863
--- /dev/null
+++ b/src/theme/DocItem/Layout/GetFeedback.jsx
@@ -0,0 +1,36 @@
+import React, { useState, useEffect, useRef } from "react";
+import { useColorMode } from "@docusaurus/theme-common";
+
+const GetFeedback = (props) => {
+ const feedbackContRef = useRef();
+ const { colorMode } = useColorMode();
+ const [theme, setTheme] = useState();
+
+ useEffect(() => {
+ setTheme(colorMode);
+ }, [colorMode]);
+
+ useEffect(() => {
+ setTheme(window?.localStorage?.getItem("theme") || colorMode);
+ window.usabilla.load("w.usabilla.com", "a0e35f23333a");
+ }, []);
+
+ return (
+
+ {/*Light*/}
+
+ {/*Dark*/}
+
+
+ );
+};
+
+export default GetFeedback;
\ No newline at end of file
diff --git a/src/theme/DocItem/Layout/index.js b/src/theme/DocItem/Layout/index.js
new file mode 100644
index 000000000..92bd1353c
--- /dev/null
+++ b/src/theme/DocItem/Layout/index.js
@@ -0,0 +1,59 @@
+import React from 'react';
+import clsx from 'clsx';
+import {useWindowSize} from '@docusaurus/theme-common';
+import {useDoc} from '@docusaurus/plugin-content-docs/client';
+import DocItemPaginator from '@theme/DocItem/Paginator';
+import DocVersionBanner from '@theme/DocVersionBanner';
+import DocVersionBadge from '@theme/DocVersionBadge';
+import DocItemFooter from '@theme/DocItem/Footer';
+import DocItemTOCMobile from '@theme/DocItem/TOC/Mobile';
+import DocItemTOCDesktop from '@theme/DocItem/TOC/Desktop';
+import DocItemContent from '@theme/DocItem/Content';
+import DocBreadcrumbs from '@theme/DocBreadcrumbs';
+import ContentVisibility from '@theme/ContentVisibility';
+import styles from './styles.module.css';
+import GetFeedback from './GetFeedback';
+
+/**
+ * Decide if the toc should be rendered, on mobile or desktop viewports
+ */
+function useDocTOC() {
+ const {frontMatter, toc} = useDoc();
+ const windowSize = useWindowSize();
+ const hidden = frontMatter.hide_table_of_contents;
+ const canRender = !hidden && toc.length > 0;
+ const mobile = canRender ? : undefined;
+ const desktop =
+ canRender && (windowSize === 'desktop' || windowSize === 'ssr') ? (
+
+ ) : undefined;
+ return {
+ hidden,
+ mobile,
+ desktop,
+ };
+}
+export default function DocItemLayout({children}) {
+ const docTOC = useDocTOC();
+ const {metadata} = useDoc();
+ return (
+
+
+
+
+
+
+
+
+ {docTOC.mobile}
+ {children}
+
+
+
+
+
+
+ {docTOC.desktop &&
{docTOC.desktop}
}
+
+ );
+}
diff --git a/src/theme/DocItem/Layout/styles.module.css b/src/theme/DocItem/Layout/styles.module.css
new file mode 100644
index 000000000..b7ab538c6
--- /dev/null
+++ b/src/theme/DocItem/Layout/styles.module.css
@@ -0,0 +1,10 @@
+.docItemContainer header + *,
+.docItemContainer article > *:first-child {
+ margin-top: 0;
+}
+
+@media (width >= 997px) {
+ .docItemCol {
+ max-width: 75% !important;
+ }
+}
diff --git a/static/img/socialCards/lineagettransactionexclusionstatusv1.jpg b/static/img/socialCards/lineagettransactionexclusionstatusv1.jpg
new file mode 100644
index 000000000..779c9e254
Binary files /dev/null and b/static/img/socialCards/lineagettransactionexclusionstatusv1.jpg differ
diff --git a/static/img/socialCards/module-limits.jpg b/static/img/socialCards/module-limits.jpg
new file mode 100644
index 000000000..45fecfe55
Binary files /dev/null and b/static/img/socialCards/module-limits.jpg differ
diff --git a/static/js/getfeedback.js b/static/js/getfeedback.js
new file mode 100644
index 000000000..4027bb1ef
--- /dev/null
+++ b/static/js/getfeedback.js
@@ -0,0 +1,64 @@
+/* eslint-disable */
+window.usabilla ||
+ (function () {
+ var a = window,
+ d = a.document,
+ c = {},
+ f = d.createElement("div"),
+ h = !1,
+ a = (a.usabilla = function () {
+ (c.a = c.a || []).push(arguments);
+ });
+ a._ = c;
+ c.ids = {};
+ f.style.display = "none";
+ (function () {
+ if (!d.body) return setTimeout(arguments.callee, 100);
+ d.body.insertBefore(f, d.body.firstChild).id = "usabilla";
+ h = !0;
+ })();
+ a.load = function (a, g, k) {
+ if (!c.ids[g]) {
+ var e = (c.ids = {});
+ e.url = "//" + a + "/" + g + ".js?s1";
+ e.config = k;
+ setTimeout(function () {
+ if (!h) return setTimeout(arguments.callee, 100);
+ var b = d.createElement("iframe"),
+ a;
+ b.id = "usabilla-" + g;
+ /MSIE[ ]+6/.test(navigator.userAgent) && (b.src = "javascript:false");
+ f.appendChild(b);
+ try {
+ b.contentWindow.document.open();
+ } catch (c) {
+ (e.domain = d.domain),
+ (a =
+ "javascript:var d=document.open();d.domain='" +
+ e.domain +
+ "';"),
+ (b.src = a + "void(0);");
+ }
+ try {
+ var l = b.contentWindow.document;
+ l.write(
+ [
+ "",
+ ].join("")
+ );
+ l.close();
+ } catch (m) {
+ b.src =
+ a +
+ 'd.write("' +
+ loaderHtml().replace(/"/g, String.fromCharCode(92) + '"') +
+ '");d.close();';
+ }
+ b.contentWindow.config = k;
+ b.contentWindow.SCRIPT_ID = g;
+ }, 0);
+ }
+ };
+ })();
\ No newline at end of file