Class: LingBuzzPlugin
Defined in: src/plugins/builtin/lingbuzz.ts:115
LingBuzz integration plugin.
Remarks
Fetches linguistics eprints from LingBuzz via RSS feed and imports them into the Chive AppView cache. Users can claim eprints they authored.
Extends ImportingPlugin for standardized import/claiming workflow.
Example
const plugin = new LingBuzzPlugin();
await manager.loadBuiltinPlugin(plugin);
Extends
Constructors
new LingBuzzPlugin()
new LingBuzzPlugin():
LingBuzzPlugin
Returns
Inherited from
Properties
cache
protectedcache:ICacheProvider
Defined in: src/plugins/builtin/base-plugin.ts:88
Cache provider (available after initialization).
Inherited from
context
protectedcontext:IPluginContext
Defined in: src/plugins/builtin/base-plugin.ts:78
Plugin context (available after initialization).
Inherited from
id
readonlyid:"pub.chive.plugin.lingbuzz"='pub.chive.plugin.lingbuzz'
Defined in: src/plugins/builtin/lingbuzz.ts:119
Plugin ID.
Overrides
importService
protectedimportService:IImportService
Defined in: src/plugins/core/importing-plugin.ts:83
Import service instance.
Remarks
Set during initialization via dependency injection from context.
Inherited from
logger
protectedlogger:ILogger
Defined in: src/plugins/builtin/base-plugin.ts:83
Logger instance (available after initialization).
Inherited from
manifest
readonlymanifest:IPluginManifest
Defined in: src/plugins/builtin/lingbuzz.ts:139
Plugin manifest.
Overrides
metrics
protectedmetrics:IMetrics
Defined in: src/plugins/builtin/base-plugin.ts:93
Metrics provider (available after initialization).
Inherited from
rateLimitDelayMs
protectedrateLimitDelayMs:number=1000
Defined in: src/plugins/core/importing-plugin.ts:97
Minimum delay between requests in milliseconds.
Remarks
Override in subclass to set source-specific rate limit. Default: 1000ms (1 request per second)
Inherited from
ImportingPlugin.rateLimitDelayMs
source
readonlysource:"lingbuzz"
Defined in: src/plugins/builtin/lingbuzz.ts:124
Import source identifier.
Overrides
supportsSearch
readonlysupportsSearch:false
Defined in: src/plugins/builtin/lingbuzz.ts:134
Indicates this plugin does NOT support on-demand search.
Remarks
LingBuzz has no search API, so this plugin requires periodic bulk import via RSS feed and web scraping. Use ImportScheduler to schedule periodic imports.
Methods
buildEprintUrl()
buildEprintUrl(
externalId):string
Defined in: src/plugins/builtin/lingbuzz.ts:284
Builds the canonical URL for a LingBuzz paper.
Parameters
externalId
string
LingBuzz paper ID
Returns
string
Full URL to the paper
Overrides
ImportingPlugin.buildEprintUrl
buildPdfUrl()
buildPdfUrl(
externalId):null|string
Defined in: src/plugins/builtin/lingbuzz.ts:294
Builds the PDF URL for a LingBuzz paper.
Parameters
externalId
string
LingBuzz paper ID
Returns
null | string
PDF URL
Overrides
fetchEprints()
fetchEprints(
options?):AsyncIterable<ExternalEprint>
Defined in: src/plugins/builtin/lingbuzz.ts:244
Fetches eprints from LingBuzz RSS feed.
Parameters
options?
Fetch options (limit, cursor)
Returns
AsyncIterable<ExternalEprint>
Async iterable of external eprints
Overrides
fetchPaperDetails()
fetchPaperDetails(
paperId):Promise<null|LingBuzzPaper>
Defined in: src/plugins/builtin/lingbuzz.ts:461
Fetches additional metadata for a paper via web scraping.
Parameters
paperId
string
LingBuzz paper ID
Returns
Promise<null | LingBuzzPaper>
Enhanced paper metadata or null if scraping fails
Remarks
This method is rate-limited to be respectful to the server. Only call when additional metadata (abstract, etc.) is needed.
getConfig()
protectedgetConfig<T>(key):undefined|T
Defined in: src/plugins/builtin/base-plugin.ts:226
Gets a configuration value with type safety.
Type Parameters
• T
Parameters
key
string
Configuration key
Returns
undefined | T
Configuration value or undefined
Example
const apiKey = this.getConfig<string>('apiKey');
Inherited from
getExistingImport()
getExistingImport(
externalId):Promise<null|ImportedEprint>
Defined in: src/plugins/core/importing-plugin.ts:167
Gets an existing import by external ID.
Parameters
externalId
string
Source-specific identifier
Returns
Promise<null | ImportedEprint>
Imported eprint or null if not found
Inherited from
ImportingPlugin.getExistingImport
getPaper()
getPaper(
id):Promise<null|LingBuzzPaper>
Defined in: src/plugins/builtin/lingbuzz.ts:653
Gets a cached paper by ID.
Parameters
id
string
Paper ID
Returns
Promise<null | LingBuzzPaper>
Paper metadata or null
getRequiredConfig()
protectedgetRequiredConfig<T>(key):T
Defined in: src/plugins/builtin/base-plugin.ts:242
Gets a required configuration value.
Type Parameters
• T