projectGuideMarkdown static method
Implementation
static String projectGuideMarkdown(SetupConfig config) {
final StringBuffer buffer = StringBuffer();
final String mainPath = mainProjectPath(config);
final String configPath = p.join(
config.outputDir,
'config',
'setup_config.env',
);
buffer.writeln('# ${config.baseClassName} Setup Guide');
buffer.writeln();
buffer.writeln('Generated by Oracular for `${config.appName}`.');
buffer.writeln();
buffer.writeln('## 1. Open And Run');
buffer.writeln();
buffer.writeln('- Main project: `$mainPath`');
buffer.writeln('- Run:');
buffer.writeln();
buffer.writeln('```bash');
buffer.writeln('cd $mainPath');
buffer.writeln(runCommand(config));
buffer.writeln('```');
buffer.writeln();
buffer.writeln('## 2. Created Folders');
buffer.writeln();
for (final String item in createdProjectItems(config)) {
buffer.writeln('- $item');
}
buffer.writeln();
buffer.writeln('## 3. Oracular Commands');
buffer.writeln();
buffer.writeln('```bash');
buffer.writeln('oracular guide');
buffer.writeln('oracular open guide');
buffer.writeln('oracular open app');
buffer.writeln('oracular open root');
if (config.useFirebase) {
buffer.writeln('oracular open firebase');
buffer.writeln('oracular open auth');
buffer.writeln('oracular open firestore');
buffer.writeln('oracular open storage');
if (supportsWebHosting(config)) {
buffer.writeln('oracular open hosting');
}
}
if (config.createServer) {
buffer.writeln('oracular open server');
if (config.firebaseProjectId != null) {
buffer.writeln('oracular open service-account');
buffer.writeln('oracular open cloud-run');
}
}
buffer.writeln('```');
buffer.writeln();
if (config.useFirebase && config.firebaseProjectId != null) {
_writeFirebaseGuide(buffer, config);
} else {
buffer.writeln('## 4. Enable Firebase Later');
buffer.writeln();
buffer.writeln('- Edit `$configPath`.');
buffer.writeln('- Set `USE_FIREBASE=yes`.');
buffer.writeln('- Set `FIREBASE_PROJECT_ID=<your-project-id>`.');
buffer.writeln('- Run `oracular deploy firebase-setup-full`.');
buffer.writeln('- Open Firebase: <$_firebaseConsoleBase>');
buffer.writeln();
}
if (config.createServer) {
_writeServerGuide(buffer, config);
}
if (config.template.isJasprDocs) {
buffer.writeln('## Jaspr Docs Dependencies');
buffer.writeln();
buffer.writeln(
'- Local deps: `${p.join(config.outputDir, '.oracular_deps')}`',
);
buffer.writeln(
'- Keep `.oracular_deps/` next to `${config.webPackageName}/`.',
);
buffer.writeln();
}
buffer.writeln('## Troubleshooting');
buffer.writeln();
buffer.writeln('- Check tools: `oracular check tools`');
buffer.writeln('- Check Firebase tools: `oracular check firebase`');
buffer.writeln(
'- Regenerate Firebase config: `oracular deploy generate-configs`',
);
return buffer.toString();
}