
Research
Malicious fezbox npm Package Steals Browser Passwords from Cookies via Innovative QR Code Steganographic Technique
A malicious package uses a QR code as steganography in an innovative technique.
@markprompt/docusaurus-theme-search
Advanced tools
A Markprompt plugin for Docusaurus.
npm install @markprompt/docusaurus-theme-search
In your docusaurus.config.js
, add @markprompt/docusaurus-theme-search
to
themes
. Configure markprompt
in the themeConfig
.
const config = {
// …
themes: [
// …
'@markprompt/docusaurus-theme-search',
],
themeConfig:
/** @type {import('@markprompt/docusaurus-theme-search').ThemeConfig} */ ({
markprompt: {
projectKey: 'YOUR-PROJECT-KEY',
trigger: { floating: true },
},
}),
};
Now a search button will appear on your Docusaurus page.
If your Docusaurus project already has a search plugin, such as theme-search-algolia, you need to swizzle the current search plugin, and add Markprompt as a standalone component.
To swizzle your current search plugin, run:
npx docusaurus swizzle
Choose Wrap
, and confirm. This will create a SearchBar
wrapper component in
/src/theme/SearchBar
. Next, install the standalone Markprompt component and
CSS:
npm install @markprompt/react @markprompt/css
Edit /src/theme/SearchBar/index.tsx
to include Markprompt next to your
existing search bar. Here is an example:
import type { WrapperProps } from '@docusaurus/types';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import { type MarkpromptConfig } from '@markprompt/docusaurus-theme-search';
import type SearchBarType from '@theme/SearchBar';
import SearchBar from '@theme-original/SearchBar';
import { lazy, Suspense } from 'react';
// import Markprompt lazily as Docusaurus does not currently support ESM
const Markprompt = lazy(() =>
import('@markprompt/react').then((mod) => ({ default: mod.Markprompt })),
);
import '@markprompt/css';
type Props = WrapperProps<typeof SearchBarType>;
export default function SearchBarWrapper(props: Props): JSX.Element {
const { siteConfig } = useDocusaurusContext();
const { projectKey, ...config } = siteConfig.themeConfig
.markprompt as MarkpromptConfig;
return (
<div style={{ display: 'flex', gap: '16px', alignItems: 'center' }}>
{/* Docusaurus' version of `ReactDOMServer` doesn't support Suspense yet, so we can only render the component on the client. */}
{typeof window !== 'undefined' && (
<Suspense fallback={null}>
<Markprompt projectKey={projectKey} {...config} />
</Suspense>
)}
<SearchBar {...props} />
</div>
);
}
The full documentation for the package can be found on the Markprompt docs.
This library is created by the team behind Markprompt (@markprompt).
FAQs
Markprompt search theme for Docusaurus
We found that @markprompt/docusaurus-theme-search demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.
Application Security
/Research
/Security News
Socket detected multiple compromised CrowdStrike npm packages, continuing the "Shai-Hulud" supply chain attack that has now impacted nearly 500 packages.