Git Product home page Git Product logo

msdocsviewer's Introduction

  • 👋 Hello, I’m @alexander-hanel
  • 👀 I’m interested in reverse engineering, malware, cryptography, program analysis and programming.
  • 🌱 I’m currently trying to improve my foundational knowledge of math and program analysis.
  • 📕 I wrote the Beginner's Guide to IDAPython.
  • 📓 I blog (rarely) at Hooked-On-Mnemonic.
  • 📝 I commonly forget code so I'm usually posting snippets to my gist.
  • 🏡 The rest of the time I'm either with my family, in my garage, playing video games or reading books.

msdocsviewer's People

Contributors

alexander-hanel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

msdocsviewer's Issues

'QTextEdit' object has no attribute 'setMarkdown'

i have already modified this function
def OnClose(self, form):
"""
Called when the widget is closed
"""
global frm
global started
del frm
started = False
Then,
Failed while executing plugin_t.run():
Traceback (most recent call last):
File "h:/tools/IDA 7.6/IDA Pro 7.6/plugins/msdocviewida.py", line 110, in run
frm.load_markdown()
File "h:/tools/IDA 7.6/IDA Pro 7.6/plugins/msdocviewida.py", line 73, in load_markdown
self.markdown_viewer.setMarkdown(api_markdown)
AttributeError: 'QTextEdit' object has no attribute 'setMarkdown'

auto get documention

Use github action to automatically run run_me_first.py to get the documentation.

name: msdocviewer-parser

on:
    push:
      branches: [ "main" ]
    pull_request:
      branches: [ "main" ]
      
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: 检出代码
        uses: actions/checkout@v4
        with:
          submodules: 'recursive'
      
      - name: 设置python版本
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'
      
      - name: 安装依赖
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt

      - name: 运行脚本
        run: |
          python run_me_first.py --overwrite
      
      - name: 压缩文件夹
        run: zip -r apis_md.zip ./apis_md
      
      - name: upload-artifact
        uses: actions/[email protected]
        with:
            name: apis_md.zip
            path: ./apis_md.zip
          
      - name: 发布
        uses: "marvinpinto/action-automatic-releases@latest"
        with:
          repo_token: "${{ secrets.GITHUB_TOKEN }}"
          automatic_release_tag: "latest"
          prerelease: false
          title: "Auto Build"
          files: ./apis_md.zip

Python path slash

Hi, thanks for the great work!

The slash used in

SDK_DOCS_DIR = "sdk-api-src\\content"
and below
(DOCS_DIR) should be / rather than \\. So it'd be compatible for Linux or macOS.
Otherwise you can also use os.path.join(), but / seems to work in my case.

Btw, it'd be great if you could release a version for apis_md, since I'm not sure what I generated is the full coverage.

[Bug] Incorrect md parsing logic

When you parse the md's you split on ---:

https://github.com/alexander-hanel/msdocsviewer/blob/main/run_me_first.py#L39

Later you make the assumption that data_split[2] has the rest of the md:

https://github.com/alexander-hanel/msdocsviewer/blob/main/run_me_first.py#L61

But this doesn't work because if the md has flag values then those are represented as a table which uses the following markdown:

| Flag | Meaning |
| ---- | ------- |

So you end up capturing only the rest of the md up to the first instance of any flag values that may exist. You can see an example here:

https://github.com/MicrosoftDocs/windows-driver-docs-ddi/blob/5b57a3e1a8d4948e1286dd616e79455440df7117/wdk-ddi-src/content/ntifs/nf-ntifs-rtlallocateheap.md?plain=1#L64

typo error

in readme.md file:
Should be: "cd msdocsviwer", not "cd msdocviwer"

Great plugin, tks you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.