从 angular js 中的 github 获取原始自述文件后如何将其转换为 html 格式的文档

how to convert a raw readme file to html formated document after geting it from github in angular js

我使用了以下控制器,但如何将 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 页面

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

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

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

var converter = new showdown.Converter(),
    text      = '#hello, markdown!',
    html      = converter.makeHtml(text);

..how to format each line of the README.MD raw file to html document..

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

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

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

    其中 parseMD 是 returns 呈现的函数 HTML

     $scope.parseMD = function(md_content){
          return marked(md_content);
     }
    
  • 使用 ng-bind-html

    将输出绑定为 html
     <div ng-bind-html="readme"></div>
    

你在 parseMD 做什么完全取决于你,这只是一个选择问题。这里有一些流行的 markdown-to-HTML 库:

  • marked // 方便understand/dive进入代码
  • markdown-js // 支持 maruku 以及 gruber 方言
  • showdown.js // 在 stackexchange
  • 中分叉为 PageDown

所有这些库似乎都与 Github Flavored Markdown

配合得很好

这是DEMO