Files
morten-olsen.github.io/src/data/assets/WebpackAssets.ts
2022-03-29 23:01:49 +02:00

31 lines
667 B
TypeScript

import path from 'path';
import { AssetResolver } from './';
const assetModules = (require as any).context(
'../../../content',
true,
/\.(png|jpe?g|svg|gif|tex\.yml)$/,
)
const assets = assetModules.keys().reduce((output, key: string) => ({
...output,
[path.resolve(
'/',
key,
)]: assetModules(key).default || assetModules(key),
}), {} as any);
class WebpackAssetResolver extends AssetResolver {
#assets = assets;
public getPath = (...location: string[]) => {
const target = path.resolve(
'/',
...location,
);
const assetModule = this.#assets[target];
return assetModule;
}
}
export { WebpackAssetResolver };