Skip to content
This repository has been archived by the owner on Nov 13, 2024. It is now read-only.

Delete Retired .openpublishing.build.ps1 script of branch live for archived repo #34

Open
wants to merge 206 commits into
base: live
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
206 commits
Select commit Hold shift + click to select a range
beaeec5
Initialize open publishing repository: https://github.com/MicrosoftDo…
natalieethell Nov 19, 2018
5d00f4b
add yaml files
natalieethell Nov 19, 2018
f260d68
remove items
natalieethell Nov 20, 2018
0506485
move yaml folder to docset folder
natalieethell Nov 26, 2018
babf3bf
add UniversalReference to type_mapping
natalieethell Nov 26, 2018
e9ffb7c
add fabric.md
natalieethell Nov 26, 2018
c9403de
move toc up
natalieethell Nov 26, 2018
28238ca
move files around
natalieethell Nov 26, 2018
21da713
remove top level
natalieethell Nov 26, 2018
e65b99e
Revert "remove top level"
natalieethell Nov 26, 2018
5eee2a3
bring back top level and rename
natalieethell Nov 26, 2018
25a70d6
make api folder
natalieethell Nov 26, 2018
c6c664f
modify dest parameter for TOC files
natalieethell Nov 27, 2018
c96482f
change src from office-ui-fabric-react to api
natalieethell Nov 27, 2018
795dbd0
change TOC structure
natalieethell Nov 27, 2018
b0be985
change hierarchy
natalieethell Nov 27, 2018
22d932d
add some more sections
natalieethell Nov 27, 2018
2460e23
move unsorted section
natalieethell Nov 27, 2018
4d5e4ad
add link to BaseComponent
natalieethell Nov 27, 2018
b0cf3d2
add quotes
natalieethell Nov 27, 2018
fb17985
add uids
natalieethell Nov 27, 2018
5d139a2
uid for extends and implements
natalieethell Nov 27, 2018
ca49f27
add Checkbox docs
natalieethell Nov 28, 2018
9989006
add uid to Checkbox
natalieethell Nov 28, 2018
7dbb330
Revert "add uid to Checkbox"
natalieethell Nov 28, 2018
c9849f2
add to checkbox overview
natalieethell Nov 28, 2018
2de1491
add Checkbox title
natalieethell Nov 28, 2018
42d8475
add image
natalieethell Nov 28, 2018
6e0ebae
use html to make table
natalieethell Nov 28, 2018
6df5135
add color picker overview
natalieethell Nov 28, 2018
9e4a473
fix ColorPicker href
natalieethell Nov 28, 2018
4578962
fix bullet points
natalieethell Nov 28, 2018
352cf34
update uids
natalieethell Nov 29, 2018
969cb18
new yaml files
Vitalius1 May 2, 2019
24d8841
new TOC file structure
Vitalius1 May 2, 2019
7436091
Put the files in the correct folder
Vitalius1 May 2, 2019
d5ef8ed
adjust TOC
Vitalius1 May 2, 2019
b8365dd
some more changes to test and fix docfx.json error
Vitalius1 May 3, 2019
5b39c07
Home page
Vitalius1 May 3, 2019
986016f
Changes the top level
Vitalius1 May 3, 2019
468759b
Rename
Vitalius1 May 3, 2019
71dfcae
Moving things around
Vitalius1 May 3, 2019
844e11e
make it expanded
Vitalius1 May 3, 2019
5e5101a
Adjust link
Vitalius1 May 3, 2019
9c31f39
Another iteration of TOC
Vitalius1 May 6, 2019
d75a332
Add more files
Vitalius1 May 6, 2019
2eb939f
tweaks to toc
Vitalius1 May 6, 2019
f054872
Small tweaks
Vitalius1 May 7, 2019
108a41b
Change link
Vitalius1 May 7, 2019
466ffb0
Remove homepage for testing
Vitalius1 May 10, 2019
7132bfc
Remove the top level items
Vitalius1 May 10, 2019
c65298f
Update docfx.json
glibnub May 10, 2019
dcc81d4
Update docfx.json
glibnub May 10, 2019
22aeadf
Update docfx.json
glibnub May 11, 2019
69e9b2d
Update docfx.json
glibnub May 11, 2019
f5a04c3
Update docfx.json
glibnub May 11, 2019
0fa52cf
Update docfx.json
glibnub May 11, 2019
6dc1c1a
try fix breadcrumb issue
herohua May 13, 2019
df737c0
Update docfx.json
herohua May 13, 2019
6444d98
Update docfx.json
herohua May 13, 2019
e57c91e
Merge pull request #2 from MicrosoftDocs/herohua-patch-1
glibnub May 13, 2019
586d9f4
Setup package
Vitalius1 May 14, 2019
65da9a1
Add function generator
Vitalius1 May 14, 2019
20d6587
Format
Vitalius1 May 14, 2019
c26e902
Some more changes to fix some errors
Vitalius1 May 14, 2019
5c1fe73
Run format
Vitalius1 May 15, 2019
bac4eae
Git ignore folders
Vitalius1 May 15, 2019
d7d66a6
Merge the new files
Vitalius1 May 15, 2019
36dd942
Remove extended
Vitalius1 May 16, 2019
3031b2b
Merge branch 'docsPackage' into testTOC
Vitalius1 May 16, 2019
b82ee5e
Update docfx.json
glibnub May 17, 2019
6cda7f6
TOC updated with package level files
Vitalius1 May 17, 2019
cce4b24
bring all api.json files
Vitalius1 May 21, 2019
2a92314
Generate files
Vitalius1 May 22, 2019
84c5998
Remove @link reference
Vitalius1 May 22, 2019
bf1ee2a
Regenerate the yaml
Vitalius1 May 22, 2019
2b10564
Inject packge level references
Vitalius1 May 22, 2019
cf828ed
make some changes to TOC references node
Vitalius1 May 22, 2019
956e1bd
Update the files with new documenter logic
Vitalius1 Jun 6, 2019
eac0ce2
Add button example iframe to test
Vitalius1 Jun 6, 2019
af920b2
uid to href
Vitalius1 Jun 6, 2019
0b54946
Test a new page height
Vitalius1 Jun 6, 2019
c6f092c
More testisng with iframe sizes
Vitalius1 Jun 6, 2019
ed14a76
Change to https
Vitalius1 Jun 6, 2019
46d56cb
Fix border style
Vitalius1 Jun 6, 2019
0c62e08
One more shot
Vitalius1 Jun 6, 2019
0a1ce84
http to https
Vitalius1 Jun 6, 2019
298e60d
TRy # who knows
Vitalius1 Jun 6, 2019
f589067
Injection of examples initial setup
Vitalius1 Jun 11, 2019
3643b8a
Generate exmaple files plus new TOC and config file
Vitalius1 Jun 11, 2019
c678b58
Fixing some urls and comments
Vitalius1 Jun 11, 2019
406c00e
Fix special case
Vitalius1 Jun 11, 2019
1651378
Adjust examples
Vitalius1 Jun 11, 2019
1255a09
Another adjustment on the iframe sizes
Vitalius1 Jun 11, 2019
61b869e
More tweaks
Vitalius1 Jun 11, 2019
6fc706b
Breadcrumb issue
Vitalius1 Jun 11, 2019
df6a010
Overview initial setup
Vitalius1 Jun 12, 2019
6a63ba1
Generate overview files
Vitalius1 Jun 12, 2019
557eaaf
TOC changes
Vitalius1 Jun 12, 2019
2eb7e96
More files generated
Vitalius1 Jun 12, 2019
487b1eb
Merge pull request #3 from MicrosoftDocs/testPackageSetup
iclanton Jun 13, 2019
f88b4c6
Ignore api-documenter.json.
iclanton Jun 13, 2019
ed18bbb
Ignore build output.
iclanton Jun 13, 2019
157c879
Ignoring "temp"
iclanton Jun 13, 2019
21c01e5
Pinning api-documenter back to 7.3.0
iclanton Jun 13, 2019
daa478a
Include node typings.
iclanton Jun 13, 2019
dd3f1e0
Fixing incorrect ignore pattern
iclanton Jun 13, 2019
c04d241
Rename index.ts to start.ts
iclanton Jun 13, 2019
6d76da8
Adding script to get the OUFR package version.
iclanton Jun 13, 2019
7a63ed1
Adding build pipeline script.
iclanton Jun 13, 2019
c56d46e
Fix npm run commands in CI
iclanton Jun 13, 2019
e24ffdb
Fix a few issues in the package.json
iclanton Jun 13, 2019
c81bde7
Moving to Ubuntu pool.
iclanton Jun 13, 2019
b1b03e0
Move static data to static-doc-data.
iclanton Jun 14, 2019
86a0c50
Delete old data in office-ui-fabric-react folder.
iclanton Jun 14, 2019
c32ac6d
Update pipeline to handle examples, overviews, and static data.
iclanton Jun 14, 2019
1ba0c78
Fix a formatting issue.
iclanton Jun 14, 2019
21b3bfd
Appending newline to fabric version file.
iclanton Jun 14, 2019
b777fc7
Add status badges.
iclanton Jun 14, 2019
3dfb680
removing newline
iclanton Jun 14, 2019
cfb18ce
Normalize urls in markdown files
Vitalius1 Jun 15, 2019
c13d4b6
Try out new versions
Vitalius1 Jun 23, 2019
6f6436d
Change documenter version
Vitalius1 Jun 23, 2019
d28a618
Pin version of api-documenter
Vitalius1 Jun 23, 2019
32655df
Another version
Vitalius1 Jun 23, 2019
8bd9adc
Update deps
Vitalius1 Jul 30, 2019
71d1dab
Update api.json files
Vitalius1 Jul 31, 2019
4ceb623
Update some paths
Vitalius1 Aug 2, 2019
bea87a3
Remove OUFR from dependency
Vitalius1 Aug 2, 2019
cb6ff02
Add GetStartedPage and ResourcesPage
Vitalius1 Aug 7, 2019
1753741
Fix array index
Vitalius1 Aug 7, 2019
eeac504
Tweaking the content
Vitalius1 Aug 7, 2019
396f5a0
Changing back the replace os trings
Vitalius1 Aug 7, 2019
1137507
Fix some OPS errors
Vitalius1 Aug 7, 2019
c74ebaa
Set HTML escapes on Resurces page
Vitalius1 Aug 7, 2019
1afe125
Regex sanitizing
Vitalius1 Aug 7, 2019
d9e9aec
Add call to the sanitize function
Vitalius1 Aug 7, 2019
edd5a73
Minor tweak to the regex
Vitalius1 Aug 7, 2019
ccc159b
haha
Vitalius1 Aug 7, 2019
ea243ed
Go h2 instead of h1 in markdown files
Vitalius1 Aug 7, 2019
53a283b
Increase the spacing
Vitalius1 Aug 7, 2019
b40afe8
Add version to get started page
Vitalius1 Aug 7, 2019
4c54693
temporarly disable package version
Vitalius1 Aug 7, 2019
5a986b7
Refactor addition of fabric version
Vitalius1 Aug 7, 2019
76b6b64
Add a schedule to the build pipeline
Vitalius1 Aug 7, 2019
61b5362
Add new line `expanded: true` in TOC
Vitalius1 Aug 8, 2019
650f65c
Split some helper function in different files
Vitalius1 Aug 8, 2019
7966a5f
Try without ensure folder exists.
Vitalius1 Aug 8, 2019
139d7ce
add console ogs for testing
Vitalius1 Aug 8, 2019
5f5acc6
Sorted out the line injection
Vitalius1 Aug 8, 2019
eec24c4
Add local flag to facilitate the local testing
Vitalius1 Aug 12, 2019
f7bed1a
Modify the scripts to use the local flag
Vitalius1 Aug 12, 2019
dbb3d0f
Update dependency on api-documenter
Vitalius1 Aug 27, 2019
7a21002
package-lock file
Vitalius1 Aug 27, 2019
3076515
Fresh api-json files
Vitalius1 Aug 27, 2019
19f5cc2
Add new uid file names
Vitalius1 Aug 27, 2019
4e26e97
Add to modifyTOC the new uid name
Vitalius1 Aug 27, 2019
95cc709
A few more changes to npm scripts and some console output
Vitalius1 Aug 27, 2019
ae58376
Throw error in case some files got moved
Vitalius1 Aug 27, 2019
9af776e
Update the pipeline to pull from OUFR release
Vitalius1 Aug 27, 2019
c25336e
Add quotes to displayName
Vitalius1 Aug 27, 2019
6473682
Formating the yaml file
Vitalius1 Aug 27, 2019
feecf21
Disable copy task
Vitalius1 Aug 27, 2019
5ec548e
Add an input folder path argument
Vitalius1 Aug 29, 2019
bfabd3a
Fix concat vs push
Vitalius1 Aug 29, 2019
ddcd552
Try out blob storage
Vitalius1 Aug 29, 2019
43d622a
Fix Path
Vitalius1 Aug 29, 2019
a11e232
Revert pipeline changes
Vitalius1 Aug 29, 2019
14d2bf0
Add new deps
Vitalius1 Aug 29, 2019
836b220
Initial setup for downloading files
Vitalius1 Aug 29, 2019
dd08e4e
Download all the files from azure blob storage
Vitalius1 Aug 29, 2019
559b570
remove date time to test some accidental removal
Vitalius1 Aug 29, 2019
65db3df
Start readme and cleanup some files
Vitalius1 Aug 30, 2019
de68c79
Remove the input folder now that is auto generated.
Vitalius1 Aug 30, 2019
2842cb7
Update Readme
Vitalius1 Aug 30, 2019
a82af6f
Add some comments and put the yaml pipeline file in prettier ignore file
Vitalius1 Aug 30, 2019
3f649c5
Add templates
Vitalius1 Aug 30, 2019
775a62d
Update templates
Vitalius1 Aug 30, 2019
f4e105f
Updating docs
Vitalius1 Sep 6, 2019
86e6466
Add flow diagram
Vitalius1 Sep 6, 2019
248579c
Add fluent announcement
micahgodbolt Mar 18, 2020
f2cc4ce
Merge pull request #8 from micahgodbolt/patch-1
Vitalius1 Mar 18, 2020
6b411e9
Update GetStarted.mustache
micahgodbolt Mar 18, 2020
34acdfb
Update GetStarted.mustache
micahgodbolt Mar 18, 2020
e06ec08
Merge pull request #9 from micahgodbolt/patch-2
Vitalius1 Mar 18, 2020
efe3a00
change to sdp
yunair Nov 17, 2020
1aed929
fix cli param
yunair Nov 17, 2020
97ef95d
trigger branch change to master
yunair Nov 17, 2020
ee603bd
Merge pull request #14 from MicrosoftDocs/sdp-pipeline
JustSlone Nov 18, 2020
3ea191b
[BULK UPDATE] DocuTune - Fix build validation issues: docs-link-absolute
alexbuckgit Aug 23, 2022
8f88475
Merge pull request #29 from alexbuckgit/alexbuckgit/docutune-autopr-2…
v-emilypr Sep 15, 2022
c7afe84
Archive docset
micahgodbolt Oct 21, 2022
d01ed4f
Apply suggestions from code review
micahgodbolt Oct 21, 2022
a9f18ec
Update docfx.json
micahgodbolt Oct 21, 2022
141ba14
Update toc.yml
micahgodbolt Oct 21, 2022
4c21cb8
Update toc.yml
micahgodbolt Oct 21, 2022
820eb8f
move docfx to root
micahgodbolt Oct 24, 2022
0bb36eb
move file back
micahgodbolt Oct 24, 2022
f2a7fda
Merge pull request #30 from MicrosoftDocs/archive-docs
micahgodbolt Oct 24, 2022
6965efe
Update update-docs.yaml
micahgodbolt Oct 24, 2022
b8ab280
update pool
micahgodbolt Oct 24, 2022
a47dc45
fix api download to not falsly match names with common strings
micahgodbolt Oct 24, 2022
6da4c21
remove console log
micahgodbolt Oct 24, 2022
648d634
Remove office-ui-fabric-react in .openpublishing.publish.config.json …
cmcclister Oct 25, 2022
1e8889d
Delete .openpublishing.build.ps1
shujingMS Nov 11, 2024
9b5f7f0
Merge pull request #33 from MicrosoftDocs/cleanup-script-ignore-build
shujingMS Nov 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
⚠️⚠️⚠️⚠️WARNING ⚠️⚠️⚠️⚠️
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

