Files
morten-olsen.github.io/bin/data/profile/index.ts
Morten Olsen 35ef204433 foo
2023-03-29 15:10:30 +02:00

38 lines
842 B
TypeScript

import { resolve } from 'path';
import { createFile } from '../../resources/file';
import YAML from 'yaml';
import { Bundler } from '../../bundler';
import { Profile } from '../../../types';
import { createImage } from '../../resources/image';
type ProfileOptions = {
path: string;
cwd: string;
bundler: Bundler;
};
const createProfile = ({ cwd, path, bundler }: ProfileOptions) => {
const file = createFile({
path: resolve(cwd, path),
});
const profile = file.pipe(async (yaml) => {
const data = YAML.parse(yaml);
const imagePath = resolve('content', data.image);
const result: Profile = {
...data,
imageUrl: createImage({
image: imagePath,
format: 'avif',
bundler,
}),
imagePath,
};
return result;
});
return profile;
};
export { createProfile };