diff --git a/.github/workflows/update-md-date.yml b/.github/workflows/update-md-date.yml
index 96dc9d7..ac7a96d 100644
--- a/.github/workflows/update-md-date.yml
+++ b/.github/workflows/update-md-date.yml
@@ -7,6 +7,7 @@ on:
permissions:
contents: write
+ pull-requests: write
jobs:
update-date:
@@ -35,7 +36,12 @@ jobs:
run: python .github/workflows/update_date.py
- name: Commit changes
+ env:
+ TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
+ git fetch origin ${{ github.event.pull_request.head.ref }}
+ git pull --rebase origin ${{ github.event.pull_request.head.ref }} || echo "No rebase needed"
git add -A
git commit -m "Update last modified date in Markdown files" || echo "No changes to commit"
+ git remote set-url origin https://x-access-token:${TOKEN}@github.com/${{ github.repository }}
git push origin HEAD:${{ github.event.pull_request.head.ref }}
diff --git a/.github/workflows/use-visitor-counter.yml b/.github/workflows/use-visitor-counter.yml
new file mode 100644
index 0000000..4aa2c96
--- /dev/null
+++ b/.github/workflows/use-visitor-counter.yml
@@ -0,0 +1,94 @@
+name: Use Visitor Counter Logic
+
+on:
+ pull_request:
+ branches:
+ - main
+ schedule:
+ - cron: '0 0 * * *' # Runs daily at midnight
+ workflow_dispatch: # Allows manual triggering
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ update-visitor-count:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout current repository
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Shallow clone visitor counter logic
+ run: git clone --depth=1 https://github.com/brown9804/github-visitor-counter.git
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+
+ - name: Install dependencies for github-visitor-counter
+ run: |
+ cd github-visitor-counter
+ npm ci
+
+ - name: Run visitor counter logic (updates markdown badges and metrics.json)
+ run: node github-visitor-counter/update_repo_views_counter.js
+ env:
+ TRAFFIC_TOKEN: ${{ secrets.TRAFFIC_TOKEN }}
+ REPO: ${{ github.repository }}
+
+ - name: Move generated metrics.json to root
+ run: mv github-visitor-counter/metrics.json .
+
+ - name: List files for debugging
+ run: |
+ ls -l
+ ls -l github-visitor-counter
+
+ - name: Clean up visitor counter logic
+ run: rm -rf github-visitor-counter
+
+ - name: Configure Git author
+ run: |
+ git config --global user.name "github-actions[bot]"
+ git config --global user.email "github-actions[bot]@users.noreply.github.com"
+
+ - name: Commit and push changes (PR)
+ if: github.event_name == 'pull_request'
+ env:
+ TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ git fetch origin
+ git checkout -b ${{ github.event.pull_request.head.ref }} origin/${{ github.event.pull_request.head.ref }}
+ git add "*.md" metrics.json
+ git commit -m "Update visitor count" || echo "No changes to commit"
+ git remote set-url origin https://x-access-token:${TOKEN}@github.com/${{ github.repository }}
+ git pull --rebase origin ${{ github.event.pull_request.head.ref }} || echo "No rebase needed"
+ git push origin HEAD:${{ github.event.pull_request.head.ref }}
+
+ - name: Commit and push changes (non-PR)
+ if: github.event_name != 'pull_request'
+ env:
+ TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ git fetch origin
+ git checkout ${{ github.event.pull_request.head.ref }} || git checkout -b ${{ github.event.pull_request.head.ref }} origin/${{ github.event.pull_request.head.ref }}
+ git add "*.md" metrics.json
+ git commit -m "Update visitor count" || echo "No changes to commit"
+ git remote set-url origin https://x-access-token:${TOKEN}@github.com/${{ github.repository }}
+ git pull --rebase origin ${{ github.event.pull_request.head.ref }} || echo "No rebase needed"
+ git push origin HEAD:${{ github.event.pull_request.head.ref }}
+
+ - name: Create Pull Request (non-PR)
+ if: github.event_name != 'pull_request'
+ uses: peter-evans/create-pull-request@v6
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ branch: update-visitor-count
+ title: "Update visitor count"
+ body: "Automated update of visitor count"
+ base: main
diff --git a/0_Overview.md b/0_Overview.md
index 4ddb1b3..abb8c66 100644
--- a/0_Overview.md
+++ b/0_Overview.md
@@ -5,7 +5,7 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-01-29
+Last updated: 2025-07-16
------------------------------------------
@@ -102,10 +102,9 @@ Click here for more information about: [Z-Order & V-Order](https://github.com/Mi
Click here for more information about: [Shortcuts & Mirroring](https://github.com/MicrosoftCloudEssentials-LearningHub/Demos-ScenariosHub/blob/main/0_Azure/2_AzureAnalytics/0_Fabric/demos/17_Overview.md#shortcuts--mirroring)
-
-
-
+
-
Total Visitors
-

+

+
Refresh Date: 2025-07-16
+
diff --git a/AzurePortal/1_MedallionArch/README.md b/AzurePortal/1_MedallionArch/README.md
index 433cea3..a7b2f92 100644
--- a/AzurePortal/1_MedallionArch/README.md
+++ b/AzurePortal/1_MedallionArch/README.md
@@ -5,7 +5,7 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-02-21
+Last updated: 2025-07-16
------------------------------------------
@@ -297,7 +297,9 @@ https://github.com/user-attachments/assets/2a64762a-f120-4448-b0fb-7a49f4d1bedb
+
-
Total Visitors
-

+

+
Refresh Date: 2025-07-16
+
diff --git a/AzurePortal/1_MedallionArch/docs/README.md b/AzurePortal/1_MedallionArch/docs/README.md
index 2bb6504..eef1221 100644
--- a/AzurePortal/1_MedallionArch/docs/README.md
+++ b/AzurePortal/1_MedallionArch/docs/README.md
@@ -5,10 +5,17 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-01-29
+Last updated: 2025-07-16
------------------------------------------
> You can use the [drawio template](./FabricMedallionArch.drawio) as guidance to create your solution diagram.
+
+
+
+

+
Refresh Date: 2025-07-16
+
+
diff --git a/AzurePortal/2_AI_LLMs/README.md b/AzurePortal/2_AI_LLMs/README.md
index 9e04b94..8967712 100644
--- a/AzurePortal/2_AI_LLMs/README.md
+++ b/AzurePortal/2_AI_LLMs/README.md
@@ -5,7 +5,7 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-03-13
+Last updated: 2025-07-16
------------------------------------------
@@ -395,7 +395,9 @@ Make sure to replace `"your_openai_api_key"`, `"https://your_openai_api_base/"`,
pprint(dict(rm), indent=4)
```
+
-
Total Visitors
-

+

+
Refresh Date: 2025-07-16
+
diff --git a/AzurePortal/3_AISkills.md b/AzurePortal/3_AISkills.md
index 20cb23d..a2ac1f2 100644
--- a/AzurePortal/3_AISkills.md
+++ b/AzurePortal/3_AISkills.md
@@ -5,7 +5,7 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-03-13
+Last updated: 2025-07-16
----------
@@ -97,7 +97,9 @@ Key Features:
| Can you highlight any correlations between variables? |
|
| What are the outliers in this dataset? |
|
+
-
Total Visitors
-

+

+
Refresh Date: 2025-07-16
+
diff --git a/AzurePortal/4_CICD/0_deployment-pipelines/README.md b/AzurePortal/4_CICD/0_deployment-pipelines/README.md
index 0aa4378..180585a 100644
--- a/AzurePortal/4_CICD/0_deployment-pipelines/README.md
+++ b/AzurePortal/4_CICD/0_deployment-pipelines/README.md
@@ -5,7 +5,7 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-01-29
+Last updated: 2025-07-16
------------------------------------------
@@ -194,7 +194,9 @@ Steps to Set Up Incremental Refresh:
3. **Enable Incremental Refresh**: Right-click the query and select Incremental Refresh. Configure the settings, such as the DateTime column and the time range for data extraction.
4. **Publish the Dataflow**: Once configured, publish the dataflow. The dataflow will then automatically refresh the data incrementally based on the settings.
+
-
Total Visitors
-

+

+
Refresh Date: 2025-07-16
+
diff --git a/AzurePortal/4_CICD/0_deployment-pipelines/samples/README.md b/AzurePortal/4_CICD/0_deployment-pipelines/samples/README.md
index a6af5cc..7abe2d4 100644
--- a/AzurePortal/4_CICD/0_deployment-pipelines/samples/README.md
+++ b/AzurePortal/4_CICD/0_deployment-pipelines/samples/README.md
@@ -5,14 +5,16 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-01-29
+Last updated: 2025-07-16
------------------------------------------
> In this folder, you'll find some sample files that we'll be using throughout the demo.
> `These files will help us illustrate the process of creating a workspace, setting up a lakehouse, defining a dataset schema, generating reports with Copilot, creating a semantic model, and deploying through a pipeline`.
+
-
Total Visitors
-

+

+
Refresh Date: 2025-07-16
+
diff --git a/AzurePortal/4_CICD/1_github-integration.md b/AzurePortal/4_CICD/1_github-integration.md
index 9fd69f3..9c754d5 100644
--- a/AzurePortal/4_CICD/1_github-integration.md
+++ b/AzurePortal/4_CICD/1_github-integration.md
@@ -6,7 +6,7 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-02-21
+Last updated: 2025-07-16
----------
@@ -62,7 +62,9 @@ https://github.com/user-attachments/assets/64f099a1-b749-47a6-b723-fa1cb5c575a3
> Click here to read more about [considerations and limitations](https://learn.microsoft.com/en-us/fabric/cicd/git-integration/git-get-started?tabs=azure-devops%2CAzure%2Ccommit-to-git#considerations-and-limitations).
-
-
Total Visitors
-

+
+
+

+
Refresh Date: 2025-07-16
+
diff --git a/README.md b/README.md
index bc85ffe..cf4c702 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-02-21
+Last updated: 2025-07-16
------------------------------------------
@@ -62,7 +62,6 @@ This is an introductory workshop on Microsoft Fabric. Please follow as described
-
- [AI + LLMs](./AzurePortal/2_AI_LLMs/): Discover how artificial intelligence and large language models integrate with Fabric.
- [AI Skills](./AzurePortal/3_AISkills.md): Get insights on using AI skills within the platform.
- `CI/CD`: Learn about continuous integration and continuous deployment, including [deployment pipelines](./AzurePortal/4_CICD/0_deployment-pipelines/) and [GitHub integration](./AzurePortal/4_CICD/1_github-integration.md).
@@ -71,8 +70,9 @@ This is an introductory workshop on Microsoft Fabric. Please follow as described
-
+
-
Total Visitors
-

+

+
Refresh Date: 2025-07-16
+
diff --git a/Terraform/README.md b/Terraform/README.md
index aecc00c..a31bab3 100644
--- a/Terraform/README.md
+++ b/Terraform/README.md
@@ -5,7 +5,7 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-03-13
+Last updated: 2025-07-16
------------------------------------------
@@ -141,7 +141,9 @@ https://github.com/user-attachments/assets/1ab31707-6f4c-4ec7-9e92-5d5cc96ac5bb
+
-
Total Visitors
-

+

+
Refresh Date: 2025-07-16
+
diff --git a/Terraform/troubleshooting.md b/Terraform/troubleshooting.md
index bb76a6e..687daea 100644
--- a/Terraform/troubleshooting.md
+++ b/Terraform/troubleshooting.md
@@ -5,7 +5,7 @@ Costa Rica
[](https://github.com/)
[brown9804](https://github.com/brown9804)
-Last updated: 2025-01-29
+Last updated: 2025-07-16
------------------------------------------
@@ -174,7 +174,9 @@ Error: Failed to get existing workspaces: Error retrieving keys for Storage Acco
+
-
Total Visitors
-

+

+
Refresh Date: 2025-07-16
+
diff --git a/metrics.json b/metrics.json
new file mode 100644
index 0000000..8665541
--- /dev/null
+++ b/metrics.json
@@ -0,0 +1,37 @@
+[
+ {
+ "date": "2025-07-07",
+ "count": 330,
+ "uniques": 20
+ },
+ {
+ "date": "2025-07-08",
+ "count": 159,
+ "uniques": 6
+ },
+ {
+ "date": "2025-07-10",
+ "count": 482,
+ "uniques": 1
+ },
+ {
+ "date": "2025-07-11",
+ "count": 170,
+ "uniques": 4
+ },
+ {
+ "date": "2025-07-12",
+ "count": 7,
+ "uniques": 1
+ },
+ {
+ "date": "2025-07-14",
+ "count": 130,
+ "uniques": 2
+ },
+ {
+ "date": "2025-07-15",
+ "count": 2,
+ "uniques": 1
+ }
+]
\ No newline at end of file