This repo is AUTO UPDATED by a scheduled task and human attention to the issues backlog is VERY RARE 😄

PLEASE CONSIDER to submit either an issue or a PR with the fix intended in the source repository this documentation is based on. You can find it here: https://github.com/OfficeDev/office-ui-fabric-react

THANKS 👍

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
⚠️⚠️⚠️⚠️WARNING ⚠️⚠️⚠️⚠️
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
13 changes: 13 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
⚠️⚠️⚠️⚠️WARNING ⚠️⚠️⚠️⚠️
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

This repo is AUTO UPDATED by a scheduled task so submitting pull requests here will make NO DIFFERENCE 😊 to the docs content.

PLEASE CONSIDER to submit either an issue or a PR with the fix intended in the source repository this documentation is based on. You can find it here: https://github.com/OfficeDev/office-ui-fabric-react

THANKS 👍

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
⚠️⚠️⚠️⚠️WARNING ⚠️⚠️⚠️⚠️
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,11 @@ _site/
.optemp/
_themes*/
_repo.*/
node_modules/
lib/
temp/

.openpublishing.buildcore.ps1
.openpublishing.buildcore.ps1
config/api-documenter.json
office-ui-fabric-react/
input/
17 changes: 0 additions & 17 deletions .openpublishing.build.ps1

