1

我使用了以下控制器,但是如何将 README.MD 原始文件的每一行格式化为 html 文档

    angular.module('ExampleApp', [])
  .controller('ExampleController', function($scope, Slim,$sce) {
    Slim.getReadme().then(function(resp) {
      $scope.readme = $sce.trustAsHtml(resp.data);
    }).catch(function(resp) {
      console.log("catch", resp);
    });
  })
  .service('Slim', function($http) {
    return {
      getReadme: function() {
        return $http.get("https://api.github.com/repos/btford/angular-markdown-directive/readme", {
          headers: {
            "Accept": "application/vnd.github.v3.raw"
          }
        });
      }
    };
  });

我很高兴知道将原始自述文件转换为格式化的 html 页面

4

3 回答 3

1

有一些插件可以将 Markdown 编译为 html。其中之一是 evilstreak 的 markdown.js:

https://github.com/evilstreak/markdown-js

于 2016-04-11T07:48:07.933 回答
1

我建议您查看showdownjs,获取原始文本并将其转换为 html 像这样。

var converter = new showdown.Converter(),
    text      = '#hello, markdown!',
    html      = converter.makeHtml(text);
于 2016-04-11T07:49:28.443 回答
1

..如何将 README.MD 原始文件的每一行格式化为 html 文档。

您从 github API 得到的响应是普通的降价。所以你只需要:

  • response.data在实际将其绑定到范围之前,使用合适的 markdown-to-html 库渲染它。这是一个使用marked.js的例子

     $scope.readme = $sce.trustAsHtml($scope.parseMD(resp.data));
    

    其中 parseMD 是一个返回渲染 HTML 的函数

     $scope.parseMD = function(md_content){
          return marked(md_content);
     }
    
  • 使用将输出绑定为 htmlng-bind-html

     <div ng-bind-html="readme"></div>
    

你在做什么parseMD真的取决于你,这只是一个选择的问题。以下是一些流行的 Markdown-to-HTML 库:

  • 标记 //易于理解/深入代码
  • marukumarkdown - js // 支持gruber方言
  • showdown.js //PageDown在stackexchange 中分叉

所有这些库似乎都与Github Flavored Markdown配合得很好

这是演示

于 2016-04-11T08:13:30.227 回答