NDoc is an inline comment parser and JavaScript documentation generator written
in Node.JS. This project was inspired by PDoc.
It tries to keep compatibility, but has some differences:
NDoc is primarily a CLI tool, so you don't need to code your documentor,
although it can be easily used as library.
Clarified EBNF syntax. Definitions now MUST be separated with an empty
line from the following comments.
Added options for deprecated tag: you can set versions, when tag was
deprecated and when method/property will be removed.
Added new tags: read-only, internal, chainable
Events support.
How to Install
We suppose that you already have Node and npm installed.
If not - try nvm.
npm install -g ndoc
Usage
usage: ndoc [-h] [-v] [--exclude PATTERN] [-o PATH] [--use PLUGIN]
[--alias MAPPING] [-r RENDERER] [--link-format FORMAT]
[-t TEMPLATE] [--show-all] [--package PACKAGE] [--index FILE]
[--gh-ribbon URL] [--broken-links ACTION] [--noenv]
PATH[PATH ...]
Positional arguments:
PATH Source files location
Optional arguments:
-h, --help Show this help message and exit.
-v, --version Show program's version number and exit.
--exclude PATTERN Glob patterns of filenames to exclude (you
can use wildcards: ?, *, **).
-o PATH, --output PATH Resulting file(s) location.
--use PLUGIN Load custom plugin.
--alias MAPPING Registers extensions alias. For example
`cc:js` will register `cc` extension as an
alias of `js`
-r RENDERER, --render RENDERER Documentation renderer (html, json). More
can be added by custom plugins.
--link-format FORMAT View sources link (no links by default)
format. You can use `{file}` and `{line}`
and any of `{package.*}` variables for
interpolation.
-t TEMPLATE, --title TEMPLATE Documentation title template. You can use
any of `{package.*}` variables for
interpolation. DEFAULT: `{package.name}
{package.version} API documentation`
--show-all By default `internal` methods/properties
are not shown. This trigger makes ndoc show
all methods/properties
--package PACKAGE Read specified package.json FILE. When not
specified, read ./package.json if such file
exists.
--index FILE Index file (with introduction text), e.g.
README.md file.
--gh-ribbon URL Add "Fork me on GitHub" ribbon with given
URL. You can use any of `{package.*}`
variables for interpolation.
--broken-links ACTION What to do if broken link occurred (show,
hide, throw). DEFAULT: `show`.
--noenv Ignore .ndocrc
Syntax
NDoc Syntax.
It is similar to PDoc one, with some
extensions (see start of this doc for details).
For developers
You can generate prototype documentation for test:
papers-we-lovePapers
from the computer science community to read and discuss. Papers We Love
(PWL) is a community built around reading, discussing and learning more
about academic computer science papers. This repository serves as a
directory of some of the best papers the community can find, bringing
together documents scattered across the web. You can also visit the
Papers We Love site for more info.https://paperswelove.org/
ampl /gsl (c/c++)This is
GSL, the GNU Scientific Library, a collection of numerical routines for
scientific computing.GNU Scientific Library with CMake build support and
AMPL bindings
g2o: A General
Framework for Graph Optimization. g2o is an open-source C++ framework
for optimizing graph-based nonlinear error functions. g2o has been
designed to be easily extensible to a wide range of problems and a new
problem typically can be specified in a few lines of code. The current
implementation provides solutions to several variants of SLAM and BA.A
wide range of problems in robotics as well as in computer-vision involve
the minimization of a non-linear error function that can be represented
as a graph. Typical instances are simultaneous localization and mapping
(SLAM) or bundle adjustment (BA). The overall goal in these problems is
to find the configuration of parameters or state variables that
maximally explain a set of measurements affected by Gaussian noise. g2o
is an open-source C++ framework for such nonlinear least squares
problems. g2o has been designed to be easily extensible to a wide range
of problems and a new problem typically can be specified in a few lines
of code. The current implementation provides solutions to several
variants of SLAM and BA. g2o offers a performance comparable to
implementations of state-of-the-art approaches for the specific problems
(02/2011).
Coq is a formal
proof management system. It provides a formal language to write
mathematical
definitions, executable algorithms and theorems together with an
environment for semi-interactive development of machine-checked proofs.
Typical applications include the [certification of properties of
programming languages](https://coq.inria.fr/cocorico/List of Coq PL Projects) (e.g. the CompCert compiler certification project, or the Bedrock verified low-level programming library), the [formalization of mathematics](https://coq.inria.fr/cocorico/List of Coq Math Projects) (e.g. the full formalization of the Feit-Thompson theorem or homotopy type theory) and teaching. GIthub : https://github.com/coq/coq
The HOL
interactive theorem prover is a proof assistant for higher-order logic:
a programming environment in which theorems can be proved and proof
tools implemented. Built-in decision procedures and theorem provers can
automatically establish many simple theorems (users may have to prove
the hard theorems themselves!) An oracle mechanism gives access to
external programs such as SMT and BDD engines. HOL is particularly
suitable as a platform for implementing combinations of deduction,
execution and property checking. HOL Guidebook Github : https://github.com/HOL-Theorem-Prover/HOL
ReactOS
An operating system based on the best Windows NT design
principles.ReactOS is an open source effort to develop a quality
operating system that is compatible with applications and drivers
written for the Microsoft Windows NT family of operating systems (NT4,
2000, XP, 2003).
WSL2-Linux-Kernel The source for the Linux kernel used in Windows Subsystem for Linux 2
encom-boardroom
An HTML5 recreation of the Boardroom Scene in Disney's Tron: Legacy. It
currently displays realtime data from GitHub and Wikipedia to make it a
bit more fun. View it in action at https://www.robscanlon.com/encom-boardroom/ .
javascript
awesome-javascript 🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things
jsdoc /jsdoc An API documentation generator for JavaScript.
zh.javascript.info:现代 JavaScript 教程(The Modern JavaScript Tutorial),以最新的 ECMAScript 规范为基准,通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识。
CesiumJS
is a JavaScript library for creating 3D globes and 2D maps in a web
browser without a plugin. It uses WebGL for hardware-accelerated
graphics, and is cross-platform, cross-browser, and tuned for
dynamic-data visualization.
D3.js is a
JavaScript library for manipulating documents based on data. D3 helps
you bring data to life using HTML, SVG, and CSS. D3’s emphasis on web
standards gives you the full capabilities of modern browsers without
tying yourself to a proprietary framework, combining powerful
visualization components and a data-driven approach to DOM manipulation.
https://d3js.org/https://d3js.org.cn/
ArtPlayer.js
is a modern and full featured HTML5 video player. is an easy-to-use and
feature-rich HTML5 video player, and most of the player's functional
controls support customization, which makes it easy to connect with your
business logic. In addition, it directly supports .vtt, .ass and .srt
subtitle formats. Integration with other dependencies such as flv.js,
hls.js, dash.js, etc. is also very simple. The code is highly decoupled,
the structure and logic are clear, and it is easy to track errors and
add new features.artplayer.org
termux-packagesA build system and primary set of packages for Termux.
AidLearning-FrameWork
🔥🔥AidLearning is a powerful mobile development platform, AidLearning
builds a linux env supporting GUI, deep learning and visual IDE on
Android...Now Aid supports CPU+GPU+NPU for high performance
acceleration...Linux on Android or HarmonyOS.
AI,Android,Linux,ARM:基于Android+Linux融合生态的AI应用开发平台。AidLux 是一个基于ARM构建,同时支持多生态融合(Android+Linux)环境的AI应用开发和部署平台,为开发者带来强大、简单、无限创意可能的奇妙体验!
SCC A C/C++
shellcode compiler based on llvm/clang technology, make writing and
testing shellcode more easier, you can write the code in C++, not only
in C, you can use globals(see limitations) and C++ with full compiler
syntax checking for APIs.
Dshell
An extensible network forensic analysis framework. Enables rapid
development of plugins to support the dissection of network packet
captures.
Awesome C
A curated list of C good stuff. This list contains only open source
code (as defined by the linked Open Source Definition), and sellers who
aren't evil for physical resources.
root-project /cling
Cling is an interactive C++ interpreter, built on top of Clang and LLVM
compiler infrastructure. Cling realizes the read-eval-print loop (REPL)
concept, in order to leverage rapid application development.
Implemented as a small extension to LLVM and Clang, the interpreter
reuses their strengths such as the praised concise and expressive
compiler diagnostics.
Lwan Web Server is a high-performance & scalable web server.
cli A library for interactive command line interfaces in modern C++
AutoHotkey
is a free, open source macro-creation and automation software utility
that allows users to automate repetitive tasks. It is driven by a custom
scripting language that has special provision for defining keyboard
shortcuts, otherwise known as hotkeys.
The LLVM
Project is a collection of modular and reusable compiler and toolchain
technologies. LLVM 最早是底层虚拟机(Low Level Virtual
Machine)的缩写,但由于项目发展过快,底层虚拟机已经不足以介绍项目本身,而它已经发展成为一个包含前端,优化器和后端的完整编译框架,并且全称就叫LLVM,并非任何英文的简称了。其主要由C++编写而成。Github
Premake
is a command line utility which reads a scripted definition of a
software project, then uses it to perform build configuration tasks or
generate project files for toolsets like Visual Studio, Xcode, and GNU
Make. Premake's scripts are little Lua programs, so the sky's the limit!
SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
SWIG is a
software development tool that connects programs written in C and C++
with a variety of high-level programming languages. SWIG is used with
different types of target languages including common scripting languages
such as Javascript, Perl, PHP, Python, Tcl and Ruby. The list of
supported languages also includes non-scripting languages such as C#, D,
Go language, Java including Android, Lua, OCaml, Octave, Scilab and R.
Also several interpreted and compiled Scheme implementations (Guile,
MzScheme/Racket) are supported. SWIG is most commonly used to create
high-level interpreted or compiled programming environments, user
interfaces, and as a tool for testing and prototyping C/C++ software.
SWIG is typically used to parse C/C++ interfaces and generate the 'glue
code' required for the above target languages to call into the C/C++
code. SWIG can also export its parse tree in the form of XML. SWIG is
free software and the code that SWIG generates is compatible with both
commercial and non-commercial projects.
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
implot:Immediate
Mode Plotting, GPU accelerated plotting library for Dear ImGui. It aims
to provide a first-class API that ImGui fans will love. ImPlot is well
suited for visualizing program data in real-time or creating interactive
plots, and requires minimal code to integrate. Just like ImGui, it does
not burden the end user with GUI state management, avoids STL
containers and C++ headers, and has no external dependencies except for
ImGui itself.
FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.
Diligent Engine
:A Modern Cross-Platform Low-Level 3D Graphics Library and Rendering
Framework. Diligent Engine is a lightweight cross-platform graphics API
abstraction library and rendering framework. It is designed to take full
advantage of Direct3D12, Vulkan and Metal, while supporting older
platforms via Direct3D11, OpenGL and OpenGLES. Diligent Engine exposes
common front-end API and uses HLSL as universal shading language on all
platforms and rendering back-ends. Platform-specific shader
representations (GLSL, MSL, DX bytecode or SPIRV) can be used with
corresponding back-ends. The engine is intended to be used as graphics
subsystem in a game engine or any other 3D application. It is
distributed under Apache 2.0 license and is free to use.
QuickJS-Windows-Build
Build QuickJS on Windows。QuickJS 是一个小型且可嵌入的 Javascript 引擎。它支持 ES2020
规范,包括模块、异步生成器、代理和 BigInt。 它可选地支持数学扩展,例如大十进制浮点数 (BigDecimal)、大二进制浮点数
(BigFloat) 和运算符重载。主要特点:小且易于嵌入:只有几个 C 文件,没有外部依赖,一个简单的 hello world 程序需要
210 KiB 的 x86 代码。 启动时间极短的快速解释器:在台式 PC 的单核上运行 ECMAScript 测试套件的 75000
次测试大约需要 100 秒。运行时实例的完整生命周期在不到 300 微秒内完成。 几乎完整的 ES2020 支持,包括模块、异步生成器和完整的
Annex B 支持(旧版 Web 兼容性)。 选择 ES2020 功能时,几乎 100% 通过 ECMAScript 测试套件测试。
Test262 报告中提供了摘要。 可以将Javascript
源代码编译为没有外部依赖的可执行文件。使用引用计数(以减少内存使用并具有确定性行为)和循环删除的垃圾收集。
数学扩展:BigDecimal、BigFloat、运算符重载、bigint 模式、数学模式。 在 Javascript
中实现上下文着色的命令行解释器。 带有 C 库包装器的小型内置标准库。
libfacedetection
An open source library for face detection in images. The face detection
speed can reach 1000FPS.This is an open source library for CNN-based
face detection in images. The CNN model has been converted to static
variables in C source files. The source code does not depend on any
other libraries. What you need is just a C++ compiler. You can compile
the source code under Windows, Linux, ARM and any platform with a C++
compiler.
al-khaser
is a PoC "malware" application with good intentions that aims to stress
your anti-malware system. It performs a bunch of common malware tricks
with the goal of seeing if you stay under the radar.
Free Download Manager是一款免费的多点续传下载及管理的软件,支持 HTTP, HTTPS and FTP 的下载功能支持直接浏览 FTP 站台的目录
微盾®防火墙是一款专为 Windows 服务器而开发的专业防火墙软件,能有效提升服务器安全级别,保护服务器免遭入侵。本软件授权个人免费使用,无任何功能限制。
Ceres Solver
is an open source C++ library for modeling and solving large,
complicated optimization problems. It is a feature rich, mature and
performant library which has been used in production at Google since
2010. Ceres Solver can solve two kinds of problems.
Task Explorer
is an advanced Task Manager tool with emphasis on, not just monitoring
what applications are running, but on finding out what applications are
doing. The UI focuses on expedience and getting real time data of what
the processes are doing at any given moment. Relevant data are provided
in easy to access (as less clicks as possible) panels, with no need to
open windows or windows of sub windows, instead additional information’s
for selected entries are shown in the lower half of the panel. Allowing
to browse the detailed information’s using arrow keys. And most data
are refreshed continuously, as seeing the dynamic of values often grants
additional insight.
Sandboxie
is a sandbox-based isolation software for 32-bit and 64-bit Windows
NT-based operating systems. It creates a sandbox-like isolated operating
environment in which applications can be run or installed without
permanently modifying local & mapped drives or the Windows registry.
An isolated virtual environment allows controlled testing of untrusted
programs and web surfing. Sandboxie allows you to create virtually
unlimited sandboxes and run them alone or simultaneously to isolate
programs from the host and each other, while also allowing you to run as
many programs simultaneously in a single box as you wish.
mono Mono open source
ECMA CLI, C# and .NET implementation.
第三方的跨平台的.NET运行环境,在微软的.net框架还只支持WIN平台的时候,mono就已经开始支持Unix, Windows,
MacOS甚至IOS,安卓等操作系统了。Mono由Novell公司(由Ximian发起,并由Miguel de
lcaza领导的,一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了
ADO NET和ASP NET。能够使得开发人员在Linux用C#开发程序。)主持的项目.该项目的目标是创建一系列符合标准ECMA
(Ecma-334和Ecma-335)的.Net 工具, 包括C #编译器和共同语言(CL 即 Common
Language)执行平台(Platform).与微软的.Net不同, Mono项目不仅可以运行于Windows系统内,还可以运行于Linux,
FreeBSD, Unix, Mac OS X和Solaris。
ServiceStack
ServiceStack 是能同时运行于 .Net 和 Mono 上的开源web框架,它是开发 Web 服务与 Web
应用的有力替代品:包含高性能 Razor Engine 的 Web 应用框架,支持例如 HTML,XML,JSON,SOAP
等多种格式的基于消息的 Web 服务框架,包含内建 IOC 的容器,若干内建库文件,诸如:Text serializer,Redis
Client,ORM 以及 caching providers,除了 ASP.NET Hosting 和 Mono Hosting 之外,还包含
self-hosting 选项
Nancy Lightweight,
low-ceremony, framework for building HTTP based services on .Net and
Mono .Nancy是一个轻量,高效的基于http
服务的框架,它能用来快迅而优雅的处理DELETE,GET,POST,OPTIONS,POST,PUT与PATCH请求。让开发者更加专注于其它业务及更重要的内容。
同样。Nancy能同时运行于.NET与MONO平台。
Hawk visualized crawler & ETL IDE written with C#/WPF
awesome-dotnet A collection of awesome .NET libraries, tools, frameworks and software
awesome-dotnet-core
Inspired by awesome, awesome-dotnet, awesome-nodejs,
frontend-dev-bookmarks.🐝 A collection of awesome .NET core libraries,
tools, frameworks and software
spyderis a
free and open source scientific environment written in Python, for
Python, and designed by and for scientists, engineers and data analysts.
It features a unique combination of the advanced editing, analysis,
debugging, and profiling functionality of a comprehensive development
tool with the data exploration, interactive execution, deep inspection,
and beautiful visualization capabilities of a scientific package.github
Taichi Lang is an
open-source, imperative, parallel programming language for
high-performance numerical computation. It is embedded in Python and
uses just-in-time (JIT) compiler frameworks, for example LLVM, to
offload the compute-intensive Python code to the native GPU or CPU
instructions.Productive, portable, and performant GPU programming in
Python.
aidlearning /AidLearning-FrameWorkAidLearning
is a mobile AI development platform that supports all mainstream
development frameworks and tools for deep learning and neural networks.
It has a unique cpu+gpu acceleration technology, that brings a
significant boost on performance of deep-learning algorithm by the
built-in tflite_gpu module. At the same time, AidLearning also provides
developers with popular development tools, such as VSCode and Jupiter
Notebook.
在移动端(Android)上构架了一个支持图形化界面的完整Linux系统,内置了最为流行的深度学习框架caffe/mxnet/keras/pytorch/tensorflow/ncnn/opencv…内置了可视化AI开发编辑器,内置了最为流行的VSCode、Jupyter等编程工具,支持触摸拖拽式界面设计,支持代码动态调试和运行。支持在移动端和PC端用python开发你的AI应用,支持把你的python源码转化为APP(Apk)发布
Minerva: a fast and
flexible system for deep learning on multi-GPU. It provides ndarray
programming interface, just like Numpy. Python bindings and C++ bindings
are both available. The resulting code can be run on CPU or GPU.
Multi-GPU support is very easy.
libdnn A lightweight
and user friendly C++ library for deep and convolutional neural network
with GPU acceleration. libdnn 是一個輕量、好讀、人性化的深層學習函式庫。由 C++ 和 CUDA
撰寫而成,目的是讓開發人員、研究人員、或任何有興趣的人都可以輕鬆體驗並駕馭深層學習所帶來的威力
NeuralTalk is a Python+numpy project for learning Multimodal Recurrent Neural Networks that describe images with sentences.
DIGITS (the Deep
Learning GPU Training System) is a webapp for training deep learning
models. The currently supported frameworks are: Caffe, Torch, and
Tensorflow.https://developer.nvidia.com/digits
Dlib is a modern C++
toolkit containing machine learning algorithms and tools for creating
complex software in C++ to solve real world problems. It is used in both
industry and academia in a wide range of domains including robotics,
embedded devices, mobile phones, and large high performance computing
environments. Dlib's open source licensing allows you to use it in any
application, free of charge. Github
RSS
DIYgod /RSSHub
Everything is RSSible.RSSHub is an open source, easy to use, and
extensible RSS feed generator. It's capable of generating RSS feeds from
pretty much everything.RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成
RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容
Google
Chromium
chromiumembedded/cef
Chromium Embedded Framework (CEF) official mirror. A simple framework
for embedding Chromium-based browsers in other applications.
游戏
Craft A simple Minecraft clone written in C using modern OpenGL (shaders). http://www.michaelfogleman.com/craft/
Minecraft clone for Windows, Mac OS X and Linux. Just a few thousand
lines of C using modern OpenGL (shaders). Online multiplayer support is
included using a Python-based server.
warriorjs 🏰 An exciting game of programming and Artificial Intelligence
The-Powder-Toy
Written in C++ and using SDL, The Powder Toy is a desktop version of
the classic 'falling sand' physics sandbox, it simulates air pressure
and velocity as well as heat. website
VCMI is an open-source recreation of Heroes of Might & Magic III engine, giving it new and extended possibilities. Homepage: https://vcmi.eu/
Tampermonkey
Tampermonkey is the most popular userscript manager, with over 10
million users. It's available for Chrome, Microsoft Edge, Safari, Opera
Next, and Firefox.
Ventoy A new bootable USB solution.Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files.https://www.ventoy.net
x64dbgon Github/on sourceforge.net: An open-source x64/x32 user mode debugger for Windows. Optimized for reverse engineering and malware analysis. blog
from https://github.com/yaoqs/Awesome-Github-Roster