feat: Export Markdown to filesystem

This commit is contained in:
Sean Riley Hawkins 2022-05-20 15:55:27 +02:00
parent ef0d59ff30
commit e6ff4b5077

View File

@ -1,3 +1,7 @@
import 'dart:typed_data';
import 'dart:async';
import 'dart:io';
import 'package:app_flowy/workspace/application/doc/share_service.dart';
import 'package:app_flowy/workspace/application/markdown/delta_markdown.dart';
import 'package:flowy_sdk/protobuf/flowy-text-block/entities.pb.dart';
@ -5,6 +9,8 @@ import 'package:flowy_sdk/protobuf/flowy-folder-data-model/view.pb.dart';
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:file_saver/file_saver.dart';
import 'package:path_provider/path_provider.dart';
import 'package:dartz/dartz.dart';
part 'share_bloc.freezed.dart';
@ -33,8 +39,26 @@ class DocShareBloc extends Bloc<DocShareEvent, DocShareState> {
ExportData _convertDeltaToMarkdown(ExportData value) {
final result = deltaToMarkdown(value.data);
value.data = result;
writeFile(result);
return value;
}
Future<String> get _localPath async {
final dir = await getApplicationDocumentsDirectory();
return dir.path;
}
Future<File> get _localFile async {
final path = await _localPath;
print(view);
return File('$path/${view.name}.md');
}
Future<File> writeFile(String md) async {
final file = await _localFile;
print(file);
return file.writeAsString(md);
}
}
@freezed