mirror of
https://github.com/wilsonfreitas/awesome-quant.git
synced 2026-07-27 20:07:50 +00:00
f6e96ab904
Format URL did not work
286 lines
26 KiB
HTML
286 lines
26 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="generator" content="quarto-1.2.335">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
|
|
|
|
|
<title>Awesome Quant - Projects</title>
|
|
<style>
|
|
code{white-space: pre-wrap;}
|
|
span.smallcaps{font-variant: small-caps;}
|
|
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
div.column{flex: auto; overflow-x: auto;}
|
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
ul.task-list{list-style: none;}
|
|
ul.task-list li input[type="checkbox"] {
|
|
width: 0.8em;
|
|
margin: 0 0.8em 0.2em -1.6em;
|
|
vertical-align: middle;
|
|
}
|
|
</style>
|
|
|
|
|
|
<script src="site_libs/quarto-nav/quarto-nav.js"></script>
|
|
<script src="site_libs/quarto-nav/headroom.min.js"></script>
|
|
<script src="site_libs/clipboard/clipboard.min.js"></script>
|
|
<script src="site_libs/quarto-search/autocomplete.umd.js"></script>
|
|
<script src="site_libs/quarto-search/fuse.min.js"></script>
|
|
<script src="site_libs/quarto-search/quarto-search.js"></script>
|
|
<meta name="quarto:offset" content="./">
|
|
<script src="site_libs/quarto-html/quarto.js"></script>
|
|
<script src="site_libs/quarto-html/popper.min.js"></script>
|
|
<script src="site_libs/quarto-html/tippy.umd.min.js"></script>
|
|
<script src="site_libs/quarto-html/anchor.min.js"></script>
|
|
<link href="site_libs/quarto-html/tippy.css" rel="stylesheet">
|
|
<link href="site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
|
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
|
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
|
<link href="site_libs/bootstrap/bootstrap.min.css" rel="stylesheet" id="quarto-bootstrap" data-mode="light">
|
|
<script id="quarto-search-options" type="application/json">{
|
|
"location": "navbar",
|
|
"copy-button": false,
|
|
"collapse-after": 3,
|
|
"panel-placement": "end",
|
|
"type": "overlay",
|
|
"limit": 20,
|
|
"language": {
|
|
"search-no-results-text": "No results",
|
|
"search-matching-documents-text": "matching documents",
|
|
"search-copy-link-title": "Copy link to search",
|
|
"search-hide-matches-text": "Hide additional matches",
|
|
"search-more-match-text": "more match in this document",
|
|
"search-more-matches-text": "more matches in this document",
|
|
"search-clear-button-title": "Clear",
|
|
"search-detached-cancel-button-title": "Cancel",
|
|
"search-submit-button-title": "Submit"
|
|
}
|
|
}</script>
|
|
|
|
<script src="site_libs/htmlwidgets-1.6.2/htmlwidgets.js"></script>
|
|
<link href="site_libs/datatables-css-0.0.0/datatables-crosstalk.css" rel="stylesheet">
|
|
<script src="site_libs/datatables-binding-0.28/datatables.js"></script>
|
|
<script src="site_libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
|
|
<link href="site_libs/dt-core-1.13.4/css/jquery.dataTables.min.css" rel="stylesheet">
|
|
<link href="site_libs/dt-core-1.13.4/css/jquery.dataTables.extra.css" rel="stylesheet">
|
|
<script src="site_libs/dt-core-1.13.4/js/jquery.dataTables.min.js"></script>
|
|
<link href="site_libs/crosstalk-1.2.0/css/crosstalk.min.css" rel="stylesheet">
|
|
<script src="site_libs/crosstalk-1.2.0/js/crosstalk.min.js"></script>
|
|
|
|
|
|
<link rel="stylesheet" href="styles.css">
|
|
</head>
|
|
|
|
<body class="nav-fixed">
|
|
|
|
<div id="quarto-search-results"></div>
|
|
<header id="quarto-header" class="headroom fixed-top">
|
|
<nav class="navbar navbar-expand-lg navbar-dark ">
|
|
<div class="navbar-container container-fluid">
|
|
<div class="navbar-brand-container">
|
|
<a class="navbar-brand" href="./index.html">
|
|
<span class="navbar-title">Awesome Quant</span>
|
|
</a>
|
|
</div>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navbarCollapse">
|
|
<ul class="navbar-nav navbar-nav-scroll me-auto">
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="./index.html">
|
|
<span class="menu-text">Home</span></a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link active" href="./projects.html" aria-current="page">
|
|
<span class="menu-text">Projects</span></a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="./CODE_OF_CONDUCT.html">
|
|
<span class="menu-text">Code of Conduct</span></a>
|
|
</li>
|
|
</ul>
|
|
<div id="quarto-search" class="" title="Search"></div>
|
|
</div> <!-- /navcollapse -->
|
|
</div> <!-- /container-fluid -->
|
|
</nav>
|
|
</header>
|
|
<!-- content -->
|
|
<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article page-navbar">
|
|
<!-- sidebar -->
|
|
<!-- margin-sidebar -->
|
|
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
|
|
|
|
</div>
|
|
<!-- main -->
|
|
<main class="content" id="quarto-document-content">
|
|
|
|
<header id="title-block-header" class="quarto-title-block default">
|
|
<div class="quarto-title">
|
|
<h1 class="title">Projects</h1>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="quarto-title-meta">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</header>
|
|
|
|
<p>Compilation of projects providing access to the date of last commit or publication date.</p>
|
|
<div class="cell" data-table.cap="Projects">
|
|
<div class="cell-output-display">
|
|
|
|
<div class="datatables html-widget html-fill-item-overflow-hidden html-fill-item" id="htmlwidget-9eb01486f7914ea56ecc" style="width:100%;height:auto;"></div>
|
|
<script type="application/json" data-for="htmlwidget-9eb01486f7914ea56ecc">{"x":{"filter":"none","vertical":false,"data":[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252"],["StockSharp","Ghostfolio","ccxt","ccy","akshare","FinQuant","Blankly","freqtrade","Stock_Analysis_For_Quant","python-bcb","QuantConnect","yfinance","rqalpha","Lean","D-Tale","ta4j","gs-quant","TA-Lib","Qlib","yahooquery","FinRL-Library","rugarch","pinkfish","jesse","gluon-ts","ARCH","Expected Returns","finplot","vectorbt","xts","OctoBot","Empyrial","Facebook Prophet","python-training","quantstats","risktools","pandas-finance","TTR","Deep-Learning-Machine-Learning-Stock","pmdarima","finvizfinance","riskparity.py","tsfresh","alpaca-trade-api","R-fixedincome","MEDIUM_NoteBook","IndicatorTS","pandas-datareader","IndicatorGo","mplfinance","Riskfolio-Lib","TradeFrame","rbcb","QLNet","moonshot","tf-quant-finance","qf-lib","lppls","NMOF","tda-api","FinancePy","ffn","sparseIndexTracking","exchange_calendars","zvt","coinmarketcap","bt","Miletus.jl","TimeSeries.jl","GetTDData","findatapy","pystlouisfed","PyPortfolioOpt","tiingo","finmarketpy","pyqstrat","universal-portfolios","backtrader","AlphaPy","volatility-trading","Q-Fin","FactorAnalytics","vollib","tidyquant","Technical_Analysis_and_Feature_Engineering","timetk","PerformanceAnalytics","bizdays","TDAmeritrade.DotNetCore","PyQL","PyQL","pyalgotrade","machine-learning-for-trading","data.table","pandas_market_calendars","quantstrat","blotter","fast-trade","fast-trade","tibbletime","bizdays","Spectre","Python-for-Finance-Cookbook","QUANTAXIS","Computational-Finance-Course","Finance-Python","wallstreet","alpha_vantage","Indicators.jl","td","Rblpapi","matrixprofile","pyEX","aat","AutoTrader","optlib","riskParityPortfolio","PortfolioAnalytics","marketstore","py4fi2nd","FinanceDataReader","Tai","investpy","Pandas TA","Haxcel","Machine-Learning-for-Asset-Managers","QuantFinanceBook","tsmoothie","ta","portfolio-allocation","garchmodels","DeepDow","finta","TuneTA","MarketData.jl","Workbench","Prop","pdblp","pysabr","pylivetrader","pipeline-live","QuantFinance","rmgarch","aiif","Temporal.jl","finoptions","machine-learning-asset-management","yahoo-finance","mlfinlab","Kelp","Ffinar","value-investing-studies","tidypredict","catalyst","Stockex","modelos_vol_derivativos","xlrd","MarketTechnicals.jl","portfolio","py4at","algorithmic-trading-with-python","algorithmic-trading-with-python","FinanceHub","Quantsbin","yliveticker","ib_nope","Strategems.jl","qtpylib","dawp","pynance","Stock-Prediction-Models","iexfinance","dx","empyrical","zipline","Eiten","fooltrader","Quantitative-Notebooks","GetHFData","after-hours","QuantMath","yfinanceapi","alphalens","pytdx","bta-lib","pyfolio","QuantLib.jl","QuantLib.jl","bbgbridge","fmbasics","inquisitor","pybacktest","Tulipy","quantfin","covFactorModel","Quantdom","quantitative","TimeFrames.jl","Jiji","FRB","sparseEigen","PyFlux","fecon235","fecon235","IPythonScripts","finance.js","googlefinance","zipline-extensions","rough_bergomi","xlwt","willowtree","pandas_talib","frh-fx","QuantPy","financial-engineering","quantdsl","Derman Papers","binary-martingale","TALib.jl","QUANTAXIS_Webkit","Python_Option_Pricing","finsymbols","tia","Scala Quant","FinCal","Ito.jl","bulbea","ystockquote","VisualPortfolio","NowTrade","dynts","Rbitcoin","pyhoofinance","QuantSoftware Toolkit","pythalesians","stock_extractor","algobroker","cn_stock_src","yfi","ticks","analyzer","options.studies","quantcomponents","yql-finance","credule","quant","exchange","visualize-wealth","pybbg","pyfin","r-quant","QuantScale"],["CSharp","JavaScript","JavaScript","Python > Data Sources","Python > Data Sources","Python > Risk Analysis","Python > Trading & Backtesting","Python > Trading & Backtesting","Reproducing Works, Training & Books","Python > Data Sources","CSharp","Python > Data Sources","Python > Trading & Backtesting","Python > Trading & Backtesting","Python > Visualization","Java","Python > Financial Instruments and Pricing","Python > Trading & Backtesting","Python > Trading & Backtesting","Python > Data Sources","Python > Trading & Backtesting","R > Time Series","Python > Trading & Backtesting","Python > Trading & Backtesting","Python > Time Series","Python > Time Series","R > Factor Analysis","Python > Visualization","Python > Trading & Backtesting","R > Numerical Libraries & Data Structures","Python > Trading & Backtesting","Python > Risk Analysis","Python > Time Series","Reproducing Works, Training & Books","Python > Trading & Backtesting","Python > Risk Analysis","Python > Data Sources","R > Trading","Reproducing Works, Training & Books","Python > Time Series","Python > Visualization","Python > Trading & Backtesting","Python > Time Series","Python > Data Sources","R > Financial Instruments and Pricing","Reproducing Works, Training & Books","JavaScript","Python > Data Sources","Golang","Python > Visualization","Python > Risk Analysis","CPP","R > Data Sources","Frameworks","Python > Trading & Backtesting","Python > Financial Instruments and Pricing","Python > Trading & Backtesting","Python > Indicators","Reproducing Works, Training & Books","Python > Trading & Backtesting","Python > Financial Instruments and Pricing","Python > Financial Instruments and Pricing","R > Financial Instruments and Pricing","Python > Calendars","Python > Trading & Backtesting","Python > Data Sources","Python > Trading & Backtesting","Julia","Julia","R > Data Sources","Python > Data Sources","Python > Data Sources","Python > Trading & Backtesting","Python > Data Sources","Python > Trading & Backtesting","Python > Trading & Backtesting","Python > Risk Analysis","Python > Trading & Backtesting","Python > Trading & Backtesting","Reproducing Works, Training & Books","Python > Financial Instruments and Pricing","R > Factor Analysis","Python > Financial Instruments and Pricing","R > Time Series","Reproducing Works, Training & Books","R > Time Series","R > Risk Analysis","R > Calendars","CSharp","Frameworks","Python > Financial Instruments and Pricing","Python > Trading & Backtesting","Python > Trading & Backtesting","R > Numerical Libraries & Data Structures","Python > Calendars","R > Backtesting","R > Trading","Python > Trading & Backtesting","Python > Trading & Backtesting","R > Time Series","Python > Calendars","Python > Factor Analysis","Reproducing Works, Training & Books","Matlab > FrameWorks","Reproducing Works, Training & Books","Python > Financial Instruments and Pricing","Python > Data Sources","Python > Data Sources","Julia","R > Data Sources","R > Data Sources","R > Time Series","Python > Data Sources","Python > Trading & Backtesting","Python > Trading & Backtesting","Python > Financial Instruments and Pricing","R > Financial Instruments and Pricing","R > Financial Instruments and Pricing","Golang","Reproducing Works, Training & Books","Python > Data Sources","Elixir/Erlang","Python > Data Sources","Python > Trading & Backtesting","Haskell","Reproducing Works, Training & Books","Reproducing Works, Training & Books","Python > Time Series","Python > Trading & Backtesting","JavaScript","R > Time Series","Python > Trading & Backtesting","Python > Indicators","Python > Trading & Backtesting","Julia","Elixir/Erlang","Elixir/Erlang","Python > Data Sources","Python > Financial Instruments and Pricing","Python > Trading & Backtesting","Python > Trading & Backtesting","Reproducing Works, Training & Books","R > Time Series","Reproducing Works, Training & Books","Julia","Python > Financial Instruments and Pricing","Reproducing Works, Training & Books","Python > Data Sources","Python > Trading & Backtesting","Golang","Haskell","Reproducing Works, Training & Books","R > Time Series","Python > Trading & Backtesting","Python > Data Sources","Reproducing Works, Training & Books","Python > Excel Integration","Julia","R > Financial Instruments and Pricing","Reproducing Works, Training & Books","Python > Trading & Backtesting","Reproducing Works, Training & Books","Reproducing Works, Training & Books","Python > Financial Instruments and Pricing","Python > Data Sources","Python > Trading & Backtesting","Julia","Python > Trading & Backtesting","Reproducing Works, Training & Books","Python > Financial Instruments and Pricing","Python > Trading & Backtesting","Python > Data Sources","Reproducing Works, Training & Books","Python > Risk Analysis","Python > Trading & Backtesting","Python > Trading & Backtesting","Python > Trading & Backtesting","Reproducing Works, Training & Books","R > Data Sources","Python > Data Sources","Rust","Python > Data Sources","Python > Factor Analysis","Python > Data Sources","Python > Trading & Backtesting","Python > Risk Analysis","Frameworks","Julia","Python > Data Sources","R > Financial Instruments and Pricing","Python > Data Sources","Python > Trading & Backtesting","Python > Indicators","Haskell","R > Financial Instruments and Pricing","Python > Trading & Backtesting","Python > Trading & Backtesting","Julia","Ruby","Python > Data Sources","R > Numerical Libraries & Data Structures","Python > Time Series","Python > Risk Analysis","Reproducing Works, Training & Books","Reproducing Works, Training & Books","JavaScript","Python > Data Sources","Python > Trading & Backtesting","Reproducing Works, Training & Books","Python > Excel Integration","Python > Financial Instruments and Pricing","Python > Indicators","Reproducing Works, Training & Books","Python > Financial Instruments and Pricing","Python > Financial Instruments and Pricing","Python > Numerical Libraries & Data Structures","Reproducing Works, Training & Books","Python > Trading & Backtesting","Julia","JavaScript > Data Visualization","Reproducing Works, Training & Books","Python > Data Sources","Python > Financial Instruments and Pricing","Scala","R > Financial Instruments and Pricing","Julia","Python > Trading & Backtesting","Python > Data Sources","Python > Risk Analysis","Python > Trading & Backtesting","Python > Time Series","R > Data Sources","Python > Data Sources","Python > Trading & Backtesting","Python > Trading & Backtesting","Python > Data Sources","Python > Trading & Backtesting","Python > Data Sources","Python > Data Sources","Python > Data Sources","Python > Trading & Backtesting","R > Financial Instruments and Pricing","Java","Python > Data Sources","R > Financial Instruments and Pricing","Reproducing Works, Training & Books","Python > Data Sources","Python > Risk Analysis","Python > Data Sources","Python > Financial Instruments and Pricing","R > Financial Instruments and Pricing","Scala"],["2023-07-23","2023-07-23","2023-07-23","2023-07-23","2023-07-23","2023-07-23","2023-07-23","2023-07-23","2023-07-23","2023-07-22","2023-07-21","2023-07-21","2023-07-21","2023-07-21","2023-07-21","2023-07-20","2023-07-19","2023-07-19","2023-07-19","2023-07-18","2023-07-18","2023-07-16","2023-07-15","2023-07-15","2023-07-14","2023-07-12","2023-07-12","2023-07-11","2023-07-09","2023-07-09","2023-07-08","2023-07-07","2023-07-07","2023-07-07","2023-07-06","2023-07-05","2023-07-04","2023-07-04","2023-07-04","2023-07-03","2023-07-02","2023-07-01","2023-06-30","2023-06-27","2023-06-27","2023-06-27","2023-06-26","2023-06-24","2023-06-22","2023-06-21","2023-06-20","2023-06-19","2023-06-19","2023-06-15","2023-06-14","2023-06-08","2023-06-07","2023-06-06","2023-06-06","2023-06-05","2023-05-29","2023-05-28","2023-05-28","2023-05-25","2023-05-25","2023-05-23","2023-05-23","2023-05-20","2023-05-17","2023-05-15","2023-05-14","2023-05-12","2023-05-07","2023-04-26","2023-04-26","2023-04-21","2023-04-19","2023-04-19","2023-04-17","2023-04-10","2023-04-07","2023-04-04","2023-04-01","2023-03-31","2023-03-31","2023-03-30","2023-03-29","2023-03-26","2023-03-10","2023-03-06","2023-03-06","2023-03-05","2023-03-05","2023-02-17","2023-02-04","2023-02-04","2023-02-04","2023-01-31","2023-01-31","2023-01-24","2023-01-20","2023-01-18","2023-01-18","2023-01-10","2023-01-03","2023-01-01","2022-12-30","2022-12-25","2022-12-06","2022-12-05","2022-12-02","2022-11-25","2022-11-22","2022-11-22","2022-11-21","2022-11-18","2022-11-15","2022-11-13","2022-11-07","2022-11-06","2022-10-14","2022-10-04","2022-10-02","2022-09-24","2022-09-13","2022-09-07","2022-08-28","2022-08-24","2022-08-23","2022-08-11","2022-08-11","2022-08-02","2022-07-24","2022-07-15","2022-06-21","2022-06-06","2022-06-06","2022-05-28","2022-04-21","2022-04-11","2022-04-11","2022-03-12","2022-03-05","2022-01-19","2021-12-28","2021-12-28","2021-12-17","2021-12-15","2021-12-01","2021-11-26","2021-11-26","2021-10-26","2021-09-28","2021-09-22","2021-09-15","2021-09-15","2021-08-19","2021-07-12","2021-07-09","2021-07-08","2021-06-01","2021-06-01","2021-05-25","2021-05-23","2021-04-29","2021-04-22","2021-04-06","2021-03-24","2021-02-22","2021-02-03","2021-01-05","2021-01-02","2020-12-17","2020-10-14","2020-10-14","2020-09-21","2020-07-19","2020-07-02","2020-06-30","2020-06-22","2020-05-28","2020-05-26","2020-04-27","2020-04-15","2020-03-11","2020-02-28","2020-02-18","2020-02-18","2020-01-07","2019-12-03","2019-10-10","2019-09-09","2019-04-11","2019-04-06","2019-03-25","2019-03-12","2019-03-03","2019-02-16","2019-01-22","2018-12-22","2018-12-22","2018-12-16","2018-12-03","2018-12-03","2018-11-18","2018-10-11","2018-09-23","2018-09-17","2018-09-17","2018-09-16","2018-07-14","2018-05-30","2018-05-24","2017-11-28","2017-11-20","2017-10-26","2017-10-21","2017-10-16","2017-08-22","2017-07-30","2017-07-26","2017-07-23","2017-06-05","2017-05-06","2017-04-12","2017-03-21","2017-03-19","2017-03-10","2017-02-28","2017-02-07","2016-11-02","2016-10-25","2016-10-07","2016-10-07","2016-09-23","2016-09-10","2016-03-31","2016-02-29","2016-02-12","2016-01-08","2015-12-22","2015-12-17","2015-10-07","2015-08-29","2015-08-05","2015-07-14","2015-07-07","2015-06-10","2015-01-20","2014-12-03","2014-02-19","2014-01-14"]],"container":"<table class=\"display\">\n <thead>\n <tr>\n <th> <\/th>\n <th>project<\/th>\n <th>section<\/th>\n <th>last_commit<\/th>\n <\/tr>\n <\/thead>\n<\/table>","options":{"pageLength":50,"columnDefs":[{"orderable":false,"targets":0}],"order":[],"autoWidth":false,"orderClasses":false}},"evals":[],"jsHooks":[]}</script>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
</main> <!-- /main -->
|
|
<script id="quarto-html-after-body" type="application/javascript">
|
|
window.document.addEventListener("DOMContentLoaded", function (event) {
|
|
const toggleBodyColorMode = (bsSheetEl) => {
|
|
const mode = bsSheetEl.getAttribute("data-mode");
|
|
const bodyEl = window.document.querySelector("body");
|
|
if (mode === "dark") {
|
|
bodyEl.classList.add("quarto-dark");
|
|
bodyEl.classList.remove("quarto-light");
|
|
} else {
|
|
bodyEl.classList.add("quarto-light");
|
|
bodyEl.classList.remove("quarto-dark");
|
|
}
|
|
}
|
|
const toggleBodyColorPrimary = () => {
|
|
const bsSheetEl = window.document.querySelector("link#quarto-bootstrap");
|
|
if (bsSheetEl) {
|
|
toggleBodyColorMode(bsSheetEl);
|
|
}
|
|
}
|
|
toggleBodyColorPrimary();
|
|
const icon = "";
|
|
const anchorJS = new window.AnchorJS();
|
|
anchorJS.options = {
|
|
placement: 'right',
|
|
icon: icon
|
|
};
|
|
anchorJS.add('.anchored');
|
|
const clipboard = new window.ClipboardJS('.code-copy-button', {
|
|
target: function(trigger) {
|
|
return trigger.previousElementSibling;
|
|
}
|
|
});
|
|
clipboard.on('success', function(e) {
|
|
// button target
|
|
const button = e.trigger;
|
|
// don't keep focus
|
|
button.blur();
|
|
// flash "checked"
|
|
button.classList.add('code-copy-button-checked');
|
|
var currentTitle = button.getAttribute("title");
|
|
button.setAttribute("title", "Copied!");
|
|
let tooltip;
|
|
if (window.bootstrap) {
|
|
button.setAttribute("data-bs-toggle", "tooltip");
|
|
button.setAttribute("data-bs-placement", "left");
|
|
button.setAttribute("data-bs-title", "Copied!");
|
|
tooltip = new bootstrap.Tooltip(button,
|
|
{ trigger: "manual",
|
|
customClass: "code-copy-button-tooltip",
|
|
offset: [0, -8]});
|
|
tooltip.show();
|
|
}
|
|
setTimeout(function() {
|
|
if (tooltip) {
|
|
tooltip.hide();
|
|
button.removeAttribute("data-bs-title");
|
|
button.removeAttribute("data-bs-toggle");
|
|
button.removeAttribute("data-bs-placement");
|
|
}
|
|
button.setAttribute("title", currentTitle);
|
|
button.classList.remove('code-copy-button-checked');
|
|
}, 1000);
|
|
// clear code selection
|
|
e.clearSelection();
|
|
});
|
|
function tippyHover(el, contentFn) {
|
|
const config = {
|
|
allowHTML: true,
|
|
content: contentFn,
|
|
maxWidth: 500,
|
|
delay: 100,
|
|
arrow: false,
|
|
appendTo: function(el) {
|
|
return el.parentElement;
|
|
},
|
|
interactive: true,
|
|
interactiveBorder: 10,
|
|
theme: 'quarto',
|
|
placement: 'bottom-start'
|
|
};
|
|
window.tippy(el, config);
|
|
}
|
|
const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
|
|
for (var i=0; i<noterefs.length; i++) {
|
|
const ref = noterefs[i];
|
|
tippyHover(ref, function() {
|
|
// use id or data attribute instead here
|
|
let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href');
|
|
try { href = new URL(href).hash; } catch {}
|
|
const id = href.replace(/^#\/?/, "");
|
|
const note = window.document.getElementById(id);
|
|
return note.innerHTML;
|
|
});
|
|
}
|
|
const findCites = (el) => {
|
|
const parentEl = el.parentElement;
|
|
if (parentEl) {
|
|
const cites = parentEl.dataset.cites;
|
|
if (cites) {
|
|
return {
|
|
el,
|
|
cites: cites.split(' ')
|
|
};
|
|
} else {
|
|
return findCites(el.parentElement)
|
|
}
|
|
} else {
|
|
return undefined;
|
|
}
|
|
};
|
|
var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
|
|
for (var i=0; i<bibliorefs.length; i++) {
|
|
const ref = bibliorefs[i];
|
|
const citeInfo = findCites(ref);
|
|
if (citeInfo) {
|
|
tippyHover(citeInfo.el, function() {
|
|
var popup = window.document.createElement('div');
|
|
citeInfo.cites.forEach(function(cite) {
|
|
var citeDiv = window.document.createElement('div');
|
|
citeDiv.classList.add('hanging-indent');
|
|
citeDiv.classList.add('csl-entry');
|
|
var biblioDiv = window.document.getElementById('ref-' + cite);
|
|
if (biblioDiv) {
|
|
citeDiv.innerHTML = biblioDiv.innerHTML;
|
|
}
|
|
popup.appendChild(citeDiv);
|
|
});
|
|
return popup.innerHTML;
|
|
});
|
|
}
|
|
}
|
|
});
|
|
</script>
|
|
</div> <!-- /content -->
|
|
|
|
|
|
|
|
</body></html> |