This file was deleted.

36 changes: 18 additions & 18 deletions .openpublishing.publish.config.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{
"docsets_to_publish": [],
"notification_subscribers": [],
"sync_notification_subscribers": [],
"branches_to_filter": [],
"skip_source_output_uploading": false,
"need_preview_pull_request": false,
"contribution_branch_mappings": {},
"dependent_repositories": [
{
"path_to_root": "_themes",
"url": "https://github.com/Microsoft/templates.docs.msft",
"branch": "master",
"branch_mapping": {}
}
],
"branch_target_mapping": {},
"need_generate_pdf_url_template": false
{
"docsets_to_publish": [],
"notification_subscribers": [],
"sync_notification_subscribers": [],
"branches_to_filter": [],
"skip_source_output_uploading": false,
"need_preview_pull_request": false,
"dependent_repositories": [
{
"path_to_root": "_themes",
"url": "https://github.com/Microsoft/templates.docs.msft",
"branch": "master",
"branch_mapping": {}
}
],
"branch_target_mapping": {},
"contribution_branch_mappings": {},
"need_generate_pdf_url_template": false
}
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
config/azure-pipelines/*
5 changes: 5 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"printWidth": 120,
"trailingComma": "none",
"singleQuote": true
}
29 changes: 28 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
[![Build Status](https://dev.azure.com/uifabric/fabricpublic/_apis/build/status/OUFR-dev-docs%20Update?branchName=master)](https://dev.azure.com/uifabric/fabricpublic/_build/latest?definitionId=107&branchName=master)

[![Release Status](https://vsrm.dev.azure.com/uifabric/_apis/public/Release/badge/cd9e4e13-b8db-429a-9c21-499bf1c98639/1/1)](https://dev.azure.com/uifabric/fabricpublic/_release?view=all&definitionId=1)

## Microsoft Open Source Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.

<hr>

# [office-ui-fabric-react](https://github.com/OfficeDev/office-ui-fabric-react) documentation repository

## Overview

This repository provides the necessary documentation files that are published by the DocFX pipeline to Microsoft Docs, resulting in an API reference along with some overview and examples documentation for the Fabric React controls library. You can see the end result [here](https://docs.microsoft.com/en-us/javascript/api/getstarted/getstartedpage?view=office-ui-fabric-react-latest).

## Repository structure

The repo setup is done in a way so that the business logic of generating the documentation files is separated from the actually generated files. The main reason of this is to keep a clean git history and also relative to the changes that will occur often (daily) for the documentation part and only occasionally for the implementation code part. This is achieved by keeping these two concerns on different branches. `main` branch holds all the business logic and `staging` with `live` branches are auto updated in parallel by a scheduled task with the files generated from using the implementation code on the `main` branch.

## Automation pipeline

To understand better what the scheduled task is doing, [here](dev-docs/PIPELINE_FLOW.md) is a detailed walk-through of all the stages and their steps. Additionally, the business logic code has a considerable amount of comments throughout all the files.

## Contributing

⚠️⚠️⚠️ This repo is automatically updating its `live` and `staging` branches, so submitting documentation fixes will not be helpful because the next day after the automation pipeline updates the files again your changes would be discarded. Instead, recommended way of submitting fixes is to go and submit a PR directly in the Fabric repository here: [office-ui-fabric-react](https://github.com/OfficeDev/office-ui-fabric-react). Same thing in regards to submitting issues. Because the repo is auto updating itself, the issues backlog is almost never checked by any developer, so instead go and submit an issue in the Fabric issue backlog.

The `main` branch contains only the generation of documentation files logic so any changes there need to be done very careful and with the according approval of repo maintainers. In case you consider that your changes will improve in any way the generation logic [here](dev-docs/CONTRIBUTING.md) is some helpful tips on how to setup the working environment.
114 changes: 114 additions & 0 deletions config/azure-pipelines/update-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
pool:
name: '1ES-Host-Ubuntu'


schedules:
# minute 0, hour 15 in UTC (8am in UTC+7), any day of month, any month, days 1-5 of week (M-F)
# https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?tabs=yaml&view=azure-devops#supported-cron-syntax
- cron: '0 15 * * 1-5'
displayName: 'Daily release (M-F at 8am)' # will be 7am when DST ends unless trigger is updated
branches:
include:
- main
always: true

steps:
- task: NodeTool@0
displayName: 'Use Node 10.x'
inputs:
versionSpec: '10.x'
checkLatest: true

- task: Npm@1
displayName: 'npm install'
inputs:
verbose: false

- task: Npm@1
displayName: 'npm install OUFR and @uifabric/fabric-website latest version'
inputs:
command: custom
verbose: false
customCommand: install --save-dev office-ui-fabric-react @uifabric/fabric-website

- task: Npm@1
displayName: 'npm install sdp converter tool'
inputs:
command: custom
verbose: false
customCommand: install --save-dev office2sdp

- task: Npm@1
displayName: 'npm run build'
inputs:
command: custom
verbose: false
customCommand: run build

# Extract office-ui-fabric-react package version and write it in a file
# so it can be used in the release pipeline to keep record of each update.
- script: >
node
lib/writeFabricVersion.js
$(Build.ArtifactStagingDirectory)/FABRIC_VERSION
displayName: Get OUFR Version

# Download all the api.json files that are uploaded to an azure blob storage
# every morning after a scheduled release pipeline.
- script: >
node
lib/downloadApiFiles.js
$(System.DefaultWorkingDirectory)/input
displayName: Download all api.json files

- script: >
node
lib/start.js
$(Build.ArtifactStagingDirectory)/example-and-overview-files
$(System.DefaultWorkingDirectory)/input
displayName: Generate examples/overview files and API Documenter Config

- script: >
node
node_modules/.bin/api-documenter
generate
--output-folder $(Build.ArtifactStagingDirectory)/doc-files/api
--input-folder $(System.DefaultWorkingDirectory)/input
displayName: Run API Documenter

# This script is a temporary workaround until we have a fix upstream in the api-documenter
- script: >
node
lib/modifyToc.js
$(Build.ArtifactStagingDirectory)/doc-files/api
displayName: Inject additional line in TOC.yml

- script: >
node
node_modules/.bin/sdp-cli
-s $(Build.ArtifactStagingDirectory)/doc-files/api
displayName: Run SDP converter

- task: CopyFiles@2
displayName: 'Copy example and overview files'
inputs:
SourceFolder: $(Build.ArtifactStagingDirectory)/example-and-overview-files
TargetFolder: $(Build.ArtifactStagingDirectory)/doc-files/api

- task: CopyFiles@2
displayName: 'Copy static doc data'
inputs:
SourceFolder: 'static-doc-data'
TargetFolder: $(Build.ArtifactStagingDirectory)/doc-files/

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: DOC-FILES'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/doc-files'
ArtifactName: DOC-FILES

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: FABRIC-VERSION'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/FABRIC_VERSION'
ArtifactName: FABRIC_VERSION
58 changes: 58 additions & 0 deletions dev-docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Contributing

In order to make changes to the files generation logic follow the steps bellow for your inner loop.

## Local development setup

1. Clone the repo using the following command.

```
git clone https://github.com/MicrosoftDocs/oufr-dev-docs.git
```

2. Install the main dependencies for the project to run.

```
npm install
```

3. Install the latest versions of `office-ui-fabric-react` and `@uifabric/fabric-website`.
Note: this are not part of main dependency install run because we want the latest versions in the pipeline to generate most up to date docs. ️️⚠️ DO NOT COMMIT the changes in this step done to `package.json` and `package-lock.json` files.

```
npm run install-deps
```

4. Run the initial build command which is necessary for the next step.

```
npm run build
```

5. Following step needs to be run only once when starting local developer work. This will download all `api.json` files and save them in the `input` folder that is not tracked by git so it does not need to be committed during development.

```
npm run download-api-files
```

## Local development flow

1. After running the steps above you are ready to go and make changes in the business logic and run only one command (with one exception described below) every time when you want to verify your changes:

```
npm run local
```

**_Exception:_** in case you make changes to the logic of downloading the `api.json` files located [here](https://github.com/MicrosoftDocs/oufr-dev-docs/blob/master/src/downloadApiFiles.ts) you will need to rerun steps 4 and 5 from the setup above and then `npm run local`.

This command runs under the hood several other scripts so you might see some output in the console from different scripts being invoked.

The end result of it will be tge documentation files outputted in the `office-ui-fabric-react` folder that relates to documentation itself and in the `config` folder that relates to the `api-documenter` config file.

❕**NOTE:** files generated are git ignored, so in order to be able to verify the changes to documentation files or the `api-documenter` config file that would result from your logic changes, you would need to comment out related lines in the `.gitignore` file before your changes and make the first run after which you should temporarily commit the generated files, ❗️❗️❗️ BUT ❗️❗️❗️ very important to remember to remove them along with un-commenting the `.gitignore` changes before pushing it to the remote. After the first run and committing the generated files, any subsequent run after any of your logic changes will be reflected in the git diff.

2. When you feel like your changes are good to be pushed to the remote repository, please don't forget to remove the generated files and revert the changes in the `.gitignore` file described in the `NOTE` paragraph above.

After doing that, you can push changes to the master and you will be able to see the [pipeline](https://uifabric.visualstudio.com/fabricpublic/_build?definitionId=107) described [here](PIPELINE_FLOW.md) triggered and after a successful [release](https://uifabric.visualstudio.com/fabricpublic/_release?_a=releases&view=mine&definitionId=1) deployment, a DocFX publish build will be triggered that can be accessed on their [portal](https://ops.microsoft.com/#/). To be able to access the `oufr-dev-docs` DocFX publish results you most likely will need to sign in with your Github account and also be added as a contributor or repository owner to this repository. It's an important part in verifying if your changes are validated against their strict formatting of yaml and markdown files that are published.

To verify your changes on the `docs.microsoft` portal you can navigate to the published `staging` branch following [this link](https://review.docs.microsoft.com/en-us/javascript/api/getstarted/getstartedpage?view=office-ui-fabric-react-latest&branch=staging) right after the DocFX publish build has successfully finished. This branch is available to Microsoft employees only and is not going to the `live` branch that is publicly available until next morning after a scheduled run. So make sure at the end of the day you have something that can be published and it looks nice 😊.
44 changes: 44 additions & 0 deletions dev-docs/PIPELINE_FLOW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Pipeline flow

The flow of auto updating the documentation consists of 2 stages and is set to happen on a scheduled basis from Monday to Friday at 8:00am. Here is a detailed overview of how it happens along with a diagram for easy reference:

1. The build definition yaml file is located [here](https://github.com/MicrosoftDocs/oufr-dev-docs/blob/master/config/azure-pipelines/update-docs.yaml) and is basically the starting point of the automation pipeline (stage 1) that contains the schedule trigger and all necessary steps to generate the documentation files and publish them as an Azure build artifact. [Here](https://uifabric.visualstudio.com/fabricpublic/_build?definitionId=107) is where that build definition gets consumed and runs the automation. An overview of what happens during this build can be represented with these steps:

- First few tasks are just to setup the environment like:

1. `npm install`
2. `npm install --save-dev office-ui-fabric-react @uifabric/fabric-website` used to get some documentation that is published with these packages
3. `npm run build`

- Next task is simply extracting the version of the `office-ui-fabric-react` package and write it to a file that is going to be used later to help keep track of update history.

- We download all the `api.json` files that are uploaded to an Azure blob storage every time a release of the Fabric packages happen. These are the core files that the documentation gets generated from.

- Before generating the main yaml files that are outputted by the `api-ducumenter` in the next step we need to generate a config file for it that will represent the navigation structure on the left side that mirrors the one of the Fabric website. During this steps we also generate some overview and example files for each Fabric control and also the GetStartedPage and ResourcesPage. The gist of what happens during this step is:

1. Create the GetStartedPage and the ResourcesPage by glueing several markdown files for each from the fabric-website package that we installed during the setup step.
2. Create Overview markdown files for each fabric control that are again the result of glueing the Dos, Donts and Overview markdown files that we get from the office-ui-fabric-react package that we installed during the setup step.
3. Create some example files for each fabric control that are simply some iframe windows to the deploy links that are generated after each successful PR merge into Fabric repo.
4. Create the config file that is consumed by the `api-documenter` that will include the above mentioned created files and also provide a defined structure of how the API items should be filtered during the next step.

- Run the `api-documenter` now that we have teh `api.json` files and the config file ready. This will output to a specified directory all API yaml files plus a `toc.yml` file that is generated following the structure of the config file we provided.

- Next few steps are just gathering all the generated files and publish them as build artifacts that we will consume them in the next stage of the automation process.

2. The release pipeline is located [here](https://uifabric.visualstudio.com/fabricpublic/_release?_a=releases&view=mine&definitionId=1) and represents the `stage 2` that is nothing more than saving the new generated files in the first stage to the corresponding branches of the `oufr-dev-docs` repository. Here is what happens in parallel for the `staging` and `live` branches:

- Download the build artifacts from the first stage (once in the beginning).

- Delete the old documentation files from their final location (same for each branch).

- Copy the downloaded files into the location we cleaned up in the previous step (same for each branch).

- Add a new line in the `FABRIC-VERSION` file to mark the version of the office-ui-fabric-react package used in this run. This is done for history reasons plus to avoid an error in the next step when there are no changes to commit (same for each branch).

- Commit the changes (same for each branch).

- Push the changes to the remote repository (same for each branch).

## Pipeline Flow Diagram

![Pipeline flow diagram](PipelineFlowDiagram.png)
Binary file added dev-docs/PipelineFlowDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading