async Task LoadSource(string content, string filename, bool isMarkdown) { var fontSize = (int)UIFont.PreferredSubheadline.PointSize; if (isMarkdown) { var markdownContent = await _applicationService.Client.Markdown.GetMarkdown(content); var model = new MarkdownModel(markdownContent, fontSize); var htmlContent = new MarkdownWebView { Model = model }; LoadContent(htmlContent.GenerateString()); } else { var zoom = UIDevice.CurrentDevice.UserInterfaceIdiom != UIUserInterfaceIdiom.Phone; var theme = _applicationService.Account.CodeEditTheme; var model = new SyntaxHighlighterModel(content, theme, fontSize, zoom, file: filename); var contentView = new SyntaxHighlighterWebView { Model = model }; LoadContent(contentView.GenerateString()); } }
async Task LoadSource(Uri fileUri) { var fontSize = (int)UIFont.PreferredSubheadline.PointSize; var content = System.IO.File.ReadAllText(fileUri.LocalPath, System.Text.Encoding.UTF8); if (ViewModel.IsMarkdown) { var markdownContent = await Mvx.Resolve <IApplicationService>().Client.Markdown.GetMarkdown(content); var model = new MarkdownModel(markdownContent, fontSize); var htmlContent = new MarkdownWebView { Model = model }; LoadContent(htmlContent.GenerateString()); } else { var zoom = UIDevice.CurrentDevice.UserInterfaceIdiom != UIUserInterfaceIdiom.Phone; var model = new SyntaxHighlighterModel(content, "idea", fontSize, zoom, fileUri.LocalPath); var contentView = new SyntaxHighlighterWebView { Model = model }; LoadContent(contentView.GenerateString()); } }
void SegmentValueChanged() { if (_viewSegment.SelectedSegment == 0) { if (_previewView != null) { _previewView.RemoveFromSuperview(); _previewView.Dispose(); _previewView = null; } Add(TextView); TextView.BecomeFirstResponder(); } else { if (_previewView == null) { _previewView = new WKWebView(this.View.Bounds, new WKWebViewConfiguration()); } TextView.RemoveFromSuperview(); Add(_previewView); var markdownService = Mvx.Resolve <IMarkdownService>(); var markdownText = markdownService.Convert(Text); var model = new MarkdownModel(markdownText, (int)UIFont.PreferredSubheadline.PointSize); var view = new MarkdownWebView { Model = model }.GenerateString(); _previewView.LoadHtmlString(view, NSBundle.MainBundle.BundleUrl); } }
private async Task <string> ConvertToWebView(Octokit.Readme readme) { var content = await _markdownService.Convert(readme.Content); var model = new MarkdownModel(content, (int)UIFont.PreferredSubheadline.PointSize); return(new MarkdownWebView { Model = model }.GenerateString()); }
private async Task LoadPreview(WKWebView previewView) { var markdownText = await _markdownService.Convert(Text); var model = new MarkdownModel(markdownText, (int)UIFont.PreferredSubheadline.PointSize); var view = new MarkdownWebView { Model = model }.GenerateString(); previewView.LoadHtmlString(view, NSBundle.MainBundle.BundleUrl); }
public async Task <ActionResult> Page(string page) { var markdown = await _markdownRenderer.RenderMarkdownFromFile(page); var model = new MarkdownModel(); model.Title = markdown.Yaml?.Title; model.Markdown = markdown.Html; return(View(model)); }
public IActionResult Markdown(MarkdownModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } else { model.MarkdownHtml = CommonMarkConverter.Convert(model.MarkdownText); return(View(model)); } }
private MarkdownModel GetModel() { var model = new MarkdownModel(); if (!this.IsEmpty) { model.Markdown = this.GetHtml(); } model.UseWrapper = this.UseWrapper; return(model); }
public void DingDingMarkdown() { var list = new List <DingDingMsgModel>() { new DingDingMsgModel() { msgtype = "" }, new DingDingMsgModel() { msgtype = null } }; var l = list.Where(t => t.msgtype.Contains("")).ToList(); var url = "https://oapi.dingtalk.com/robot/send?access_token=5f534e705e8965260dbae62e29c9abc7b5bdb9ff5c43af1914426ac2d8516d81"; var oper = "1001"; var com = "01"; var mo = new MarkdownModel() { msgtype = "markdown", //markdown = new Markdown() //{ // text = $@"<font color=#FF0000 size=11 face='黑体'>事故系统[TMS] </font> // <font color=black size=6 >**发生时间:** {DateTime.Now} </font> // <font color=black size=6 >**涉及页面:** 录入 </font> // <font color=black size=6 >**操作人:** {oper} </font> // <font color=black size=6 >**操作仓:** {com} </font> // <font color=black size=6 >**问题:** 就是有问题 </font>", // title = "收到TMS错误信息", //}, markdown = new Markdown() { text = $@"<font color=#FF0000 size=11 face='黑体'>事故系统[TMS]</font> **发生时间:** {DateTime.Now} **涉及页面:** 录入 **操作仓:** {com} **操作人:** {oper} **问题:** 就是有问题", title = "收到TMS错误信息", }, at = new At() { atMobiles = new[] { "" }, isAtAll = false }, }; string response = HttpPostConnectToServer(url, mo.ToJsonString()); Console.WriteLine(response); }
public ViewModelLocator() { _Model = new MarkdownModel(); if (DesignMode) { } else { using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(MARKDOWN)) using (StreamReader reader = new StreamReader(stream)) { _Model.Markdown = reader.ReadToEnd(); } } }
public async Task <IActionResult> Markdown( string target, int pid, MarkdownModel model) { if (!IProblemStore.MarkdownFiles.Contains(target)) { return(NotFound()); } if (target != model.Target || $"p{pid}" != model.BackingStore) { return(BadRequest()); } await Problems.WriteFileAsync(Problem, $"{target}.md", model.Markdown ?? string.Empty); StatusMessage = "Description saved."; return(RedirectToAction()); }
public async Task <IActionResult> Markdown( string target, int pid, MarkdownModel model) { if (!AcceptableTarget.Contains(target)) { return(NotFound()); } var backstore = "p" + pid; if (target != model.Target || backstore != model.BackingStore) { return(BadRequest()); } await IoContext.WritePartAsync(backstore, target + ".md", model.Markdown); return(View(model)); }
private MarkdownModel ParseMarkdownToModel(string markdown, MarkdownProcessingFolder folderConfig = null) { var model = new MarkdownModel(); if (folderConfig == null) { folderConfig = new MarkdownProcessingFolder(); } if (folderConfig.ExtractTitle) { var firstLines = StringUtils.GetLines(markdown, 30); var firstLinesText = String.Join("\n", firstLines); // Assume YAML if (markdown.StartsWith("---")) { var yaml = StringUtils.ExtractString(firstLinesText, "---", "---", returnDelimiters: true); if (yaml != null) { model.Title = StringUtils.ExtractString(yaml, "title: ", "\n"); model.YamlHeader = yaml.Replace("---", "").Trim(); } } if (model.Title == null) { foreach (var line in firstLines.Take(10)) { if (line.TrimStart().StartsWith("# ")) { model.Title = line.TrimStart(new char[] { ' ', '\t', '#' }); break; } } } } model.RawMarkdown = markdown; model.RenderedMarkdown = Markdown.ParseHtmlString(markdown); return(model); }
public override void ViewDidLoad() { base.ViewDidLoad(); _splitButton1 = _split.AddButton("Comments", "-"); _splitButton2 = _split.AddButton("Participants", "-"); Title = "Issue #" + ViewModel.Id; HeaderView.SetImage(null, Images.Avatar); HeaderView.Text = Title; Appeared.Take(1) .Select(_ => Observable.Timer(TimeSpan.FromSeconds(0.2f))) .Switch() .ObserveOn(RxApp.MainThreadScheduler) .Select(_ => ViewModel.Bind(x => x.IsClosed, true).Where(x => x.HasValue).Select(x => x.Value)) .Switch() .Subscribe(x => { HeaderView.SubImageView.TintColor = x ? UIColor.FromRGB(0xbd, 0x2c, 0) : UIColor.FromRGB(0x6c, 0xc6, 0x44); HeaderView.SetSubImage((x ? Octicon.IssueClosed :Octicon.IssueOpened).ToImage()); }); _milestoneElement = new StringElement("Milestone", "No Milestone", UITableViewCellStyle.Value1) { Image = Octicon.Milestone.ToImage() }; _assigneeElement = new StringElement("Assigned", "Unassigned", UITableViewCellStyle.Value1) { Image = Octicon.Person.ToImage() }; _labelsElement = new StringElement("Labels", "None", UITableViewCellStyle.Value1) { Image = Octicon.Tag.ToImage() }; _addCommentElement = new StringElement("Add Comment") { Image = Octicon.Pencil.ToImage() }; var actionButton = new UIBarButtonItem(UIBarButtonSystemItem.Action) { Enabled = false }; NavigationItem.RightBarButtonItem = actionButton; ViewModel.Bind(x => x.IsModifying).SubscribeStatus("Loading..."); ViewModel.Bind(x => x.Issue).Subscribe(x => { _assigneeElement.Value = x.Assignee != null ? x.Assignee.Login : "******"; _milestoneElement.Value = x.Milestone != null ? x.Milestone.Title : "No Milestone"; _labelsElement.Value = x.Labels.Count == 0 ? "None" : string.Join(", ", x.Labels.Select(i => i.Name)); var model = new MarkdownModel(ViewModel.MarkdownDescription, (int)UIFont.PreferredSubheadline.PointSize, true); var markdown = new MarkdownWebView { Model = model }; var html = markdown.GenerateString(); _descriptionElement.SetValue(string.IsNullOrEmpty(ViewModel.MarkdownDescription) ? null : html); HeaderView.Text = x.Title; HeaderView.SubText = "Updated " + x.UpdatedAt.Humanize(); HeaderView.SetImage(x.User?.AvatarUrl, Images.Avatar); RefreshHeaderView(); Render(); }); ViewModel.BindCollection(x => x.Comments).Subscribe(_ => RenderComments()); ViewModel.BindCollection(x => x.Events).Subscribe(_ => RenderComments()); ViewModel.Bind(x => x.ShouldShowPro).Subscribe(x => { if (x) { this.ShowPrivateView(); } }); OnActivation(d => { d(_milestoneElement.Clicked.BindCommand(ViewModel.GoToMilestoneCommand)); d(_assigneeElement.Clicked.BindCommand(ViewModel.GoToAssigneeCommand)); d(_labelsElement.Clicked.BindCommand(ViewModel.GoToLabelsCommand)); d(_addCommentElement.Clicked.Subscribe(_ => AddCommentTapped())); d(_descriptionElement.UrlRequested.BindCommand(ViewModel.GoToUrlCommand)); d(_commentsElement.UrlRequested.BindCommand(ViewModel.GoToUrlCommand)); d(actionButton.GetClickedObservable().Subscribe(ShowExtraMenu)); d(HeaderView.Clicked.BindCommand(ViewModel.GoToOwner)); d(ViewModel.Bind(x => x.IsCollaborator, true).Subscribe(x => { foreach (var i in new [] { _assigneeElement, _milestoneElement, _labelsElement }) { i.Accessory = x ? UITableViewCellAccessory.DisclosureIndicator : UITableViewCellAccessory.None; } })); d(ViewModel.Bind(x => x.IsLoading).Subscribe(x => actionButton.Enabled = !x)); }); }
public MainViewModel(MarkdownModel model) { _Model = model; }
public ActionResult Index() { MarkdownModel model = GetModel(); return(View(this.Template, model)); }